Methodology

A constellation of earnings models.

Atlas forecasts forward earnings per share with a set of machine-learning models, one specialist per sector, and revises the estimate at every quarterly report. Each forecast carries an 80% range and a reliability grade. The system was evaluated across 28,000 company-years, audited for look-ahead bias, and benchmarked against the paid analyst consensus.

Image: Akira Fujii
≈$0.18
Mean EPS error at stage 3 on estimates graded reliable
112k
Walk-forward forecasts, across 28,000 company-years
0.72
Error relative to the paid analyst consensus (1.00 = tie)
2015–25
Walk-forward throughout, audited for look-ahead bias
01
The idea

A running estimate

A conventional earnings estimate is one call, made once, and left to age. Atlas treats it as a running quantity: an estimate is set before the fiscal year opens and revised at each quarterly report, so it always reflects the results filed to date.

Each revision is a separate model with its own cutoff. As reported quarters replace estimated ones, less of the year is left to predict and the error falls with it. By the third stage only the fourth quarter is unknown, and accuracy is at its highest.

Stage 0

Before the year

Set before the fiscal year opens, from reported history and the upstream models.

Stage 1

After Q1

One quarter reported, three estimated. The range narrows.

Stage 2

After Q2

Half the year is on file. Uncertainty falls again.

Stage 3

After Q3

Three quarters reported. Only the fourth is still an estimate.

02
The architecture

The constellation

Banks and operating companies report earnings on different bases, and a single model fitted across both is worse at each. Atlas is a set of sector specialists, each named after a star, with a router that assigns every company to one of them.

Each specialist is itself several models, reading a company from different angles and combined into one estimate. How they are combined is not published.

Router

Nexus

Assigns each company to the specialist fitted for its sector. No firm is scored by two models.

Operating

Sirius

The specialist for operating and industrial companies.

Banking

Antares

The specialist for banks and financials, which report on a different basis.

Real estate · planned

Rigel

Extends coverage to real estate. In development.

03
Confidence

Reliability, graded in advance

An estimate is only usable if its likely accuracy is known in advance. A second model grades each forecast before the result is filed, using only what was available at the time.

Grades are HIGH, MED or LOW. The low-confidence estimates are flagged and withheld rather than reported at a precision they do not have. The actionable share rises as the year files, from about 69% before it opens to 85% after the third quarter.

The 80% range is held to the same standard. A stated range is only worth quoting if the reported figure lands inside it about 80% of the time, and out of sample it does.

HIGH

Rely on it

Narrow range, stable reporting history. The estimates worth acting on.

MED

Use with care

Usable, but the range is wide enough to matter to the conclusion.

LOW

Set aside

Too uncertain to publish as a point estimate. Flagged and withheld.

Reliability mix by stage (% of companies)
0 25 50 75 100 69% Q0 73% Q1 77% Q2 85% Q3
HIGH MED LOW label = actionable (MED+HIGH) share

Source: AtlasEQ models

Realised coverage of the 80% range
70 75 80 85 90 nominal 80% Q0Q1Q2Q3
Operating Banking axis 70–90% · nominal 80%

Source: AtlasEQ models

04
Track record

The error falls each quarter

Across 28,000 company-years from 2015 to 2025, the forecast beats a carry-forward baseline at every stage, and the margin widens as the year files.

Mean absolute error falls from $2.09 before the year opens to $0.59 after the third quarter. On the estimates graded reliable it reaches about $0.18, and on HIGH alone about $0.12. Operating companies drive that figure: their reliable stage-3 error is about $0.12, against roughly $0.43 for banks, whose earnings are harder to pin down. Fit follows the same path, reaching an R-squared of 0.78 across the whole universe at the third stage and roughly 0.98 on the reliable subset.

The chart on the right compares the same forecast with the paid sell-side consensus. That test is smaller and stricter: 21,209 company-years across 2,269 firms, limited to companies the analysts cover, and scored against the GAAP-basis consensus so both sides target the same definition of profit.

All firms Reliable (MED+HIGH) HIGH only Naive baseline
Average error by stage ($)
0.0 0.5 1.0 1.5 2.0 2.5 0.590.180.12 naive 2.55 Q0Q1Q2Q3
Error relative to the analyst consensus
0.00 0.25 0.50 0.75 1.00 0.930.830.660.35 consensus 1.00 Q0Q1Q2Q3

Legend applies to the left chart. Source: AtlasEQ models

The model is closer to the reported number than the paid consensus at every stage, and the margin widens as quarters report: 7% closer before the year begins, 34% closer after two quarters, and 65% closer after three. Across all stages its error is 0.72 times the consensus error.

Realised coverage of the 80% range is 80.2% overall, 80.7% for operating and 78.6% for banking. On target, with banking marginally tight.

05
In practice

Real companies

The figures above are aggregates. Below are individual companies. Every point is a walk-forward call, so no forecast for a year saw any data from that year. Each strip is one fiscal year and the four points are the four stages.

The first panel is companies the model tracked closely over four years, which is the system at its best rather than its average. The second is selected on name recognition alone. Typical accuracy is the aggregate above.

