Model performance
Experimental · not investment adviceHow accurate FinSavoir's revenue forecasting models would have been, using only information that was public at the time, over the universe named below — and the forecasts FinSavoir has actually issued, which are scored separately once the companies report. Simulated results are never mixed with issued forecasts.
Backtest universe: tracked companies on this deployment (every company with a report, whatever its tier). 7 of 7 companies had data; 7 have scored forecasts. Data marker: 7 companies, newest observation 36,578. This is a bounded run over the companies this deployment tracks, not the S&P 500 and Nasdaq-100 sample the Phase 3 reports describe; read its figures as evidence about these companies only.
Live forecast results
Real forecasts issued by FinSavoirEvery forecast FinSavoir issues is recorded when it is issued and never edited. When the company files results for the forecast period, the forecast is compared with the revenue first reported, and later restatements are added separately. Only forecasts issued before the results were public are scored.
- Awaiting period end
- 479
- The forecast period has not finished.
- Awaiting results filing
- 3
- The period has ended; the company has not filed its results yet.
- Scored
- 0
- Compared with the revenue first reported in the company's filing.
- Cannot be scored
- 0
- For example the company changed reporting currency or stopped reporting.
482 forecasts issued for 26 companies since Sep 29, 2026; 474 are current and 8 were superseded by a newer forecast for the same period (kept, and scored, but counted once in accuracy figures).
No live results yet.
None of FinSavoir's issued forecasts can be scored yet: the first forecast period ends on Oct 25, 2026, and the earliest a company could file those results is around Nov 15, 2026. Until a live track record builds up, every forecast remains experimental. The historical backtests below are simulations and are not live accuracy.
Monitoring and status
- Issued
- 482
- Every forecast recorded, including superseded ones.
- Pending
- 482
- Waiting for the period to end or for the results filing.
- Scored
- 0
- Compared with first-reported revenue.
- Excluded
- 0
- Cannot be scored fairly; reasons are recorded.
- Failed jobs
- 0
- Forecast jobs that failed permanently (0 in the last 7 days).
Forecast processing: 27 of 27 companies are up to date with their latest data. Last processed Oct 12, 2026; monitoring last ran Oct 13, 2026.
Runs locally. SEC checks, scoring and monitoring run only while the FinSavoir services are running on this machine; nothing is checked while they are stopped, and missed work is picked up when they restart. Alerts appear only on this page — nothing is emailed or sent anywhere, and no model is changed or retrained automatically.
Two different dates: the period end is the last day of the quarter or year being forecast; the results date is when the company's filing with those results was published, usually weeks later. A forecast is scored only after the results date, and only if it was issued before it.
Live accuracy compared with the historical backtest
A comparison is shown only when at least 100 current forecasts from 30 companies across 2 reporting periods have been scored. Intervals resample whole companies, because one company's forecasts — and all forecasts for one reporting season — are correlated. The comparison uses the same model and horizon from the Phase 3b test period.
| Target | Model | Current | Scored | Live error (MASE, 95%) | Backtest MASE | Bias | 80% range coverage | Median delay |
|---|---|---|---|---|---|---|---|---|
| Annual · 1 yr | Damped trend | 25 | 0 | Insufficient live evidence0/100 scored · 0/30 companies · 0/2 periods. Backtest MASE for reference: — | — | |||
| Annual · 2 yr | Damped trend | 26 | 0 | Insufficient live evidence0/100 scored · 0/30 companies · 0/2 periods. Backtest MASE for reference: — | — | |||
| Annual · 1 yr | Straight-line trend | 25 | 0 | Insufficient live evidence0/100 scored · 0/30 companies · 0/2 periods. Backtest MASE for reference: — | — | |||
| Annual · 2 yr | Straight-line trend | 26 | 0 | Insufficient live evidence0/100 scored · 0/30 companies · 0/2 periods. Backtest MASE for reference: — | — | |||
| Annual · 1 yr | Average growth (drift) | 25 | 0 | Insufficient live evidence0/100 scored · 0/30 companies · 0/2 periods. Backtest MASE for reference: — | — | |||
| Annual · 2 yr | Average growth (drift) | 26 | 0 | Insufficient live evidence0/100 scored · 0/30 companies · 0/2 periods. Backtest MASE for reference: — | — | |||
| Annual · 1 yr | Same as last year | 25 | 0 | Insufficient live evidence0/100 scored · 0/30 companies · 0/2 periods. Backtest MASE for reference: — | — | |||
| Annual · 2 yr | Same as last year | 26 | 0 | Insufficient live evidence0/100 scored · 0/30 companies · 0/2 periods. Backtest MASE for reference: — | — | |||
| Annual · 1 yr | Damped recent growth | 25 | 0 | Insufficient live evidence0/100 scored · 0/30 companies · 0/2 periods. Backtest MASE for reference: — | — | |||
| Annual · 2 yr | Damped recent growth | 26 | 0 | Insufficient live evidence0/100 scored · 0/30 companies · 0/2 periods. Backtest MASE for reference: — | — | |||
| Quarterly · 1 qtr | Same as last quarter | 6 | 0 | Insufficient live evidence0/100 scored · 0/30 companies · 0/2 periods. Backtest MASE for reference: — | — | |||
| Quarterly · 2 qtr | Same as last quarter | 21 | 0 | Insufficient live evidence0/100 scored · 0/30 companies · 0/2 periods. Backtest MASE for reference: — | — | |||
| Quarterly · 3 qtr | Same as last quarter | 24 | 0 | Insufficient live evidence0/100 scored · 0/30 companies · 0/2 periods. Backtest MASE for reference: — | — | |||
| Quarterly · 4 qtr | Same as last quarter | 24 | 0 | Insufficient live evidence0/100 scored · 0/30 companies · 0/2 periods. Backtest MASE for reference: — | — | |||
| Quarterly · 1 qtr | Same quarter last year × trailing growth | 6 | 0 | Insufficient live evidence0/100 scored · 0/30 companies · 0/2 periods. Backtest MASE for reference: — | — | |||
| Quarterly · 2 qtr | Same quarter last year × trailing growth | 20 | 0 | Insufficient live evidence0/100 scored · 0/30 companies · 0/2 periods. Backtest MASE for reference: — | — | |||
| Quarterly · 3 qtr | Same quarter last year × trailing growth | 23 | 0 | Insufficient live evidence0/100 scored · 0/30 companies · 0/2 periods. Backtest MASE for reference: — | — | |||
| Quarterly · 4 qtr | Same quarter last year × trailing growth | 23 | 0 | Insufficient live evidence0/100 scored · 0/30 companies · 0/2 periods. Backtest MASE for reference: — | — | |||
| Quarterly · 1 qtr | Same quarter last year | 6 | 0 | Insufficient live evidence0/100 scored · 0/30 companies · 0/2 periods. Backtest MASE for reference: — | — | |||
| Quarterly · 2 qtr | Same quarter last year | 20 | 0 | Insufficient live evidence0/100 scored · 0/30 companies · 0/2 periods. Backtest MASE for reference: — | — | |||
| Quarterly · 3 qtr | Same quarter last year | 23 | 0 | Insufficient live evidence0/100 scored · 0/30 companies · 0/2 periods. Backtest MASE for reference: — | — | |||
| Quarterly · 4 qtr | Same quarter last year | 23 | 0 | Insufficient live evidence0/100 scored · 0/30 companies · 0/2 periods. Backtest MASE for reference: — | — | |||
Rules monitoring_rules_v1: alert if the live error's lower 95% bound exceeds 1.25× the backtest error; if average bias is at least ±0.5 and its interval excludes zero; or if 80% range coverage is confidently outside 70%–90%. Results are flagged as overdue 120 days (quarterly) or 150 days (annual) after the period end.
Alerts
No open alerts.
Historical backtests
Simulations — not live accuracyEverything below replays the past: forecasts are rebuilt from data that was public at each date and compared with what companies later reported. These simulations guided which models FinSavoir uses; they are not a track record.
GARCH volatility evaluations
Model estimates — not forecasts of pricesGARCH(1,1) one-step variance forecasts against a rolling 20-period variance baseline under a protocol fixed before any result was read (garch_eval_v1: expanding window, first fit on 500 observations, refit every 20, losses QLIKE and MSE, Diebold–Mariano test with a Newey–West variance, leakage test). A lower loss is better. The result is reported whichever way it goes; GARCH is not required to win.
10-year U.S. Treasury par yield, daily changes (U.S. Department of the Treasury)
garch11_v1 · garch_eval_v1 · evaluation 1 · run 2026-10-05Sample: 9,194 observations from 1990-01-03 to 2026-10-02; 8,694 one-step forecasts after the first 500; 435 refits, 0 not converged. Units: daily change in the par yield, decimal (0.0001 = 1 basis point); GARCH on changes, not levels.
| Metric | GARCH(1,1) | Rolling baseline |
|---|---|---|
| QLIKE (mean; lower is better) | -14.0210 | -13.9811 |
| MSE of the variance forecast | 4.749e-13 | 4.880e-13 |
| Share of periods with the lower QLIKE | 44.6% | 55.4% |
Diebold–Mariano t = -5.39 on the QLIKE difference: lower average loss for GARCH. GARCH wins on average but in fewer than half of the periods: its advantage comes from volatility bursts the rolling window under-forecasts. Evidence about this one series; not a claim about any other.
Company-linked evaluations across several companies need a historical-price source with display rights; none is configured, so only the Treasury series has been evaluated. The reason and the decision prepared for the owner are in the data-sources record. Volatility tool · Methodology
Options and Monte Carlo: numerical validation
Implementation checks — not predictive evidenceComputed by the deployed code on 2026-10-13 (quant_validation_v1, 0.47s). These checks show the implementation reproduces known identities and an independent reference; they say nothing about whether any model predicts markets.
- Black–Scholes–Merton against an independent reference (numerical quadrature of the lognormal payoff) over 4 cases: largest difference 4.8e-14.
- Put–call parity residual: 0.0e+0.
- Greeks against central differences: delta 0.636831 vs 0.636831; vega per point 0.375240 vs 0.375240.
- Implied volatility round trips over 12 cases: largest error 1.9e-6, 0 failures; a price below the no-arbitrage bound returns a reason, not a number.
- Monte Carlo (20 seeds × 100,000 paths, antithetic + control variate): the 95% interval covered the analytical price 7.1029 in 19 of 20 runs (about 19 expected); standard error 0.00819 vs 0.04153 without variance reduction, 0.00409 at 4× paths; same seed reproduces: yes.
| Steps | CRR European | Trinomial European | CRR American | Trinomial American |
|---|---|---|---|---|
| 50 | 5.533634 | 5.534443 | 6.073728 | 6.052437 |
| 200 | 5.563534 | 5.563792 | 6.086383 | 6.081046 |
| 1,000 | 5.571527 | 5.571581 | 6.089595 | 6.088507 |
| 5,000 | 5.573126 | 5.573137 | 6.090219 | 6.090004 |
Try the models: Options · Monte Carlo
Historical backtest (simulated): the original baselines (Phase 3a)
The first backtest compared only the two original baselines. It used revenue data before the v4 corrections (17 companies' revenue was fixed afterwards) and is kept for the record.
Did the trend beat “same as last year”?
1 year ahead
Not clearly. One year ahead, the difference in scaled error (0.57, 95% interval -0.17 to 1.34) is too uncertain to say either model is better. The trend was more accurate for 2 of 7 companies.
Based on 82 forecasts where both models could be computed · relative error (geometric mean across companies) 1.22.
2 years ahead
Not clearly. 2 years ahead, the difference in scaled error (0.00, 95% interval -0.93 to 0.84) is too uncertain to say either model is better. The trend was more accurate for 4 of 7 companies.
Based on 74 forecasts where both models could be computed · relative error (geometric mean across companies) 0.99.
Promotion rule: significantly lower MASE than naive_last_v1 in at least 2 of 3 evaluation periods (1-year horizon). Result: the straight-line trend was significantly better in 0 of 3 periods, so the reference model is Same as last year. Neither model is validated for decisions; both stay labelled experimental in reports.
Accuracy against first-reported revenue
Each forecast is compared with the revenue the company first reported for the target year. Errors are scaled by how much the company's revenue typically changes from one year to the next (MASE), so large and small companies count equally. A MASE of 1.0 means the forecast missed by about one typical year-to-year change.
| Same as last year | Straight-line trend | Trend vs naive | |||||||
|---|---|---|---|---|---|---|---|---|---|
| forecasts | MASE | median error | median bias | forecasts | MASE | median error | median bias | verdict | |
| 1 year ahead | 83 | 2.27 | 8.3% | −7.4% | 82 | 2.86 | 13.0% | −6.0% | unclear (+0.57) |
| 2 years ahead | 75 | 4.89 | 15.4% | −15.2% | 74 | 4.91 | 16.5% | −7.7% | unclear (+0.00) |
Against revenue as later restated, MASE is same as last year 2.26 (1 year) and 4.85 (2 years); straight-line trend 2.84 (1 year) and 4.89 (2 years). 21 of 158 scored target years (13.3%) were later restated by more than 0.05%.
By evaluation period
Forecasts grouped by the date they were made. 1-year horizon unless noted.
1 year ahead
| Same as last year | Straight-line trend | Trend vs naive | |||
|---|---|---|---|---|---|
| forecasts | MASE | forecasts | MASE | verdict | |
| 2009–2014 | 22 | 1.53 | 22 | 1.64 | unclear (+0.10) |
| 2015–2019 | 23 | 1.51 | 23 | 1.81 | unclear (+0.30) |
| 2020–present | 38 | 3.16 | 37 | 4.23 | unclear (+1.02) |
2 years ahead
| Same as last year | Straight-line trend | Trend vs naive | |||
|---|---|---|---|---|---|
| forecasts | MASE | forecasts | MASE | verdict | |
| 2009–2014 | 21 | 2.31 | 21 | 2.40 | unclear (+0.09) |
| 2015–2019 | 23 | 3.40 | 23 | 2.97 | unclear (−0.43) |
| 2020–present | 31 | 7.75 | 30 | 8.16 | unclear (+0.27) |
By sector (1 year ahead)
Sectors use the SEC industry classification (SIC division) of each company today.
| Same as last year | Straight-line trend | Trend vs naive | |||
|---|---|---|---|---|---|
| forecasts | MASE | forecasts | MASE | verdict | |
| Finance, insurance & real estate | 36 | 1.66 | 35 | 2.12 | unclear (+0.43) |
| Manufacturing | 32 | 3.22 | 32 | 4.19 | unclear (+0.97) |
| Retail trade | 15 | 1.69 | 15 | 1.74 | worse (+0.05) |
Error ranges
FinSavoir shows an error range next to a forecast only if a range calibrated on earlier years held up on later, separate years: 80% ranges are calibrated on outcomes that were public before Jan 1, 2020 and tested on forecasts made after it. The test must include enough forecasts and land within ±5 points of 80% coverage.
| Model | Horizon | Calibration forecasts | Test forecasts | Range (× forecast) | Test coverage | Shown? |
|---|---|---|---|---|---|---|
| Same as last year | 1 yr | 39 | 38 | 0.98–1.38 | 71.1% | No — needs ≥300 calibration and ≥150 evaluation outcomes |
| Same as last year | 2 yr | 33 | 31 | 0.97–1.67 | 67.7% | No — needs ≥300 calibration and ≥150 evaluation outcomes |
| Straight-line trend | 1 yr | 39 | 37 | 0.87–1.43 | 73.0% | No — needs ≥300 calibration and ≥150 evaluation outcomes |
| Straight-line trend | 2 yr | 33 | 30 | 0.80–1.76 | 73.3% | No — needs ≥300 calibration and ≥150 evaluation outcomes |
No range passed, so reports show no error range for either baseline.
By company (1 year ahead)
Average absolute error in each company's reporting currency, and the straight-line trend's error relative to “same as last year” on the same forecasts (below 1.00 means the trend was more accurate for that company).
7 companies · trend more accurate for 2 of 7
| Company | Sector | Forecasts | Made | Naive: avg error | Naive MASE | Trend ÷ naive error |
|---|---|---|---|---|---|---|
| Apple Inc. AAPL | Manufacturing | 16 | 2009–2024 | $28.0B | 1.47 | 0.89 |
| BANK OF MONTREAL /CAN/ BMO | Finance, insurance & real estate | 7 | 2018–2024 | C$2.69B | 1.78 | 0.67 |
| COSTCO WHOLESALE CORP /NEW COST | Retail trade | 15 | 2010–2024 | $13.2B | 1.69 | 1.17 |
| JPMORGAN CHASE & CO JPM | Finance, insurance & real estate | 16 | 2010–2025 | $6.27B | 1.03 | 2.38 |
| NVIDIA CORP NVDA | Manufacturing | 16 | 2010–2025 | $13.4B | 4.98 | 1.54 |
| REALTY INCOME CORP O | Finance, insurance & real estate | 8 | 2011–2025 | $562M | 3.20 | 1.13 |
| Reliance Global Group, Inc. EZRA | Finance, insurance & real estate | 5 | 2021–2025 | $2.9M | 1.05 | 1.41 |
Prediction ledger: forecasts FinSavoir has issued
Everything above is a simulation of the past. The ledger is different: each time new filings arrive, FinSavoir records its baseline forecasts with a timestamp, the exact inputs and the model version. Records can never be edited or deleted. When the company reports the target year, the actual value is added and the forecast is scored.
| Target | Model | Horizon | Forecasts issued | Companies | With interval | Scored | MASE (scored) |
|---|---|---|---|---|---|---|---|
| Annual | Damped trend | 1 yr | 25 | 25 | 0 | 0 | — |
| Annual | Damped trend | 2 yr | 27 | 26 | 0 | 0 | — |
| Annual | Straight-line trend | 1 yr | 25 | 25 | 0 | 0 | — |
| Annual | Straight-line trend | 2 yr | 27 | 26 | 0 | 0 | — |
| Annual | Average growth (drift) | 1 yr | 25 | 25 | 0 | 0 | — |
| Annual | Average growth (drift) | 2 yr | 27 | 26 | 0 | 0 | — |
| Annual | Same as last year | 1 yr | 25 | 25 | 0 | 0 | — |
| Annual | Same as last year | 2 yr | 27 | 26 | 0 | 0 | — |
| Annual | Damped recent growth | 1 yr | 25 | 25 | 0 | 0 | — |
| Annual | Damped recent growth | 2 yr | 27 | 26 | 0 | 0 | — |
| Quarterly | Same as last quarter | 1 qtr | 6 | 6 | 0 | 0 | — |
| Quarterly | Same as last quarter | 2 qtr | 22 | 21 | 0 | 0 | — |
| Quarterly | Same as last quarter | 3 qtr | 24 | 23 | 0 | 0 | — |
| Quarterly | Same as last quarter | 4 qtr | 24 | 23 | 0 | 0 | — |
| Quarterly | Same quarter last year × trailing growth | 1 qtr | 6 | 6 | 0 | 0 | — |
| Quarterly | Same quarter last year × trailing growth | 2 qtr | 21 | 20 | 0 | 0 | — |
| Quarterly | Same quarter last year × trailing growth | 3 qtr | 23 | 22 | 0 | 0 | — |
| Quarterly | Same quarter last year × trailing growth | 4 qtr | 23 | 22 | 0 | 0 | — |
| Quarterly | Same quarter last year | 1 qtr | 6 | 6 | 0 | 0 | — |
| Quarterly | Same quarter last year | 2 qtr | 21 | 20 | 0 | 0 | — |
| Quarterly | Same quarter last year | 3 qtr | 23 | 22 | 0 | 0 | — |
| Quarterly | Same quarter last year | 4 qtr | 23 | 22 | 0 | 0 | — |
None of the issued forecasts can be scored yet: the earliest target fiscal year ends around Sep 30, 2026, and FinSavoir scores a forecast only after the company files its annual report. 8 earlier forecasts have been superseded by newer ones for the same period and model; they are kept unchanged and will still be scored.
Limitations
- Survivorship bias. The companies are today's S&P 500 and Nasdaq-100 members, not the index members at each past date. Companies that shrank, were acquired or failed are missing, so results likely look better than a real-time universe would have.
- Short history. Machine-readable SEC data starts in 2009–2011, so early forecasts use only 3–5 years of history and each company contributes at most about 16 annual forecasts.
- Excluded companies. 0 of 7 companies have no usable annual revenue series in SEC data (new registrants, or revenue tagged in a way FinSavoir does not map) and are not scored. Forecasts whose target year is missing or whose fiscal calendar changed are excluded, not guessed.
- Pooled results. Scaled errors are averaged across very different companies; a model that is better on average can still be much worse for a particular company.
- These are mechanical extrapolations of reported revenue. They are not predictions of company performance or investment advice.
Backtest run 8209b736 · protocol revenue_fy_walkforward_v1 · normalization v8 · completed Oct 6, 2026. How the data is prepared: methodology.