Case file · runrate 0.1.0

Missing Twenty $MISS20

Late September

A lab's annualized revenue: near $70 billion

8 October

The same lab, to its investors: approaching $50 billion

$70B−$50B=$20Bmissing?

Nothing went missing. The yardstick changed. "Annualized revenue" is a recent stretch of sales multiplied up to a year, and two quiet choices decide the answer: which stretch, and whether sales made through partners count in full or only the company's share.

This page runs runrate 0.1.0, an open-source library: it annualizes a ledger ten ways with the formula behind each figure, reads the claims in a headline, and splits the gap between two claims into its parts. Nothing you type leaves your browser.

2

The ledger

Monthly revenue: direct sales, sales made through partners, and the share of partner sales the company keeps. Every sample is fictional; its numbers are made up to show the arithmetic.

AC

Monthly ledger
MonthDirectPartner salesKeptNetGrossNet and gross
Use your own ledger
3

Ten ways to say "annual revenue"

Five windows times two bases, all from the same ledger. Press a figure and the calculator prints how it was made.

AC
Annualized revenue by method and basis
WindowNet own share of partner salesGross all partner sales

The spread

Printing calculator

4

Read the headline

Paste a sentence with dollar figures. Each figure is read for what it is (a run rate, revenue that happened, a projection, a valuation...) and how it is hedged. Run-rate figures are then checked against the ledger.

