Earnings move database · Updated 2026-08-05

Methodology

Two expectations per row, four numbers, and every one of them easy to get subtly wrong. This page says exactly what each measures, what disqualifies a row, and what we do when a figure turns out to be wrong after publication.

The Unit: One Row Per Ticker Per Quarter

A row is a single earnings release for a single listed company. It carries the fiscal label the company itself uses, the release date, whether the release landed before the open, after the close or during the session, and the reaction session whose close measures the move. A row can never exist twice for the same ticker and quarter: a restatement is a revision on the existing row, not a second row.

A row is tracked on two independent axes and needs at least one of them. The move axis compares the options market’s expectation to the stock’s outcome; the guidance axis compares management’s expectation to the company’s outcome. Plenty of rows carry only one. A company nobody quoted a straddle for still publishes guidance, and a row may exist before its print is even scheduled, holding a range management has already promised for a quarter with no date attached.

The Implied Move

The implied move is what the options market was charging for the print, expressed as a percentage of spot, before the release. The standard is the at-the-money straddle on the first expiry after the report, quoted at the last close before the release. Every row records four things about that quote so it can be judged rather than trusted:

  • Kind. A clean earnings straddle, a strangle, a range quoted by a broker, or an implied volatility figure converted to a move. A weekly straddle that spans more than the print (an earnings report and a lock-up expiry in the same week, for instance) is labelled as such and never enters the strict subset.
  • When it was struck. The prior close is the standard. A quote taken intraday, an earlier session, or a week out is a different number, because implied volatility rises into a print. Rows carry which one, and anything other than the prior close is flagged.
  • The spot it was quoted against, wherever it was published, so the percentage can be converted back to a price.
  • Confidence. Where sources conflict on the implied itself, which happens more often than it should, the row carries a band and its midpoint, and low-confidence rows drop out of the strict subset.

A band is stored as a band. If the quote was “10 to 15%”, the row stores 10, 15 and the 12.5 midpoint, and the validator refuses to publish a point estimate that is not the midpoint of its own range. Picking the flattering end of a range is the easiest way to make a dataset like this say whatever you want.

The Realised Move

The realised move is the close-to-close percentage change over the reaction session: from the last close before the release to the close of the first full session after it. It is signed, so direction survives, and the ratio uses its absolute value.

Three things that are not the realised move, and are labelled differently when a row has to use one:

  • The extended-hours print. The move immediately after a release routinely differs from the close by several percentage points in both directions.
  • An intraday snapshot. A mid-morning read is not a session. This has caught us out in published articles more than once, which is part of why the database exists.
  • A multi-session move. A two-day unwind is a real fact about a stock and a useless one for scoring a straddle bought for one expiry.

Where the two closes are both published, the row stores them and the validator recomputes the percentage; a row whose percentage does not reconcile against its own closes fails the build. Where only a percentage is available from tier-1 reporting, the row is marked approximate and its ratio is read as indicative.

The Ratio

Ratio = absolute realised move / implied move. It is never stored, only recomputed from the two published figures, so it cannot drift away from them.

  • Above 1.00x: the stock moved further than the options priced. A buyer of the move was right, a premium seller was carried out.
  • Below 1.00x: the options overcharged, which is the textbook outcome and the reason the volatility risk premium exists.
  • The rolling ratio on each ticker page is the running mean of that name’s scored ratios, oldest first. It is the number worth having: whether this name tends to beat its own straddle is far more useful than any market-wide average.

A ratio is not a P&L. A straddle bought at the implied move roughly breaks even at a 1.00x outcome before costs, and real fills, spreads and post-print volatility collapse all sit between the ratio and the money. This database measures calibration, not returns.

The Guidance Axis

Every quarter, management publishes ranges it expects to land in, and every quarter the company prints a figure against them. That comparison is reconciliation check three from our own house rules, kept as a public dataset instead of a habit.

The unit is the metric, not the quarter. A company that guides revenue and gross margin and then hits one and misses the other has done two things, and averaging them into a single “hit” hides the half that moved the stock. Each guided metric carries its own range, its own printed figure, its own sources and its own verdict.

  • Above: the print came in past the top of the range.
  • Inside: the print landed within it. Boundaries count as inside. A company that guides $1.92bn to $1.95bn and prints $1.92bn hit its number, at the bottom of it, and the row says both.
  • Below: the company missed a number it wrote itself.
  • Outstanding: guidance is published and the quarter has not printed.

A point guide is stored as a range whose low and high are equal, so “45% Azure growth” and “$10.3bn to $10.8bn” live in the same shape without either pretending to a precision it does not have. Ranges expressed as a midpoint plus or minus a tolerance are converted to their endpoints and stored that way, because the endpoints are what the verdict tests.

A high clear rate is the expected result, not a compliment. Companies set guidance to be beaten. The informative figures are the two tails: the share landing above the top, which measures how much sandbagging is in the guide, and the count landing below, which is a company missing its own number.

