Methodology
Last updated: June 11, 2026
Every figure on Wall Street Friend is derived from historical data, not opinion. This page explains, in detail, where the data comes from, exactly how we measure the post-earnings price move, how we predict the next earnings date and assign a confidence level, how we handle instruments that do not report earnings, and the safeguards and limitations behind every number. We would rather be precise and honest than impressive.
Where the data comes from
We combine two independent public sources. We do not buy a proprietary earnings calendar — every prediction is computed from primary data.
Market & price data
Prices come from a market-data provider as daily bars (one open/high/low/close per trading session), sourced from the IEX feed rather than the full consolidated (SIP) tape. IEX is a single exchange that represents a slice of total U.S. volume, so for thinly traded names a daily close can differ slightly from the official consolidated close, and a few illiquid tickers may have sparse or missing bars. We use these bars as our authoritative end-of-day prices.
Filings & earnings signals — SEC EDGAR
Company filings and the earnings signal itself come from SEC EDGAR. We read EDGAR's daily filing index and look for Form 8-K filings carrying Item 2.02, "Results of Operations and Financial Condition." An 8-K Item 2.02 is the form a public company files when it announces quarterly results, so its filing date is a reliable, primary-source marker of when a company actually reported earnings. This is how we build the earnings history that everything else on the site is computed from — back to 2004.
Update cadence
Both sources are refreshed each evening after the U.S. market close. We pull the day's new daily bars from our market-data provider and the day's new 8-K Item 2.02 filings from EDGAR, recompute movement statistics for any company that reported, and re-run the earnings-date reconciliation described below. Because the cycle runs once per evening, anything that happens during the next trading day is not reflected until that evening's run.
How we measure the post-earnings move
The "movement %" for an earnings event is a close-to-close percent change measured around the report, using daily closing prices. The exact pair of closes we compare depends on whether the company reported before or after the bell:
- Post-market report (announced after the close): we compare the report-day close to the next session's close. The market only has its first full chance to react the following day, so that next close captures the move.
- Pre-market report (announced before the open): we compare the prior session's close to the report-day close. The reaction happens during that same trading day.
We use close-to-close (rather than, say, close-to-open) so that the figure reflects a full session of price discovery rather than just the opening gap. A positive number means the stock rose across the report; a negative number means it fell.
Aggregate statistics
- Average Absolute Movement — the mean of the absolute value of the close-to-close move across all of a stock's recorded earnings events. Taking the absolute value first means a +8% quarter and a −8% quarter both count as 8% of typical movement, instead of cancelling out to zero. This answers "how much does this stock usually move on earnings, regardless of direction?"
- Positive % — the share of a stock's recorded earnings events whose close-to-close move was non-negative (zero or greater). A Positive % near 50% means the stock has been roughly a coin flip on earnings direction; well above 50% means it has more often risen.
- "Beat/Miss" dots — each historical event is drawn as a colored dot keyed to the direction of that event's close-to-close move: green for a positive (up) reaction and red for a negative (down) reaction. The dots are a visual shorthand for the market's reaction, not a judgment of whether the company beat or missed an analyst estimate.
How we predict the next earnings date
Predictions use only a company's own history of past report dates — there is no analyst calendar involved. Most companies report on a stable quarterly rhythm, returning to roughly the same month-and-day each year, so we extrapolate that pattern forward.
Pattern extrapolation
We take the company's recent quarterly report dates (the 8-K Item 2.02 dates above), look at the month-and-day on which it has historically reported each fiscal quarter, and project the next occurrence of that pattern forward by roughly one quarter (about 90 days). This captures companies that consistently report in, say, the last week of January, April, July, and October.
Confidence levels
Confidence reflects how consistent the company's recent reporting intervals have been. We compute the standard deviation of the gaps between consecutive recent reports — a tighter cluster means a more trustworthy projection:
- HIGH — intervals are tightly clustered (very low standard deviation); the company reports like clockwork.
- MEDIUM — some variation, but the cadence is still reasonably regular.
- LOW — intervals are irregular enough that the date is a rough estimate.
- APPROXIMATE — too little or too inconsistent a history to do better than a ballpark; treat the date as a loose guess.
Daily reconciliation
A naive projected date would eventually fall into the past once the date arrives but our model still expects a report. To prevent that, every evening we run a reconciliation step: we check the day's new 8-K Item 2.02 filings to detect whether a company has actually reported. When it has, we record the real report and roll the prediction forward to the next expected quarter. The practical result is that a predicted date should never be a date that has already occurred — once a company reports, the displayed prediction advances to its next report.
Non-reporting instruments
Many tradable tickers are not operating companies and never file quarterly results. That includes ETFs, mutual/closed-end funds, warrants, units, rights, notes, and preferred shares. For these we show an honest "does not report quarterly earnings" treatment rather than inventing a date or a movement statistic. They are also excluded from rankings and earnings leaderboards, because comparing a fund against companies that actually report would be meaningless. The earnings analytics on the site apply only to instruments that genuinely file 8-K Item 2.02 results.
Data-quality safeguards
Primary data is messy, so we apply several cleanups before a number reaches a page:
- Split-distorted move filtering. A stock split recorded on the wrong day can masquerade as an enormous one-day move. We cap or exclude implausible readings (for example, single-event moves above ~100%) so a 2-for-1 split artifact doesn't pollute a stock's average absolute movement or its dot chart.
- De-duplication of 8-K filers. A company can file multiple 8-Ks in the same month, and an Item 2.02 can be amended or refiled. We de-duplicate so a single quarterly result is counted once, rather than inflating a company's reporting history with repeats.
- Timing and bar sanity checks. We guard against missing daily bars around a report and against obviously mismatched pre- vs. post-market timing before computing a close-to-close move.
- Non-reporter exclusion. As above, funds and non-operating instruments are filtered out of earnings statistics and rankings entirely.
Known limitations
We want you to know where these numbers can be wrong. Honestly:
- Predictions are estimates, not confirmations. Companies reschedule earnings, and our cadence model cannot see a change before it is announced. Always confirm the real date from the company's investor-relations page or its SEC filings before acting.
- Data can be delayed, incomplete, or erroneous. Source feeds have gaps and occasional mistakes; some extreme readings are data errors, not real moves.
- IEX coverage limits. Free-tier prices come from the IEX feed, a single venue, so closes for thin names can differ from the consolidated tape, and some illiquid tickers have sparse bars.
- Survivorship and coverage gaps. Delisted, merged, or renamed companies and recent IPOs may be missing or partial; not every ticker has a complete, clean history.
- Not adjusted for every corporate action. Spin-offs, special dividends, ticker changes, and unusual splits can distort a historical move even after our filters.
- Small-sample tickers. A stock with only a handful of recorded reports has noisy averages and a weak prediction; treat its statistics as directional at best.
- Past behavior does not predict the future. A historically calm stock can gap violently next quarter, and vice versa.
Coverage today spans roughly 4277 reporting stocks with earnings history back to 2004. Spot something wrong? Please contact us with corrections — we take data-quality reports seriously.