Piotroski F-Score Explained: The Nine Tests and Where They Break

August 31, 2026 · Guides · 12 min read

Piotroski F-Score Explained: The Nine Tests and Where They Break

The Piotroski F-Score is a nine-point checklist that grades a company's financial statements against its own prior year. Each test is pass/fail and worth exactly one point, so every company lands somewhere between 0 and 9. It was designed to answer a narrow question: among cheap stocks, which ones are cheap because the business is deteriorating, and which ones are cheap despite a business that is quietly getting better?

The score comes from Joseph Piotroski, then at the University of Chicago, in a 2000 Journal of Accounting Research paper. Twenty-five years later it remains one of the few academic fundamental screens simple enough to compute by hand from three statements — and one of the most widely misapplied, because almost everyone drops the universe restriction that the original design depends on.

The Idea Behind It

Cheap stocks are cheap for a reason. A high book-to-market ratio — the classic value investing starting point — is a mix of two very different populations: businesses the market has mispriced, and businesses the market has correctly identified as failing. Buying the basket indiscriminately means owning both.

Piotroski's insight was that the financial statements themselves separate the two groups reasonably well, and that no forecasting is required to do it. The nine tests ask only whether specific fundamentals improved or deteriorated year over year. There is no growth estimate, no discount rate, no terminal value — nothing that depends on a view of the future. That is unusual, and it is why the score is reproducible: two analysts working from the same filings should arrive at the same number.

The Nine Tests

The tests fall into three groups. The grouping is not decorative — it is how the score avoids double-counting a single piece of good news.

Group 1 — Profitability (4 points)

# Test Point awarded when
1 Return on assets ROA is positive this year
2 Operating cash flow CFO is positive this year
3 Change in ROA ROA is higher than last year's ROA
4 Accruals CFO scaled by assets exceeds ROA

Test 4 is the one people skip, and it is the most informative of the four. If a company reports profit that its cash flow statement does not corroborate, the gap is accruals — revenue recognised before cash arrives, or costs deferred onto the balance sheet. A year of profit built mostly on accruals tends to reverse. This is the same concern covered at length in earnings quality, compressed into a single binary test. Reading it correctly requires knowing what sits in the cash flow statement versus what sits in the income statement.

Group 2 — Leverage, Liquidity, and Source of Funds (3 points)

# Test Point awarded when
5 Change in leverage Long-term debt as a share of assets fell
6 Change in liquidity The current ratio rose
7 Equity issuance No new common equity was issued

Test 7 reads oddly at first. Issuing shares is not misconduct, and it is not always a sign of trouble. The reasoning is narrower than "dilution is bad": a company already trading at a depressed valuation that chooses to sell equity anyway is, in effect, telling you it could not fund itself from operations or from debt on acceptable terms. In a distressed-value universe, that is information. Note the asymmetry — repurchasing stock earns no extra point, it simply avoids losing one. The broader tradeoffs are in share buybacks.

Tests 5 and 6 lean on the balance sheet: long-term debt relative to assets, and the current ratio. If those line items are unfamiliar, how to read a balance sheet covers where they sit and what they include. For leverage specifically, the related debt-to-equity ratio measures a similar exposure against a different denominator — the Debt-to-Equity Calculator will compute it from two inputs.

Group 3 — Operating Efficiency (2 points)

# Test Point awarded when
8 Change in gross margin Gross margin is higher than last year
9 Change in asset turnover Asset turnover is higher than last year

These two decompose the change in ROA into its causes. Margin improvement points to pricing power or falling input costs; turnover improvement points to better utilisation of the asset base. A rising ROA driven by neither is usually driven by something non-recurring. Gross margin has the fuller treatment of what moves the first one.

A Worked Example

Take an industrial distributor closing FY2025. Total assets ended FY2024 at $2,000m and FY2025 at $2,120m; FY2023 closed at $1,850m.

