Product Field Work All builds
BuildGrounded

Said vs. Filed

Public companies put out about 16,900 earnings releases a year, and the headline numbers mix official figures with adjusted ones. This build checks every headline claim against what the company filed with the SEC, and shows the receipt.

Said in the release

Filed with the SEC

The problem

An earnings release is written to be read, not audited. The headline might be GAAP net income, or it might be an adjusted number that leaves out charges the company would rather you skip. Analysts and data teams have to know which is which, for every figure, for every company, every quarter.

–earnings releases filed with the SEC in a year, counted from EDGAR ()
72%of S&P 500 companies reported adjusted earnings for fiscal 2025
$271Bmore in adjusted net income than GAAP net income, across those companies

Adjusted numbers aren’t wrong; they’re a choice. The risk is not knowing which one you’re looking at. A model built on an adjusted headline, mistaken for GAAP, can overstate earnings by a lot: in this sample, one company’s adjusted EPS was $0.77 while it filed a loss.

How I measure the problem
  1. Minutes to reconcile one release’s headline numbers by hand. An assumption you can change below
  2. Share of headline claims the code can tie to a filed number, to the rounding the company used
  3. Share that still needs a person, and whether the tool can say why
Why I chose it

It tests the most common promise in AI products, “grounded answers,” in a domain where grounded has a precise meaning: a number either matches the filing or it doesn’t. Every source is public, and every verdict can be checked by anyone with a browser.

The ideaPull each headline number out of the release, find the exact figure the company filed in XBRL, and let code, not a model, decide whether they match.

Sources: counts from EDGAR full-text search for 8-K Item 2.02; Calcbench and Suffolk University, July 2026.

30 companies’ latest earnings headlines, checked

Each tile is one headline claim. Pick one to see the sentence, the filed number and the verdict.

How far adjusted EPS sits from GAAP

Every adjusted EPS claim in the sample, next to the diluted EPS the company filed, largest gap first.

Filed GAAP EPSAdjusted EPS in the release

What the check is worth

Measured rates come from the board above. Public figures are linked; assumptions are yours to change.

–saved a year
–people’s time freed
–claims a year still go to a person, each with a reason

    From public data

    Median pay for financial and investment analysts, BLS, May 2025.

    Private industry, BLS ECEC, June 2026.

    Assumptions you can change

    No public benchmark exists for these. They are conservative starting points, not findings.

    What it means for the people

    Today
    Reconciling every headline by hand
    With the check
    Skimming verified releases
    Flagged claims
    Freed for studying the adjustments

    They start at the exceptionsInstead of reading every release top to bottom, analysts open the few claims the tool couldn’t tie to a filing, each with its reason attached.
    The adjustments become the workThe tool measures how far each adjusted figure sits from GAAP. Judging whether that gap is fair is where an analyst’s experience actually matters.
    Every number has a receiptEach verdict links to the release and the filing. When a portfolio manager asks “where’s that from,” the answer takes one click.
    What disappears, and what doesn’t

    Retyping and cross-checking headline figures that already match the filing goes away. Deciding whether an adjustment is reasonable, asking management about it on the call, and deciding what it means for the stock stay human.

    Check any company

    How it works

    ReleaseThe earnings release attached to the company’s 8-K.
    ExtractRules pull each headline number, its growth claim, and whether it’s labeled adjusted.
    Filed factsThe exact figures from the matching 10-Q, via SEC XBRL.
    VerdictCode compares within the company’s own rounding. Anything unclear goes to a person.

    Evidence

    –headline claims checked across companies’ latest checkable releases
    –tied to a filed number, either exactly or as a labeled adjustment with its gap measured
    –growth claims recomputed from filed numbers, and how many held
    Where it gets it wrong

    The rules take one number per sentence, so a headline that packs GAAP and adjusted net income together keeps only the first. Segment figures, like one division’s revenue, are sometimes caught only by a size check and sent to a person rather than recognized. And the two unlabeled differences on the board are almost certainly definitions, not errors: net sales versus total revenue, and a bank’s “managed” revenue. The tool can’t tell a definition from a mistake. That’s why it flags instead of accusing.

    Choices

    Filed XBRL over vector searchEmbeddings are built for meaning, not for $109,417,000,000. When the SEC already publishes the exact number, use it.
    Rules over an LLM for extraction, for nowEvery extracted number is reproducible and free. A model would catch more phrasing; the next step is to hand it only the sentences the rules skip, with code still checking every number.
    Flag, don’t accuseWhen a figure might be a segment or a different definition, the tool says so and sends it to a person instead of guessing.