Tracked consistently · forecast by quarter vs. reported actual · FY2022–FY2025
ESQ Banking 6.564.201.84 FY22 FY23 FY24 FY25
FMNB Banking 2.731.660.59 FY22 FY23 FY24 FY25
NABL Operating 0.590.16-0.26 FY22 FY23 FY24 FY25
CURLF Operating 0.19-0.26-0.70 FY22 FY23 FY24 FY25
Operating forecast Banking forecast 80% range Reported actual each strip = one fiscal year (Q0–Q3)

Source: AtlasEQ models

The same holds on widely followed names: large companies over their last two fiscal years, selected by recognition rather than by score.

Familiar names · forecast by quarter vs. reported actual · FY2024–FY2025
BAC Banking 4.203.091.98 FY24 FY25
SCHW Banking 4.883.271.66 FY24 FY25
NFLX Operating 3.072.111.16 FY24 FY25
LRCX Operating 4.313.101.88 FY24 FY25
TJX Operating 5.104.233.35 FY24 FY25
BSX Operating 2.451.420.39 FY24 FY25

Source: AtlasEQ models

Three months before the books close, the stage-3 estimate generally lands on the reported figure, and often well away from the prior year. Across these names the median absolute miss is about $0.11, and all but one were graded HIGH before the year opened.

Prior-year EPS · stage-3 forecast (80% range) · actual · FY2024–FY2025
SCHW Banking 5.593.681.78 FY24 FY25
LRCX Operating 4.753.542.34 FY24 FY25
BAC Banking 4.283.392.49 FY24 FY25
NFLX Operating 3.041.900.76 FY24 FY25
TJX Operating 5.304.423.53 FY24 FY25
BSX Operating 2.281.520.76 FY24 FY25
Prior year Forecast 80% range Actual

Source: AtlasEQ models

06
Validation

How the results were checked

A model whose error falls as the year reports is exactly the kind that should be suspected of having seen the answer. What follows is the evidence against that, together with the conditions under which the model loses.

Walk-forward

Scored out of sample.

Every prediction uses only data dated before its cutoff. No model trains on the year it forecasts.

Leakage-audited

Audited for look-ahead.

Three look-ahead defects were found and fixed before these results were produced, and the hyperparameters were re-selected point-in-time to confirm the conclusions do not depend on them.

Point-in-time

Inputs as they stood.

Every input is rebuilt from the data public at the cutoff, then compared with the value the model was fed.

The model does not win everywhere. Before the year starts, on the largest earners, the paid consensus is still closer: analysts have guidance and management access that the model does not. By the third quarter that advantage is gone in every size band.

Nor is it unbiased. Across the matched sample it forecasts below the reported number by about 5% of prior-year EPS, worst before the year starts and close to zero by the third quarter. The consensus leans the other way and much harder, about 13% high on average and 19% before the year begins, the long-documented sell-side tilt.

Error vs. consensus, by earnings size
Q0Q1Q2Q3 under $0.72 0.69 0.66 0.55 0.31 $0.72–1.47 0.93 0.85 0.68 0.39 $1.47–2.37 1.08 0.92 0.71 0.35 $2.37–3.86 1.18 0.94 0.71 0.35 over $3.86 1.18 0.95 0.70 0.35
Atlas closer Consensus closer rows = EPS quintiles of the sample · above 1.00, the consensus is closer

Source: AtlasEQ models

Signed error by stage (% of prior-year EPS)
-10 -5 0 +5 +10 +15 +20 -8.6+18.7-4.9+13.6-3.1+11.8-1.7+8.3 Q0Q1Q2Q3
Atlas, too low Consensus, too high 0 = unbiased

Source: AtlasEQ models

That bias is a level effect rather than shrinkage. Regressing the reported change in earnings on the predicted change gives a slope of 0.95, 1.00, 1.02 and 1.00 across the four stages, so the model is calling the full size of the move rather than hedging toward the prior year.

Those are checks on the output. On the input side, every feature was rebuilt from the data public at each cutoff and compared with the value the model was actually fed. A point on the diagonal was computable in advance; mass off the diagonal would be leakage. The stage contract and target isolation match exactly, the peer-rank scatter is symmetric noise from differing peer-set definitions rather than a one-sided tilt, and the macro join lands on the prior-quarter reading.

Reconstruction parity · shipped value vs. value rebuilt from public-at-cutoff data
YTD EPS contract 100% match -8 0 8 shipped
Peer rank in industry r = 0.92, symmetric 0.0 0.5 1.0 shipped
Macro join 99% on diagonal 53 81 110 shipped
x = value shipped to the model · y = value rebuilt from data public at the cutoff · dashed = the diagonal (computable from the past)

Source: AtlasEQ models

Scope

Where it stands

A first version is already running in the product: forward earnings estimates are live in the earnings view for roughly 3,500 companies, and they will be revised as the models are retrained. Coverage extends next to insurance and then real estate, and after that to more markets, starting with Korea and Europe, all routed through the same Nexus. Independent peer verification of the results is under way in parallel. The figures on this page are preliminary and shown for illustration.

Talk with us
LiveEarnings view, about 3,500 companies
BuiltOperating (Sirius) and banking (Antares)
In reviewIndependent peer verification
NextInsurance, then real estate
LaterMore markets, from Korea and Europe