Input FY2025 FY2024
Net income $118m $96m
Operating cash flow $164m —
Revenue $2,480m $2,210m
Long-term debt $430m $470m
Current ratio 1.9 1.7
Gross margin 30.5% 30.8%
Shares outstanding 59.4m 61.0m

Scoring, using beginning-of-year total assets as the denominator throughout:

# Test Calculation Result
1 ROA positive 118 / 2,000 = 5.9% Pass
2 CFO positive $164m Pass
3 ROA rising 5.9% vs 96 / 1,850 = 5.2% Pass
4 Accruals 164 / 2,000 = 8.2% > 5.9% Pass
5 Leverage falling 430 / 2,120 = 20.3% vs 470 / 2,000 = 23.5% Pass
6 Liquidity rising 1.9 vs 1.7 Pass
7 No equity issued Share count fell Pass
8 Gross margin rising 30.5% vs 30.8% Fail
9 Asset turnover rising 2,480 / 2,000 = 1.24 vs 2,210 / 1,850 = 1.19 Pass

F-Score: 8 of 9. The single failure is informative rather than fatal: revenue grew about 12% while margin gave up 30 basis points, which is the signature of volume bought with price. Whether that is a fair trade is a judgement the score does not make.

One implementation detail that changes answers. Piotroski scales ROA and asset turnover by total assets at the beginning of the year. Several data vendors use average assets instead. On a company growing its asset base quickly the two conventions can flip tests 3, 4, and 9 individually — enough to move a score by two or three points. Whichever convention is used, it has to be the same one on both sides of every year-over-year comparison, or the change tests measure the convention rather than the business.

Reading the Score

Piotroski grouped scores into three bands:

The middle band is wide on purpose. The F-Score was built to identify the tails of a distribution, not to rank the interior of it. A 6 and a 5 are not meaningfully different companies, and treating a one-point gap as a ranking is reading precision the construction does not contain.

What the Original Study Reported

Within the highest book-to-market quintile of US stocks over 1976–1996, Piotroski found that the high-score group's subsequent one-year returns exceeded the low-score group's by roughly 23 percentage points annually, with the separation coming from both sides of the split rather than from the high-score group alone.

Four caveats belong immediately next to that figure, and the last is the important one.

  1. It is a historical, in-sample academic result from a specific market and a specific twenty-year window. It describes what the data showed then. It is not a prediction, and past results do not indicate future outcomes.
  2. The effect concentrated in small and micro-cap names with thin analyst coverage and limited liquidity — precisely where trading costs are highest and where the measured spread is hardest to realise in practice.
  3. Later work has generally found the effect smaller in subsequent decades and in non-US markets, which is the ordinary fate of a published anomaly once it is public.
  4. The universe restriction is the whole design. The result is a statement about high book-to-market stocks. Applied to the full market, the F-Score mostly re-identifies large, stable, profitable companies that were never mispriced in the first place, and the finding does not carry across.

That fourth point is the most common way the score is misused. An F-Score of 9 on an expensive, widely-followed mega-cap is a description of a good year. It is not the signal the paper measured.

Where the F-Score Breaks

Binary tests discard magnitude. A gross margin that improved by 4 basis points and one that improved by 400 both earn exactly one point. Nine binary tests throw away most of the information in the statements by construction — that is the trade the score makes for reproducibility.

Year-over-year comparisons inherit the base year. A company recovering from a genuinely terrible prior year scores well simply because the comparison is easy. Two consecutive rough years followed by a partial rebound can produce an 8 while the business remains far below where it was three years earlier. The score has a one-year memory.

Cyclicals get scored on where they sit in the cycle. Homebuilders, semiconductors, chemicals, shipping — these move all nine tests together with the cycle, so the F-Score tends to peak near cyclical peaks and bottom near troughs, which inverts what a value framework wants from it.

