CAME: Company-Aware Evidence-Memory Experts for Interpretable Quarter-Ahead Revenue Forecasting
Organizations: National Yang Ming Chiao Tung University, Hsinchu, Taiwan
Abstract
Quarter-ahead revenue forecasting requires company-scale numerical accuracy, strict temporal validity, and company-specific interpretation of narrative disclosures. LLMs can distill textual evidence but can produce scale-misaligned forecasts, whereas history-based anchors are stable but miss forecast-time signals such as product transitions, supply constraints, and management guidance. We introduce CAME (Company-Aware Evidence-Memory Experts), a residual-forecasting framework that refines a no-leakage statistical anchor when current semantic evidence and prior error patterns justify an adjustment. On a development-inclusive rolling backtest of 336 company-quarters from 12 large public technology and platform firms, CAME achieves the lowest aggregate point-estimate error among the reported methods, with statistically supported macro-sMAPE gains over the matched Statistical Anchor, and outperforms History + Guidance on all six aggregate metrics. CAME also links adjustments to source-linked evidence cards and guarded memory traces, supporting forecast inspection, provenance, and failure localization.
Figures & tables
| Method | N | sMAPE | MAPE | MAE | RMSE | DA | |
|---|---|---|---|---|---|---|---|
| Adapted Text and Retrieval Baselines | |||||||
| Wide-context revenue | 336 | 0.071 0.031 | 0.072 0.034 | 3.04B 3.87B | 4.13B 5.41B | 0.876 0.136 | 79.3% 14.2% |
| CARAG-style retrieval | 336 | 0.083 0.036 | 0.086 0.044 | 2.98B 3.52B | 4.03B 4.89B | 0.837 0.176 | 81.2% 9.3% |
| Document-Only LLM Baselines | |||||||
| Transcript-only | 336 | 0.107 0.053 | 0.119 0.072 | 3.64B 3.83B | 5.17B 5.32B | 0.553 0.636 | 77.8% 11.1% |
| Filing-only | 336 | 0.212 0.072 | 0.313 0.170 | 9.12B 7.12B | 22.49B 20.14B | -15.015 29.041 | 64.8% 9.0% |
| Panel A. Company-equal metrics | ||||
|---|---|---|---|---|
| Guidance Slice | N | sMAPE | MAPE | |
| Explicit Numeric | 165 | |||
| Non-Explicit | 65 | |||
| No Guidance | 106 | |||
| Variant | Full | Held-out (96) | Explicit | Non-exp. | No-guid. | F.MAE | DA |
|---|---|---|---|---|---|---|---|
| CAME | 0.0593 | 0.0378 | 0.0369 | 0.0981 | 0.0857 | 1.81B | 84.0% |
| w/o CurrentEvidence+TemporalMemory | 0.0683 | 0.0519 | 0.0381 | 0.0994 | 0.1276 | 2.25B | 79.9% |
| w/o CurrentEvidence | 0.0671 | 0.0463 | 0.0375 | 0.1011 | 0.1267 | 2.16B | 79.9% |
| w/o TemporalMemory | 0.0659 | 0.0458 | 0.0380 | 0.0954 | 0.1246 | 2.10B | 80.6% |
| w/o AnchorMemory | 0.0654 | 0.0405 | 0.0370 | 0.0981 | 0.1379 | 1.98B | 81.8% |
| w/o ExplicitGuidance | 0.0616 | 0.0386 | 0.0408 | 0.0981 | 0.0857 | 2.00B | 82.7% |
Appendix figures & tables15 assets
Supplementary material from the paper’s appendix.
Appendix
| Evaluation set | Companies | Quarters | Role |
|---|---|---|---|
| Initial development period | AAPL, NVDA, AVGO | FY2019 Q1–FY2023 Q4 | initial method development |
| Initial-firm temporal held-out | AAPL, NVDA, AVGO | FY2024 Q1–FY2025 Q4 | temporal held-out evaluation |
| Company-held-out rolling backtest | nine additional firms | FY2019 Q1–FY2025 Q4 | company-held-out robustness evaluation |
| Company-held-out temporal subset | nine additional firms | FY2024 Q1–FY2025 Q4 | joint company/temporal held-out evaluation |
| Development-inclusive rolling backtest | all 12 firms | FY2019 Q1–FY2025 Q4 | development-inclusive aggregate evaluation |
| Surface | Method | sMAPE | MAPE | MAE pool | RMSE macro | DA | ||
|---|---|---|---|---|---|---|---|---|
| Development-inclusive rolling backtest | TimeGPT-1 | 336 | 0.097 | 0.097 | 2.94B | 3.75B | 0.842 | 71.0% |
| Chronos-Bolt Base | 336 | 0.096 | 0.095 | 2.95B | 3.73B | 0.843 | 69.1% | |
| Statistical Anchor | 336 | 0.070 | 0.067 | 2.25B | 2.96B | 0.903 | 74.4% | |
| History + Guidance | 336 | 0.066 | 0.063 | 2.07B | 2.75B | 0.906 | 81.2% | |
| CAME | 336 | 0.059 | 0.058 | 1.81B | 2.39B | 0.929 | 84.0% | |
| Temporal held-out | TimeGPT-1 | 96 | 0.096 | 0.092 | 3.57B | 4.26B | -0.042 | 76.2% |
| Model | sMAPE | MAPE | MAE pool | RMSE pool | DA | ||
|---|---|---|---|---|---|---|---|
| Proprietary reference | |||||||
| GPT-4.1-mini | 96 | 0.052072 | 0.050990 | 1.741B | 2.379B | 0.715 | 84.5% |
| Open-weight models | |||||||
| Mistral Small 3 (24B) | 96 | 0.050930 | 0.050471 | 1.771B | 2.547B | 0.529 | 91.7% |
| Llama 3.1 8B | 96 | 0.063200 | 0.064114 | 1.957B | 2.874B | 0.132 | 86.9% |
| Qwen2.5 14B | 96 | 0.061538 | 0.059264 | 2.722B | 4.735B | 0.562 | 84.5% |
| Candidate family | Examples |
|---|---|
| Recent-history rules | last-quarter naive; seasonal naive; moving average; drift |
| Classical time-series | ARIMA; ETS |
| Direct guidance anchors | Guidance midpoint; guidance-history blend; guidance affine calibration |
| Revenue-history plus guidance regressors | Linear; Ridge; Elastic Net; Random Forest; XGBoost; LightGBM |
| Time-series with guidance covariate | SARIMAX with guidance |
| Property | Value |
|---|---|
| Score metric | sMAPE |
| Lookback window for scoring | most recent 24 prior realized rows for the same company |
| Minimum prior history | 4 prior realized rows before history-based selection is used |
| Company | Rows | Guidance mix | Statistical Anchor | History + Guidance | CAME | vs anchor | vs LLM |
|---|---|---|---|---|---|---|---|
| AAPL | 28 | 6 / 14 / 8 | 0.071 / 5.99B | 0.079 / 6.77B | 0.057 / 4.97B | +0.014 | +0.022 |
| NVDA | 28 | 28 / 0 / 0 | 0.051 / 0.37B | 0.071 / 0.80B | 0.051 / 0.35B | +0.001 | +0.021 |
| AVGO | 28 | 19 / 0 / 9 | 0.048 / 0.37B | 0.028 / 0.26B | 0.033 / 0.27B | +0.016 | -0.005 |
| AMZN | 28 | 24 / 1 / 3 | 0.062 / 6.28B | 0.046 / 4.93B | 0.043 / 4.13B | +0.019 | +0.003 |
| ASML | 28 | 27 / 0 / 1 | 0.055 / 0.25B | 0.058 / 0.28B | 0.051 / 0.23B | +0.004 | +0.007 |
| GOOGL | 28 | 0 / 10 / 18 | 0.091 / 5.39B | 0.065 / 3.67B | 0.082 / 4.81B | +0.009 | -0.017 |
| Setting | Development-Inclusive (336) sMAPE | Temporal Held-Out (96) sMAPE | No-guidance sMAPE | Anchor–CAME (336) |
|---|---|---|---|---|
| CAME | 0.059253 | 0.037810 | 0.085681 | +0.010697 |
| or | 0.059253 | 0.037810 | 0.085681 | +0.010697 |
| or | 0.059253 | 0.037810 | 0.085681 | +0.010697 |
| 0.059320 | 0.038634 | 0.085910 | +0.010630 | |
| 0.059557 | 0.038423 | 0.085607 | +0.010393 | |
| 0.059180 | 0.037877 | 0.085624 | +0.010770 |
| Replicate | Strict Full | Broader Full | Full Difference | Strict Held-Out | Broader Held-Out | Held-Out Difference |
|---|---|---|---|---|---|---|
| 1 | 0.059686 | 0.059129 | -0.000557 | 0.038409 | 0.038580 | +0.000171 |
| 2 | 0.060097 | 0.059607 | -0.000490 | 0.038368 | 0.039171 | +0.000803 |
| Mean | 0.059892 | 0.059368 | -0.000524 | 0.038389 | 0.038876 | +0.000487 |
| Stress | Rate | Full | Held-out (96) | Held-out (96) Anchor–CAME | Guidance attenuation |
|---|---|---|---|---|---|
| Polarity flip | 5% | +0.000105 | +0.000341 | +0.009019 | 77.1% |
| Polarity flip | 10% | +0.000202 | +0.000500 | +0.008860 | 71.7% |
| Forward-card omission | 5% | -0.000048 | +0.000162 | +0.009198 | 69.5% |
| Forward-card omission | 10% | +0.000062 | +0.000401 | +0.008959 | 67.2% |
| False-positive horizon | 5% | -0.000007 | +0.000351 | +0.009009 | 65.1% |
| False-positive horizon | 10% | +0.000096 | +0.000209 | +0.009151 | 66.1% |
| Dimension | Primary-evaluator exact agreement | Cohen’s | Adjudicated result / system agreement |
|---|---|---|---|
| Source grounding | 88/120 (73.3%) | 0.282 | 102 full; 18 partial (overstatement, omitted qualification, or scope/subject mismatch) |
| Target-company revenue validity | 81/120 (67.5%) | 0.269 | 96/120 valid |
| Revenue direction | 64/120 (53.3%) | 0.356 | System polarity vs. consensus: 86/110 exact; 10 strict reversals; 14 mixed/one-sided mismatches; 10 non-evaluable (2 no-direction; 8 unclear) |
| Target-quarter support | 74/120 (61.7%) | 0.443 | 55 strict; 41 partial; 24 unsupported |
| Derived card validity | – | – | 49 strict; 84 partial-inclusive |
| Surface | Companies | Statistical Anchor sMAPE | CAME sMAPE | sMAPE | Macro 95% CI | |
|---|---|---|---|---|---|---|
| Development-inclusive rolling backtest | 336 | 12 | 0.069950 | 0.059253 | +0.010697 | [+0.007463, +0.014067] |
| Temporal held-out | 96 | 12 | 0.047171 | 0.037810 | +0.009360 | [+0.004235, +0.016219] |
| Company-held-out temporal subset | 72 | 9 | 0.046687 | 0.036616 | +0.010071 | [+0.003458, +0.018824] |
| Explicit Numeric Guidance | 165 | 8 | 0.041196 | 0.036894 | +0.004302 | [-0.001523, +0.009701] |
| Non-Explicit Guidance | 65 | 7 | 0.099437 | 0.098112 | +0.001324 | [-0.000721, +0.003305] |
| No Guidance | 106 | 11 | 0.144171 | 0.085681 | +0.058490 | [+0.023849, +0.111277] |