Playbook › Playbook
roic.ai FCF field returns OCF with capex null
Claim
Observed on AMAT FY2025: the FCF field returned the OCF value with capex: null,
overstating FCF by $2.26B. The number is not flagged as incomplete — it reads as a
normal, plausible figure, which is what makes it dangerous.
Because §1 of the framework opens with FCF and its 5–8yr CAGR, a bad FCF value propagates into the CAGR, the payout ratio, the P/FCF, and the final verdict. This is the single most load-bearing number in the analysis.
✅ Confirmed systematic — Micron, 2026-08-04
The re-test this note called for was run during /analyze MU. It confirms the systematic
hypothesis and shows the magnitude can be far larger than AMAT's:
| Fiscal year | cf_cash_from_oper |
cf_free_cash_flow |
cf_cap_expenditures |
True FCF | Overstatement |
|---|---|---|---|---|---|
| MU FY2025 (Aug) | $17,525M | $17,525M | null |
$1,665M | 10.5× |
| MU FY2024 (Aug) | $8,507M | $8,507M | null |
$121M | 70× |
The error propagates into the derived fields, which is new information beyond the original AMAT finding:
| roic.ai derived field | Reported (MU FY2025) | Correct |
|---|---|---|
free_cash_flow_per_sh |
$15.70 | $1.49 |
pr_to_free_cash_flow |
7.6× | ~80× |
A 7.6× price-to-FCF makes Micron look like a deep-value name; the true figure was ~80×. This single field is capable of inverting a verdict.
The error is correlated with the cases that depend on it. The names where capex is large enough to make FCF decisive — semis, memory, telcos, utilities, REITs, anything with a fab or a network — are exactly the names where an unsubtracted capex line does the most damage. It is not random.
Guard
- Before using any roic.ai FCF figure, read
cf_cap_expenditures. If null, discardcf_free_cash_flow,free_cash_flow_per_shandpr_to_free_cash_flowentirely. - Fall back to
.mcp/fin.py(Yahoo cash-flow statement), which reports OCF, capex and FCF as three separate lines and reconciles to the filing. - Cross-check against stockanalysis.com or the 10-K when the verdict depends on it.
- Businessquant is also unreliable here — it reported MU FY2023 FCF as +$1.39B against an actual −$6.12B, wrong by sign in the worst year of the cycle.
What would falsify this
Two tickers in two sectors now show the identical pattern, so the "AMAT-specific ingest
failure" hypothesis is dead — hence slow → static and the upgrade of the claim.
Falsification would now require roic.ai populating capex and correcting the derived fields.
Related
[[pitfall-yahoo-misclassifies-strategic-investment-gains]] — same lesson, different vendor. Cross-validate any single-vendor figure that carries the verdict.
History
- 2026-07-29 — found during AMAT analysis; caught only because the FCF figure disagreed with the Yahoo-derived one by suspiciously exactly the capex line.
- 2026-08-04 — re-tested on MU during
/analyzeand CONFIRMED SYSTEMATIC. Second ticker, second sector, same mechanism, overstatements of 10.5× and 70×. Also newly established that the error propagates intofree_cash_flow_per_shandpr_to_free_cash_flow. Upgradeddecay: slow → static, claim rewritten,as-ofmoved to 2026-08-04. (A duplicate note,pitfall-roicai-fcf-equals-ocf-when-capex-null, was created in error during the same run and deleted on discovery — this file is the single record.)