Worked theses
Kraft Heinz: the gross line held
A worked example on Kraft Heinz. The operating margin swung 61.94 points across eleven filed years while the gross margin moved inside 5.05 of them.
By Javier SanzPublished
Founder of ValueScreener. Built Ninety Nine, a securities services provider, and sold it to a tier-one global bank; ran operations and internationalization at Alpaca, the brokerage API.
Who writes thisEditorial processLinkedIn (opens in a new tab)X (opens in a new tab)
A worked example. One company, the accounts it filed, and the method run on them in the open. The figures are the company’s own and each one names the filing it came from. The reading and the conditions are written as a reader might write them, and are not a view on the security, a valuation, or a suggestion to do anything.
One company, its own filed accounts, and the method run on them in the open. This one is in the set because it is the clearest filed case of two figures that look like the same fact and are not, and of a reader's choice between them deciding what they get told.
Nothing below is a view on Kraft Heinz. The conditions in the third section belong to a hypothetical reader, not to ValueScreener.
The filed figures
Eleven fiscal years of Kraft Heinz 10-K filings are on record here, FY2014 and then FY2016 to FY2025. FY2015 is absent from the archive and is shown as absent. The FY2014 row comes from the comparatives inside the FY2016 10-K, which is why the two carry one filing date and one accession number between them, 0001637459-17-000007.
| Fiscal year and filing date | Gross margin | Operating margin | Net margin | Free cash flow | Current ratio |
|---|---|---|---|---|---|
| FY2014, filed 2017-02-23 | 30.00 | 14.36 | 6.02 | 1.74 | 1.59 |
| FY2016, filed 2017-02-23 | 34.53 | 21.15 | 13.58 | 1.40 | 0.92 |
| FY2017, filed 2018-02-16 | 34.44 | 23.09 | 41.71 | -0.69 | 0.71 |
| FY2018, filed 2019-06-07 | 33.96 | -38.85 | -38.80 | 1.75 | 1.21 |
| FY2019, filed 2020-02-14 | 32.62 | 12.29 | 7.75 | 2.78 | 1.03 |
| FY2020, filed 2021-02-17 | 35.05 | 8.13 | 1.36 | 4.33 | 1.34 |
| FY2021, filed 2022-02-17 | 33.34 | 13.29 | 3.89 | 4.46 | 0.99 |
| FY2022, filed 2023-02-16 | 30.67 | 13.72 | 8.92 | 1.55 | 0.87 |
| FY2023, filed 2024-02-15 | 33.51 | 17.16 | 10.72 | 2.96 | 0.99 |
| FY2024, filed 2025-02-13 | 34.70 | 6.51 | 10.62 | 3.16 | 1.06 |
| FY2025, filed 2026-02-12 | 33.31 | -18.72 | -23.44 | 3.66 | 1.15 |
Margins in percent, free cash flow in billions of US dollars. Read from
GET /api/public/retrotest on 2026-09-16.
The pair this page turns on, from the most recent 10-K: gross margin
33.31 percent (FY2025 10-K, filed 2026-02-12 (opens in a new tab))and operating margin -18.72 percent (FY2025 10-K, filed 2026-02-12 (opens in a new tab)).
One more figure is in the filed record without being in any statement. The FY2018 10-K was filed on 2019-06-07. Every other filing in this table landed in February. That one arrived 111 days after the same date in the previous year, and it carried the largest negative operating margin in the record.
What they say
Across eleven filed years the operating margin ran from -38.85 to 23.09, a spread of 61.94 points. Across the same eleven the gross margin ran from 30.00 to 35.05, a spread of 5.05.
In the two years the operating margin was negative, the gross margin was 33.96 and 33.31. The eleven-year median gross margin is 33.51, so both of those years sat within half a point of the middle of the range. Whatever produced a -38.85 and a -18.72 did not touch the line above it.
The cash statement says the same thing from the other side. In FY2018, the year of the largest negative operating margin in the record, free cash flow was 1.75bn, positive and higher than the 0.69bn outflow of the year before. In FY2025, the second negative year, free cash flow was 3.66bn, the highest of the last four filings.
So there are two different facts in this table wearing similar names. One is what the company gets for its products over what they cost to make, and it has moved inside five points for eleven years. The other is that figure after charges which, on this evidence, arrive in some years and not others and do not pass through the cash statement when they do.
The reading a reader might arrive at: the operating line here is periodically re-marked, the gross line and the cash line are not, and a reading of this company has to say which of the three it rests on.
What the market pays is a separate question from what the company filed, and
it belongs in a separate sentence with a date on it. Read on 2026-09-16,
GET /api/public/companies prints a price to book of 0.70 for this company
and withholds its P/E entirely, marked not meaningful, because the last filed
year's earnings were negative. The Consumer Defensive cohort has a 25th
percentile price to book of 1.04 and a median of 2.17 across 132 companies,
from GET /api/public/distribution/pb with an as-of of 2026-09-15. This page
does not say whether 0.70 is cheap. It says which filed figure a reader would
have to be right about for that question to have an answer.
The guardrails a reader would write
gross_margin gte 30. False in 0 of the 11 filed years. The lowest figure
in the record is FY2014 at exactly 30.00.
gross_margin gt 30. False in 1 of 11, FY2014. Same figure, same eleven
years, one character of difference in the condition, and a different answer.
This is not a trick: FY2014 is exactly on the line, gte holds there and gt
does not, and a reader who wants the line itself to count has to say so. The
product stores the condition rather than a direction, for exactly this reason.
operating_margin gte 10. False in 4 of 11: FY2018, FY2020, FY2024 and
FY2025. The observed range is -38.85 to 23.09.
fcf gt 2000000000. False in 5 of 11: FY2014, FY2016, FY2017, FY2018 and
FY2022.
Now compare the footprints, which is the part worth copying into another company. The operating margin rail was false in 2018, 2020, 2024 and 2025. The free cash flow rail was false in 2014, 2016, 2017, 2018 and 2022. They share exactly one year. Two rails that break in different years are measuring two different things, and a reader holding both has two tests rather than one test with a spare.
That is not always what the filings say. Run the same comparison on a company whose margin and cash statement move together and all the rails break in the same set of years, which looks like corroboration and is not.
Written this way, the three rails answer three different questions. Does the company still get its price: the gross margin rail. Is the reported profit being re-marked again: the operating margin rail. Is the cash still arriving: the free cash flow rail. The FY2018 filing broke the second and the third together while the first held, which is the pattern the second section describes.
What would falsify this
The reading is that the gross line and the cash line are the durable facts here and the operating line is periodically re-marked. Three filed outcomes would show that to be wrong.
A filed year with a gross margin under 30. It has not happened in eleven years, and it would say the pricing position is moving, which is precisely what the charges have not been about. The reading would have named the wrong line as the stable one.
A filed year with a negative operating margin and free cash flow under 2bn in the same statement. That would be the first time in the record that the charge and the cash moved together, and the whole "does not pass through the cash statement" claim would fail on it.
Another 10-K arriving materially later than the February pattern. The one filing that did arrive late carried the largest charge in the record, and a second one would say that the first was a signal rather than a coincidence. Note what is unusual about this falsifier: unlike every figure above it, it is knowable before the statements it refers to are published.
As with every page in this cluster, the rails firing is not falsification. If the operating margin rail breaks again in FY2026, the reading in the second section was right and the position is worse. Only the three items above are about the reasoning.
What this leaves out
One company, eleven filed fiscal years, and a method. Not a sample of anything, not a view on Kraft Heinz, and not a recommendation to do anything at all.
FY2015 is absent from the filed archive here and FY2014 is read from the comparatives inside a later filing, which is a weaker provenance than a column taken from the year's own 10-K. Both are stated rather than smoothed over.
This product reads the statements and not the notes, so it can say that the operating line moved without the gross line and it cannot tell you what the charge was. Naming it would be a guess, and a guess in this position is the one thing a page like this must never print.
The price to book and the percentile beside it are market figures, true on the day they were read and not afterwards. Every other figure on this page is a historical fact about a document and does not change unless the company restates it.
The four thresholds are lines chosen so the retro-test has something to answer. None is a standard anybody published, and none is recommended. Past filings do not indicate future results.