Building Earnings Quality Measures with Calcbench Data
Earnings quality — the question of how closely a company's reported profit tracks the actual cash moving through the business — is one of the oldest and most durable ideas in fundamental analysis. When earnings run consistently ahead of cash flow, it's often a signal worth investigating further; when the two move together, it's generally a reassuring sign.
With standardized financial data available through the API, the Multi-Company page, or the Excel Add-in, you can construct earnings-quality screens ranging from straightforward to fairly sophisticated — and apply them across the entire market at once.
To illustrate the range, we built two versions ourselves.
Two ways to measure the same idea
The simple version: cash flow relative to net income. Divide operating cash flow by net income for a given period, and you have a quick, intuitive gut-check. A ratio well above or below 1 is worth a second look. It's easy to explain and easy to compute — but “easy” doesn't mean “foolproof.” Ratios like this get distorted by ordinary things: a company having an unusually small net income in a given quarter, a one-time gain or charge, or seasonal timing. Building it well means building in some guardrails, not just dividing two numbers.
The more rigorous version: an accrual ratio.1 Rather than comparing two income-statement-and-cash-flow-statement totals, this approach looks directly at the balance sheet — comparing how a company's operating assets and liabilities have shifted from one period to the next relative to the size of the company. This is a richer, more standard approach in academic and professional earnings-quality research, and it can be built entirely from standardized Calcbench fields. It takes more care to set up correctly — there are more moving pieces, and getting the treatment of items like short-term investments, short-term debt, and deferred taxes right takes some thought — but the payoff is a more complete picture of where a company's reported earnings and its underlying operations may be diverging.
Quick read: which direction is “good”?
The two measures point in opposite directions, so it's worth keeping
this straight before looking at the tables below.
- CFO / Net Income: bigger is usually better. A ratio near or above 1 means earnings are backed by real cash; well below 1 (or negative) is a caution sign. (An extremely large ratio isn't extra-good, though — it usually just means net income was unusually small that period.)
- Accrual Ratio: smaller — more negative — is usually better. Numbers closer to zero or negative mean earnings are grounded in cash; higher, more positive numbers mean earnings are increasingly built on non-cash items like growing receivables or inventory.
What the data looks like
We ran both measures across the S&P 500 (companies in the financial and utility sectors excluded, since their balance sheets don't lend themselves to this kind of comparison), comparing Q2 2026 to Q2 2025. Below is a look at the 25 companies at each end of the spectrum for both measures.
A note on how to read these: extreme values at either end were capped using standard winsorization, so a handful of companies you'll see tied at the same number simply hit that cap rather than coincidentally landing on an identical ratio. And a handful of names that show up here have unusual capital structures — recent spinoffs, large financing activity, or significant in-house lending operations — that can move these ratios for reasons that have little to do with earnings quality. That's part of the point: a screen like this is a starting point for investigation, not a verdict.
Accrual Ratio — bottom 25 / top 25
| Rank | Bottom 25 | Ratio | Top 25 | Ratio | |
|---|---|---|---|---|---|
| 1 | LITE | -0.710 | DPZ | 0.607 | |
| 2 | VRSN | -0.404 | ECHO | 0.372 | |
| 3 | ZBRA | -0.243 | F | 0.187 | |
| 4 | GEV | -0.224 | TXT | 0.175 | |
| 5 | DASH | -0.188 | LII | 0.143 | |
| 6 | AKAM | -0.150 | BG | 0.139 | |
| 7 | FIX | -0.131 | SBUX | 0.121 | |
| 8 | LYV | -0.125 | PODD | 0.119 | |
| 9 | MRNA | -0.120 | FTV | 0.115 | |
| 10 | CPAY | -0.110 | MCHP | 0.104 | |
| 11 | WDC | -0.102 | CHRW | 0.102 | |
| 12 | GPN | -0.094 | CAT | 0.099 | |
| 13 | VRT | -0.094 | IFF | 0.095 | |
| 14 | MA | -0.089 | ZTS | 0.093 | |
| 15 | VLTO | -0.085 | NVDA | 0.085 | |
| 16 | ON | -0.082 | TYL | 0.085 | |
| 17 | BKNG | -0.080 | ABNB | 0.083 | |
| 18 | LUV | -0.080 | GEN | 0.079 | |
| 19 | KEYS | -0.077 | CVNA | 0.077 | |
| 20 | BR | -0.077 | NTAP | 0.077 | |
| 21 | CAH | -0.073 | XYZ | 0.076 | |
| 22 | NFLX | -0.072 | KO | 0.075 | |
| 23 | CLX | -0.071 | SJM | 0.070 | |
| 24 | NWS | -0.069 | TER | 0.069 | |
| 25 | BA | -0.066 | AXON | 0.067 |
CFO / Net Income — bottom 25 / top 25
| Rank | Bottom 25 | CFO / NI | Top 25 | CFO / NI | |
|---|---|---|---|---|---|
| 1 | CRL | -3.72* | XYZ | 9.44* | |
| 2 | CRWD | -3.72* | GPN | 9.44* | |
| 3 | IP | -3.72* | J | 9.44* | |
| 4 | MRK | -3.72* | SNPS | 9.44* | |
| 5 | PFE | -3.52 | SW | 8.69 | |
| 6 | F | -3.29 | GEV | 8.46 | |
| 7 | BA | -3.19 | IFF | 8.27 | |
| 8 | FOX | -2.71 | DDOG | 7.09 | |
| 9 | COO | -2.35 | EL | 6.94 | |
| 10 | BDX | -2.16 | CPAY | 5.84 | |
| 11 | WAT | -1.48 | WBD | 5.69 | |
| 12 | TTWO | -0.96 | CCL | 4.88 | |
| 13 | LEN | -0.92 | DASH | 4.74 | |
| 14 | BG | -0.83 | GM | 4.69 | |
| 15 | INTC | -0.65 | BIIB | 4.60 | |
| 16 | NVR | -0.64 | P | 4.50 | |
| 17 | MOS | -0.63 | PNR | 4.45 | |
| 18 | DHI | -0.63 | KDP | 4.26 | |
| 19 | OMC | -0.63 | TSLA | 4.16 | |
| 20 | TRMB | -0.51 | AKAM | 4.11 | |
| 21 | TSN | -0.43 | BBY | 4.03 | |
| 22 | CTVA | -0.40 | EQT | 3.72 | |
| 23 | FSLR | -0.34 | RVTY | 3.70 | |
| 24 | GILD | -0.34 | AMCR | 2.84 | |
| 25 | CDW | -0.20 | GLW | 2.82 |
*Tied at the winsorization cap (1st/99th percentile) rather than a coincidental identical value.
The takeaway
Neither of these measures is meant to be the final word on any single company. What we want to highlight is how much analytical range is available directly from Calcbench's standardized data — from a quick, back-of-the-envelope ratio to a more rigorous, balance-sheet-based model — and that clients can build either one (or something in between) for their own coverage universe, on their own schedule, using the same tools available through the API, Excel, or the Multi-Company page.
If you'd like help thinking through a similar screen for your own universe of companies, reach out — we're happy to walk through it.
1 For readers who want the exact construction: the Accrual
Ratio here follows the framework introduced by Sloan (1996), adapted
for standardized Calcbench fields —
Accrual Ratio = (ΔCurrent Assets − ΔCash −
ΔShort-Term Investments − ΔCurrent Liabilities +
ΔShort-Term Debt − Depreciation) ÷ Average Total
Assets
where each Δ is the year-over-year change (Q2 2026 vs. Q2 2025)
and Depreciation is the current period's expense only, not a delta.
Some versions of this measure also include a deferred-tax adjustment;
we left it out of this run, since deferred-tax detail is disclosed far
less consistently in quarterly filings than in annual reports.
↩
Comments
Post a Comment