Statement literacy
TTM vs annual financial ratios: 23 of 86
TTM vs annual financial ratios: the census labels 86 of 129 figures as filed, and 23 of those carry a mixed period because the stored value prefers a TTM ratio.
By Javier SanzPublished Updated : The basis rule this page quoted is stated once now, on /methodology, and the page keeps the census it counted and the twelve pairs it checked.
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)
Counted at 2026-09-07 04:37 UTC, the field census labels 86 of the 129 filterable figures as filed, 36 as market and 7 as vendor, and 23 of the 86 carry a mixed period underneath because the stored value prefers a trailing-twelve-month ratio. TTM and annual financial ratios are different measurements wearing the same name.
Trailing twelve months of income over the balance sheet at the last quarter end is not the same object as one fiscal year of income over that year's closing balance sheet, and neither the name nor the formula tells you which one you have.
What the census says
Counted at 2026-09-07 04:37 UTC, the field census reports a basis for every one of the 129 figures a screen can filter on:
| Basis reported | Fields |
|---|---|
| Filed | 86 |
| Market | 36 |
| Vendor | 7 |
That is already more than most tools tell you. A figure on the market basis moves when the price moves and nothing has happened to the business. A figure on the filed basis moves when a filing lands. Putting the two in one table without labelling which is which is how a page ends up dated by its freshest column.
The staleness is not hypothetical. The Apple row served on 2026-09-07 carried a market as-of of 2026-08-26, twelve days earlier, in the same response as filed figures from a 10-K. Any figure on that row built from a price was built from a twelve-day-old one, and the row says so rather than leaving it to be assumed.
The 23 fields where filed does not mean annual
The metric registry carries a second, finer classification: the period the stored value actually describes. Cross-referencing the two over the 123 fields that appear in both, twenty-three figures are labelled filed by the census and carry a mixed period in the registry:
asset turnover, cash conversion cycle, cash ratio, current ratio, debt to assets, debt to equity, days of inventory, days payable, days sales outstanding, fixed asset turnover, gross margin, interest coverage, inventory turnover, net margin, operating cash flow per share, operating margin, payables turnover, payout ratio, quick ratio, receivables turnover, return on assets, return on equity, return on invested capital.
That list is not an odd corner of the system. It is most of the ratios anyone actually uses. Why they carry a mixed period is a rule about how this product computes, so it is stated once, on the methodology page, where it belongs beside the source trail that names which path produced any particular value. This page is the count of how many fields it reaches.
Eleven more fields carry the same mixed period on the market basis rather than the filed one: the six price multiples, the two enterprise-value multiples, and the dividend, earnings and free cash flow yields. Thirty-four in total out of 123.
What happens when you check
A caveat that never bites is a caveat nobody reads, so here is the measurement.
Take a company, read its stored figure, then read the same figure out of its most recent annual report through the public retro-test, which resolves every number to a document on sec.gov. If the stored value came from a trailing-twelve-month source, the two should differ.
Twelve company-and-figure pairs, on the 2026-09-07 data:
| Company | Figure | Stored | Latest filed annual | Accession |
|---|---|---|---|---|
| Apple | Gross margin | 46.91 | 46.91 | 0000320193-25-000079 |
| Apple | Operating margin | 31.97 | 31.97 | 0000320193-25-000079 |
| Apple | Net margin | 26.92 | 26.92 | 0000320193-25-000079 |
| Walmart | Gross margin | 24.93 | 24.93 | 0000104169-26-000055 |
| Walmart | Operating margin | 4.18 | 4.18 | 0000104169-26-000055 |
| Walmart | Net margin | 3.07 | 3.07 | 0000104169-26-000055 |
| Microsoft | Gross margin | 67.94 | 67.94 | 0001193125-26-323660 |
| Coca-Cola | Gross margin | 61.63 | 61.63 | 0001628280-26-010047 |
| Johnson and Johnson | Gross margin | 67.88 | 67.88 | 0000200406-26-000016 |
| Nike | Gross margin | 42.91 | 42.91 | 0000320187-26-000088 |
| Texas Instruments | Gross margin | 57.02 | 57.02 | 0000097476-26-000059 |
| Costco | Gross margin | 12.84 | 12.84 | 0000909832-25-000101 |
Twelve out of twelve, to the second decimal.
The honest reading of that result is narrow. It says that for these eight companies, on this date, the stored figure and the last filed annual figure were the same number. Which of the two paths produced each of them is recorded on the figure's own source trail, and this page did not open twelve source trails to find out. The result does not say the two paths can never diverge, and it says nothing about the thousands of listings outside this sample.
The caveat is a warning about a mechanism, not a report of an observed error. Both of those are worth publishing, and they are different claims. Naming which one you have is most of the work.
The practical rule
Three questions to ask of any ratio on any screen, ours included.
Which clock is it on. Price-based, filing-based, or a vendor's own number. The answer changes what a change in the figure means.
Over what period. A trailing-twelve-month numerator against a quarter-end denominator answers a different question from a fiscal year against its own closing balance sheet. Neither is wrong. Mixing them inside one comparison is.
Which path produced this particular value. For the twenty-three fields above, the answer varies by company, because the fallback fires whenever the vendor has no published figure. The source trail on each figure names the path.
What this leaves out
The census counts come from one reading of the field endpoint, at 2026-09-07 04:37 UTC. They move as fields are added and as the classification changes.
The registry classification is code, not a measurement. It says what the pipeline is designed to prefer. It does not report which path fired for any particular company.
Six of the 129 filterable fields have no registry entry, so the cross-reference covers 123. The six are the two composite scores, a forward earnings multiple, the raw price and two multi-year growth figures.
Twelve pairs across eight companies is a check, not a study. All eight are large US companies with a full ten years of filings and a recent annual report on file. A company between fiscal year ends, or one the vendor covers differently, is exactly the case this sample cannot speak to.
Nothing on this page is a view on any company or security.