AC
    The figures
    FigureWhat it isHedgeAllows
    5

    Where the twenty went

    A bridge from one figure to another. The gap splits into the part that comes from the basis (net or gross) and the part that comes from the window, and the two always add up.

    AC

    6

    Notes to the figures

    The paper behind the library, set out the way notes to a set of accounts are: numbered, dry and complete.

    AC

    Paper · October 2026 · runrate 0.1.0, MIT

    Same Revenue, Different Run Rates: A Transparent Calculator for Annualized Revenue Claims

    The runrate contributors. Every figure in these notes is computed by the library on this page.

    Abstract

    "Annualized revenue" is reported as if it were one number. It is a choice of window (a month, a quarter, a half-year, the best month, the trailing twelve months) and a choice of basis (whether sales made through partners count in full or only the share the company keeps). runrate computes all ten combinations from a monthly ledger with the formula behind each, reads revenue claims out of sentences, checks which combinations can produce a claim, and splits the gap between two claims into a basis effect and a window effect that add up exactly. On the fictional Harbor ledger the ten figures run from $29.7B to $68.4B. The claim reader gets 33 of 40 held-out sentences exactly right.

    Note 1

    Background

    On 8 October 2026, TechCrunch, citing the Financial Times, reported that OpenAI had told investors its annualized revenue was approaching $50 billion, about $20 billion below the roughly $70 billion reported a little over a week earlier [2]. Coverage that day explained the gap as a difference in counting: OpenAI counts only its share of sales made through cloud partners, while Anthropic counts those sales gross, and the $70 billion estimate came from investors "grossing up" OpenAI's figure to Anthropic's method to compare the two [3][4][5]. One accounting expert quoted that day explained that a company selling through a cloud provider may book the customer's full payment as revenue and the provider's cut as an expense, depending on who controls the customer relationship [5]. One report said AI infrastructure and chip stocks fell after the news, with Oracle down more than 5% that day [4].

    Not connected. runrate, this site and $MISS20 have no connection with OpenAI, Anthropic, any cloud partner or any news outlet, and none of them has seen these notes. runrate holds no company's real monthly figures. The Harbor ledger is invented: it shows that a gap of that size can come from the basis alone, not that it did.

    Note 2

    The ledger and the bases

    A ledger has one row per month: direct sales, partner sales and the share of partner sales the company keeps. Net revenue is direct sales plus that share; gross revenue is direct sales plus all partner sales. The gap between them in any month is the partner sales the company passes on: on Harbor in September, 80% of $2.2B.

    Note 3

    The windows

    Table 1. The five windows, on the Harbor ledger as of September 2026.
    WindowTakesNetGross

    On a business that grows, a short window runs ahead of the money collected over the year; on a seasonal one, the best month runs ahead of everything. Steady Ledger Co., with flat sales and no partners, gives the same figure ten times, within 2%.

    Note 4

    Reading a claim

    The reader finds each dollar figure and decides its kind from the words before it, then the words after it, then the figure before it in the same sentence ("nearing $60bn, up from $45bn"). Hedges come from the words right before the figure. A claim allows a range: a plain figure 95 to 105% (reported numbers are rounded), "about" 90 to 110%, "approaching" 90 to 100%, "over" 100 to 120%, "under" 80 to 100%.

    Note 5

    Reconciliation and the bridge

    A claim is matched by every window and basis whose figure falls in its range. For two claims, the simplest match of each is taken and the gap is split: the basis effect is the change from net to gross averaged over both windows, and the window effect is the change of window averaged over both bases. The two add up to the gap by construction; the tests check it for all 100 pairs on every sample. On Harbor, "approaching $50 billion" and "roughly $70 billion" are both last month x 12, net and gross, and the whole gap is basis.

    Note 6

    Evaluation

    Two sets of sentences, all about fictional companies. 90 development sentences, all read exactly: the rules were written against them. They include a first set of 40 that was written before the rules but then read by eye while the rules were drafted, so it is counted as development. A second set of 40 was written before scoring and never used to change the rules.

    Table 2. The held-out sentences, scored on this page.
    KindFiguresPrecisionRecall

    33 of 40 sentences read exactly; every amount right.

      Note 7

      Limitations

      The sentences are short and were written by the same people who wrote the rules, so news copy will do worse. Figures in words ("twenty billion"), other currencies, ranges ("$40-50 billion") and anything not in English are not read. The ledger arithmetic is exact, but it is only as good as the ledger, and the real monthly figures of a private company are exactly what outsiders do not have. A run rate is not revenue collected, and it says nothing about costs.

      Note 8

      Use

      Before comparing two annual figures, ask for the window and the basis of each. Use the table to see how far the choices can move a figure, the reader to sort the figures in a story before comparing them, and the bridge to say where a gap comes from. Do not treat any figure here as a fact about a real company.

      References
      1. runrate 0.1.0, the library on this page (MIT).
      2. L. Ropek, "OpenAI's revenue is reportedly $20 billion less than previously projected", TechCrunch, 8 October 2026. techcrunch.com
      3. A. Dufresne, "FT: OpenAI told investors annualized revenue was nearing $50B at end of September", AI Weekly, 8 October 2026. aiweekly.co
      4. D. Almada Lopez, "OpenAI's revenue run rate nears $50 billion, short of the numbers investors expected", Crypto Briefing, 8 October 2026. cryptobriefing.com
      5. M. Mills, "OpenAI annualized revenue $20 billion less than previously reported", Axios, 8 October 2026. axios.com
      7

      The folios

      runrate 0.1.0: one file, no dependencies, Node 18 and later and every modern browser. MIT licence. Every file of the repository is a folio, with its SHA-256.

      AC

      Downloads

      Quick start

      const R = require("./runrate.js");
      // in a browser: <script src="runrate.js">
      
      const L = R.parseLedger(csvText);
      R.annualize(L, { method: "month12", basis: "net" }).formula;
      // "2026-09: ($3.5B + 20% of $2.2B) x 12 = $47.3B"
      R.readClaims("ARR is approaching $50 billion");
      R.explain(L, "claim A", "claim B").words;
      node bin/runrate.js table --sample harbor
      node bin/runrate.js claims "approaching $50 billion"
      node bin/runrate.js explain ledger.csv "claim A" "claim B"
      npm test

      Index of folios

      FolioFileLinesSHA-256

      Chart of accounts: the API

        8

        Statement: $MISS20

        The coin on this case file. Live figures, the chart as Exhibit A, and the address to verify.

        AC

        Missing Twenty · statement of position

        Live figures
        Price—
        Market cap—
        Volume, 24 h—
        Liquidity—
        Change, 24 h—

        Figures are posted when they arrive.

        Contract address

        FZu9nxS72VUGqCzdezNbPNfbAduMpnoPfY3dUg8pump
        Supply
        1,000,000,000
        Tax
        0%
        Site
        v1.0
        Exhibit A
        The exhibit is entered when the chart arrives.
        $MISS20, 1-second candlesOpen the chart