Guide, Street, and Why They Are Not the Same Bar

Where the street estimate was recorded at the time, the row carries it beside the guided range, because the two bars regularly disagree and almost every headline reports only one.

When consensus sits above the top of a company’s own range, a print can clear the guide and still be written up as a miss. When it sits inside the range, as it usually does, the headline is close to pre-agreed before a share trades and beating it is worth very little. Rows flag both conditions, and the outstanding table flags them before the print rather than explaining them afterwards.

Guidance is scored against the range as published, not as later restated. A company that cuts its guide mid-quarter and then clears the cut number gets an inside verdict against the range in force, with the cut recorded as a revision. Judging a print against a range that no longer existed would be the more flattering choice and the less honest one.

Statuses, Including the Uncomfortable One

  • Scored. Both numbers are on the record, sourced, and reconciled. Only these rows enter any aggregate.
  • Awaiting the close. The implied is logged and the reaction session has not finished. Logging the expectation before the outcome is the whole point: a database that only ever adds rows after the fact can quietly drop the prints it got wrong.
  • Unresolved. The event has passed and one of the two numbers could not be verified. These rows stay visible with a note explaining what is missing. Deleting them would make the hit rate look better and the dataset worth less.
  • Not tracked. No implied move was ever quoted for this print. The row exists for its guidance, and may not be on the calendar yet.

Status describes the move axis only. The guidance axis resolves at the release itself, a day before the reaction session closes, so a row is routinely scored on guidance while its move is still awaiting a close. That is not an inconsistency, it is two clocks.

Verification, Per Row

Every figure runs the same four reconciliation checks the rest of this site uses before anything is published, and the validator enforces the mechanical half of them on every build:

  1. Scale. Does the move fit the name? A 30% session in a mega-cap needs a primary source, not an aggregator.
  2. Arithmetic. The two closes and the percentage must multiply out. Banded implieds must carry their own midpoint. Both are build failures, not warnings.
  3. Session. Every realised figure names what it measures, and an after-close release cannot react in the same session it was released in.
  4. Two sources, one primary or tier-1. Company releases, exchange data, Reuters, Bloomberg, CNBC, WSJ and FT establish a figure. Aggregators and content farms never do on their own.

The Strict Subset

Both axes report a narrower strict subset beside the full one. On the move axis it drops rows where the implied covered more than the print, where the realised is measured on a foreign local listing against a quote struck for a US listing, or where either figure carries low confidence. On the guidance axis it drops metrics with no primary or tier-1 source behind the printed figure, and any metric whose confidence is low. Today the move subset is 4 of 5 scored rows, at a median ratio of 2.09x against 1.82x for all of them.

The wider number leads deliberately, and the guidance axis is currently a live demonstration of why. Every metric that came in below its range happens to fall out of the strict subset, one for uncertainty about whether the guided and reported margin share a basis, the other because no primary source was indexed at entry. Quoting the strict guidance number alone would report a perfect clear rate produced entirely by the exclusion rules. A strict subset that a publisher gets to define is exactly the tool you would use to make a dataset flatter your own conclusion, so it is a cross-check and never the headline.

What This Sample Cannot Tell You Yet

Say it plainly: the database currently holds 37 rows across 32 tickers, of which 5 are scored on the move axis and 8 guided metrics are scored across 5 quarters. That has three consequences worth stating before anyone cites it:

  • Almost every ticker has one row, so most rolling ratios are a single observation wearing a moving-average hat. They become useful after several quarters, not before.
  • It is one reporting season, and a distinctive one: a market repricing AI capital spending, where a run of prints moved much further than they were priced to. The long-run academic result runs the other way, and both can be true.
  • Coverage follows what this site wrote about, which skews to large caps with a live story. It is not a random sample of the market, and it does not claim to be. The guidance axis is thinner still: only companies that publish quarterly numeric ranges appear, which excludes most of Europe and Asia and every company that guides qualitatively.

Corrections

Figures are corrected in place with an append-only revision entry recording the date, the field, the reason and the new source. Nothing is silently edited and no row is deleted for being embarrassing. If a row was wrong, the revision says so, and the ticker page shows it under the print it belongs to.

Spotted an error, or have a verified pair of closes for a row marked unresolved? The contact form reaches us.

Licence and Citation

The dataset is licensed CC BY 4.0. Use it commercially, chart it, redistribute it; just attribute it with a link. Machine-readable copies are at /data/earnings-moves.json and /data/earnings-moves.csv, generated from the same files these pages render from.

Earnings Expectations Database, Regards of Wallstreet, retrieved 2026-08-06, https://www.regardsofwallstreet.com/data/earnings-moves

Canonical: https://www.regardsofwallstreet.com/data/earnings-moves/methodology. This is a data project, not investment advice, and nothing here is a recommendation to trade options.