Financials and REITs do not fit. Banks and insurers have no meaningful gross margin, and leverage is the product rather than a risk to be minimised — test 5 penalises balance sheet growth that is the business working as designed. REITs are similar: depreciation makes ROA structurally low, so tests 1 and 3 measure accounting convention rather than performance. The score is not built for either.

Loss-making companies fail tests they were never eligible to pass. Test 1 requires positive ROA and test 3 requires improvement. An early-stage business with widening losses and improving unit economics scores near zero, which is accurate as a description and useless as an assessment.

Restatements and one-offs move it. A large asset impairment cuts total assets, which mechanically raises next year's ROA and asset turnover. Two tests improve because of an accounting write-down, not because anything operational changed.

F-Score Versus Altman Z-Score

The two are often mentioned together and measure different things.

Piotroski F-Score Altman Z-Score
Question Are fundamentals improving? How close is bankruptcy?
Comparison Company against its own prior year Company against a distress threshold
Output 0–9 integer, nine binary tests Continuous score with zone cut-offs
Horizon One year of change Roughly two years of solvency risk
Built for High book-to-market universe Manufacturers, with later variants

They can disagree in an informative way. A company can post a rising F-Score while its Z-Score sits in the distress zone — improvement from a low base, with the balance sheet still fragile. The reverse also happens: a comfortable Z-Score alongside an F-Score of 2, a solvent business that had a bad year across the board. The Altman Z-Score covers the five ratios and the 1.81 and 2.99 thresholds in detail.

Using It Sensibly

The F-Score works best as a filter applied after a valuation screen, not as a ranking on its own. The sequence the original design implies is: restrict to the cheap decile or quintile first, then use the score to separate that group. Reversing the order changes what is being measured.

It also pairs badly with a single metric and well with several. Screening on the score alongside free cash flow, return on equity, and a leverage measure gives a fuller picture than any of them alone — the ROE Calculator and the Book Value Calculator compute two of those inputs directly. Equity Rank's stock screener covers the underlying fundamentals across the market if the goal is to build the universe first and score within it.

Finally, the score is a starting point for reading the filings, not a substitute for reading them. Every one of the nine tests has an explanation behind it that the pass/fail bit cannot carry, and the explanation is where the analysis actually happens.

Frequently Asked Questions

What is a good Piotroski F-Score? Piotroski treated 8 and 9 as the strong band and 0 and 1 as the weak one. Scores from 4 to 7 are the middle of the distribution and carry little information, so a 7 is better read as "unremarkable" than as "nearly strong".

Can the F-Score be calculated from public filings? Yes. All nine tests come from the income statement, balance sheet, and cash flow statement in the annual report, plus the share count. No estimates or market data are required — the score uses no price input at all, which is why it is normally combined with a separate valuation measure.

Does the F-Score use the share price? No. It is computed entirely from financial statements. Book-to-market enters the original methodology as the universe filter applied beforehand, not as one of the nine tests.

Is the F-Score updated quarterly or annually? The original construction is annual, comparing a fiscal year against the prior fiscal year. Quarterly variants exist but are noisier: seasonality moves margins, turnover, and the current ratio between quarters, so a trailing-twelve-month basis is the more common compromise.

Why does the same company show different F-Scores on different sites? Almost always the asset-scaling convention — beginning-of-year total assets versus average total assets — or the treatment of extraordinary items in net income. Both are defensible; they are simply different. Comparing scores across sources is unreliable, while comparing scores computed the same way across companies is fine.

Does a high F-Score mean a stock is undervalued? No. The score measures the direction of fundamentals over one year and contains no valuation input. A company can improve on all nine tests and still trade well above any reasonable estimate of intrinsic value. Valuation is a separate question requiring separate work.


This content is for educational and informational purposes only and does not constitute investment advice. Equity Rank is not a registered investment adviser. The figures in the worked example are illustrative and do not describe any real company. Academic findings cited are historical and specific to the samples and periods studied; past results do not indicate future outcomes. Financial statement data should be verified against primary filings before use.