The Piotroski F-Score: A 9-Point Test of Financial Strength (With a Worked Example)
A Chicago accounting professor asked a simple question: among cheap stocks, can the financial statements alone tell the survivors from the sinking? His answer was nine yes-or-no tests, one point each.
Value investing is good at finding what is cheap. It is much worse at telling you whether cheap means bargain or broken. A low price-to-book ratio gathers, in one bucket, the temporarily unloved and the quietly dying — and the second group drags the whole basket down.
In 2000, a Chicago accounting professor named Joseph Piotroski asked whether that bucket could be sorted mechanically, using nothing but the financial statements a company already publishes. His answer was a score: nine yes-or-no tests, one point each, from 0 to 9. It has carried his name ever since.
The problem the F-Score was built to solve
Piotroski studied firms in the cheapest fifth of the market by book-to-market — classic value territory. He found what value investors keep rediscovering the hard way: most cheap stocks are cheap for cause. But he also found that within that basket, a handful of accounting signals separated the companies that went on to recover from the ones that kept falling. Buying the financially strong and avoiding the weak shifted the returns of the basket substantially.
The insight is not that the F-Score finds great businesses. It is narrower, and more useful: among stocks that already look cheap, it separates the ones getting stronger from the ones getting weaker.
The nine tests, one point each
Each test compares the company to itself — this year against last — or checks a simple sign. Each is worth exactly one point. Every figure comes from the same three statements: the balance sheet, the income statement and the cash-flow statement. The tests fall into three families.
| Family | Points | What it asks |
|---|---|---|
| Profitability | 4 | Is the company making money, in cash as well as on paper? |
| Leverage & liquidity | 3 | Is the balance sheet getting safer, without diluting owners? |
| Operating efficiency | 2 | Are margins and asset use improving? |
Profitability (4 points)
1. Positive return on assets — net income for the year is above zero. 2. Positive operating cash flow — the business generated cash from operations, not just accounting profit. 3. Rising return on assets — ROA is higher than last year's. 4. Cash-backed earnings — operating cash flow is greater than net income. This is the quality check: profit that arrives as cash is worth more than profit that lives only in receivables and accruals.
Leverage, liquidity and dilution (3 points)
5. Falling leverage — long-term debt as a share of assets is lower than last year's. 6. Rising current ratio — current assets cover current liabilities more comfortably than a year ago. 7. No new shares — the share count did not rise. A company issuing stock to plug a hole is telling you something.
Operating efficiency (2 points)
8. Rising gross margin — the company keeps more of each dollar of sales than last year. 9. Rising asset turnover — each dollar of assets produced more sales than last year.
Add the points. Nine is a company improving on every front measured; zero is one deteriorating on all of them.
A worked example
Take Company A, with these figures across two consecutive years. All numbers are illustrative, chosen to show the calculation.
| Item | Year 1 | Year 2 |
|---|---|---|
| Net income | 30 | 45 |
| Operating cash flow | 40 | 60 |
| Total assets | 1,000 | 1,100 |
| Long-term debt | 300 | 300 |
| Current assets | 400 | 460 |
| Current liabilities | 200 | 200 |
| Revenue | 800 | 900 |
| Cost of goods sold | 560 | 645 |
| Shares outstanding | 100 | 105 |
Working through the nine tests on Year 2:
1. Net income is 45, above zero → 1 2. Operating cash flow is 60, above zero → 1 3. ROA rose from 30 / 1,000 = 3.0% to 45 / 1,100 = 4.1% → 1 4. Operating cash flow (60) exceeds net income (45) → 1 5. Leverage fell: long-term debt over assets went from 300 / 1,000 = 30.0% to 300 / 1,100 = 27.3% → 1 6. Current ratio rose from 400 / 200 = 2.0 to 460 / 200 = 2.3 → 1 7. Shares outstanding rose from 100 to 105 — the company diluted → 0 8. Gross margin fell: (800 − 560) / 800 = 30.0% down to (900 − 645) / 900 = 28.3% → 0 9. Asset turnover rose: 800 / 1,000 = 0.80 up to 900 / 1,100 = 0.82 → 1
The total is 7 out of 9. A solid company — but the two lost points are exactly where the reading earns its keep. Company A grew its sales, yet it kept less of each dollar (falling margin) and it issued shares to do it (dilution). A single "profit is up" headline hides both; the F-Score does not.
How to read the score
Piotroski's own thresholds are blunt on purpose: 8 or 9 is strong, 0 to 2 is weak, and the middle is a middle. In his study, the entire advantage came from buying the high scorers and avoiding — even short-selling — the low ones.
One warning matters more than any threshold: the F-Score measures strength, not price. It says nothing about whether the stock is cheap. A 9-out-of-9 company can be wildly overpriced, and a 3 can be a bargain the score simply cannot see. The F-Score is the second question — is this a good business getting better? — asked only after a valuation screen has already asked the first.
What the F-Score does not see
Like every mechanical score, it is honest only about what it measures.
- It looks backwards. Every input is a past financial statement. A company can score 8 the year before its market collapses.
- It is binary. An improvement of 0.1% and an improvement of 50% both earn the same single point. The score records direction, not magnitude.
- It was built for asset-heavy value stocks. Applied to a software firm, a bank, or a young company raising capital to grow, several tests misfire — the no-dilution rule punishes healthy fundraising, gross margin barely moves, and the whole picture blurs.
- One unusual year distorts several tests at once. A single large write-off or disposal can swing profitability, cash flow and margins together, for reasons that have nothing to do with underlying strength.
None of this makes the score useless. It makes it a filter, not a verdict — which is precisely how Piotroski used it.
Where it sits in what we do
Nowhere inside our engine as a literal component — and, as with the Graham Number, that is deliberate. But the F-Score and our Health reading ask the same question: is this company getting stronger or weaker? The list of nine — cash-backed profit, falling debt, no dilution, improving efficiency — is a checklist version of what Health measures.
The difference is how the question is answered. We do not tally nine yes-or-no boxes against a fixed threshold. We rank every company against the whole universe, on every trading day, because a current ratio of 2.3 or a 28% margin means nothing in the abstract and everything in comparison. A company in the bottom decile of Health lands on The Avoid List — the list built to name exactly the cheap-but-sinking stocks Piotroski was trying to filter out — and is kept out of The Sweet Spot, which opens only to companies whose Health is high. The full rule is on the method page, republished every trading day in the ranking; if you would rather run the checks yourself, the stock screener is free.
The F-Score's real lesson outlives its nine lines. A low ratio is a question, never an answer. Before you buy what is cheap, demand evidence that it is getting better rather than worse — and insist that the evidence arrive as cash.
This article is information and education. It is not personalized investment advice. Past performance is not a guide to future performance. Investing carries a risk of capital loss.
Want to apply the method?
The stock screener is free to everyone. Membership adds the three daily rankings, entry and exit alerts, and the investment letter — one membership, $149 a year or $24 a month.
Request access