Scores are algorithm-generated research tools, not investment recommendations.
Piotroski F-Score
By Maksym Lytvynov · Rules as of (v23)
The nine binary signals of Piotroski (2000) — profitability, leverage and liquidity, operating efficiency — computed exactly as the paper defines them.
Score output: Strong / Attractive / Neutral / Reject / Insufficient data, with a 0–10 score
What is the Piotroski Score?
The Piotroski F-Score is the sum of nine binary signals from Joseph Piotroski's 2000 paper in the Journal of Accounting Research, each 1 if the condition holds and 0 if not, so it runs from 0 to 9. The signals compare the latest fiscal year with the one before, and ratios are scaled by total assets at the start of the year, so a score needs three consecutive annual balance sheets. The paper scored only firms with complete data, and so do we: a company missing any of the nine inputs gets "insufficient data", never a partial score. It is one of two models on the Quality axis.
How does the Piotroski Score work?
Profitability (four signals): return on beginning assets is positive; operating cash flow is positive; return on assets rose from the prior year; and operating cash flow exceeds net income, both scaled by beginning assets — the accrual signal, which catches earnings not backed by cash.
Leverage and liquidity (three signals): long-term debt to average total assets fell; the current ratio rose; and no common equity was issued in the year.
Operating efficiency (two signals): gross margin rose, and sales to beginning total assets rose.
Where the paper's signals do not describe the business, the model says so instead of inventing a substitute: it does not rate banks, insurers, asset managers, which present no current ratio or gross margin. REITs are rated only when they present a classified balance sheet; most do not, and those are not applicable. Labelled adaptations: Signal 8 — gross profit not reported — operating margin used (adaptation). Same intent as p. 9 (improving margins), one line further down the income statement; the stock page labels it. Signal 7 — equity offering read net of repurchases: filers tag employee-plan issuance under the same line as an offering, and a company buying back more stock than it issues is not raising external capital, the paper's reason for the signal (p. 9).
What does Piotroski look for in a stock?
Each criterion as the scoring code evaluates it, with the threshold it uses and where that threshold comes from.
Return on beginning assets is positive
- Passes when
- net income before extraordinary items ÷ beginning total assets > 0
- Applies to
- Every profile the model rates
- Source
- Piotroski (2000), JAR 38 Supplement, p. 7
Operating cash flow is positive
- Passes when
- operating cash flow ÷ beginning total assets > 0
- Applies to
- Every profile the model rates
- Source
- Piotroski (2000), JAR 38 Supplement, p. 7
Return on assets rose from the prior year
- Passes when
- ROA higher than in the prior fiscal year
- Applies to
- Every profile the model rates
- Source
- Piotroski (2000), JAR 38 Supplement, p. 8
Operating cash flow exceeds net income, both over beginning assets
- Passes when
- operating cash flow ÷ beginning assets > ROA
- Applies to
- Every profile the model rates
- Source
- Piotroski (2000), JAR 38 Supplement, p. 8
Long-term debt to average assets fell
- Passes when
- long-term debt ÷ average total assets lower than the prior year (no long-term debt in either year passes)
- Applies to
- Every profile the model rates
- Source
- Piotroski (2000), JAR 38 Supplement, p. 8
Current ratio rose
- Passes when
- current ratio higher than at the prior year-end
- Applies to
- Every profile the model rates
- Source
- Piotroski (2000), JAR 38 Supplement, pp. 8-9
No net common equity raised in the year
- Passes when
- common stock issued in the fiscal year not above the stock repurchased; with issuance and no repurchases, the diluted share count did not rise; no issuance line in a filed cash-flow statement means none, a missing statement means unavailable
- Applies to
- Every profile the model rates
- Source
- Piotroski (2000), JAR 38 Supplement, p. 9
Gross margin rose
- Passes when
- gross margin higher than in the prior fiscal year
- Applies to
- Every profile the model rates
- Source
- Piotroski (2000), JAR 38 Supplement, p. 9
Sales to beginning assets rose
- Passes when
- sales ÷ beginning total assets higher than in the prior fiscal year
- Applies to
- Every profile the model rates
- Source
- Piotroski (2000), JAR 38 Supplement, p. 9
- Signal 8 — gross profit not reported — operating margin used (adaptation). Same intent as p. 9 (improving margins), one line further down the income statement; the stock page labels it.
- Signal 7 — equity offering read net of repurchases: filers tag employee-plan issuance under the same line as an offering, and a company buying back more stock than it issues is not raising external capital, the paper's reason for the signal (p. 9).
How the Piotroski score maps to a status
| Status | Rule |
|---|---|
| Strong | 8–9 of 9 |
| Attractive | 6–7 of 9 |
| Neutral | 2–5 of 9 |
| Reject | 0–1 of 9 |
| Insufficient data | any of the nine inputs missing — no partial score (p. 11) |
8–9 is the paper's high F-Score group and 0–1 its low group (p. 12)
The cut at 6 inside the paper's unnamed middle is ours, not Piotroski's
Which companies Piotroski rates
| Sector profile | Rated | Note |
|---|---|---|
| General | Yes | — |
| Bank | Not applicable | Piotroski's F-Score does not rate banks: no current ratio, no gross margin, and leverage is the business. |
| Insurer | Not applicable | Piotroski's F-Score does not rate insurers: no current ratio, no gross margin, and float is leverage by design. |
| Asset manager | Not applicable | Piotroski's F-Score does not rate financial firms: no current ratio or gross margin to compare. |
| Holding company | Yes | — |
| Utility | Yes | — |
| REIT | Yes | Not applicable when the REIT presents an unclassified balance sheet (no current assets or liabilities), as most do. |
“Not applicable” means the model is left out of that company's axis — never scored as zero or as neutral.
How AlphaStocks uses Piotroski
Inside the Quality axis the weights are Piotroski F-Score 35%, Buffett Quality Criteria 65% (general profile; the sector profiles shift them — see the methodology page). Only the models that apply to a company and have a score are averaged, re-weighted among themselves; a model that does not apply is left out, never counted as zero. The Quality axis carries 40% of the composite.
The F-Score is a year-over-year health check; the Buffett model, the other Quality model, looks across ten years. A company can have a strong decade and a weak latest year, or the reverse, and the Quality axis shows both.
Quality = weighted mean of the applicable Quality models (Piotroski 35%); composite weight of Quality: 40%Current top stocks by Piotroski
The Piotroski F-Score model is evaluated for every stock in our coverage it applies to. You can filter the full rankings table to see which stocks currently score highest on this model and compare them across all five investment frameworks.
Frequently Asked Questions
What is the Piotroski F-Score and what does it measure?
Nine binary signals from Joseph Piotroski's 2000 paper covering profitability, leverage and liquidity, and operating efficiency, each comparing the latest fiscal year with the prior one. The score is the count of signals met, from 0 to 9.
What are the 9 signals in the Piotroski F-Score?
(1) return on beginning assets is positive, (2) operating cash flow is positive, (3) return on assets rose from the prior year, (4) operating cash flow exceeds net income, both over beginning assets, (5) long-term debt to average assets fell, (6) current ratio rose, (7) no net common equity raised in the year, (8) gross margin rose, (9) sales to beginning assets rose. Each scores 1 if met and 0 if not.
How does AlphaStocks handle banks, insurers and REITs?
The paper's signals assume a current ratio and a gross margin, which banks, insurers and asset managers do not report, so the F-Score is not applicable to them — it is not scored as zero and not replaced by a different checklist. REITs are rated when their balance sheet is classified; most present it unclassified and are not applicable.
What happens when a company is missing data?
It gets "insufficient data". The paper scored only firms with enough data to compute every signal, so the model never adds up a partial score. The one exception is labelled: a company that reports no gross profit (McDonald's is one) has signal 8 computed on operating margin instead.
What does it mean when cash flow exceeds net income (Signal 4)?
When operating cash flow is larger than net income, reported earnings are backed by cash rather than by accruals such as receivables or deferred costs. Piotroski found the accrual signal one of the more useful of the nine.
See all 1,500+ stocks scored
Every stock evaluated by Piotroski F-Score and four other investment models, from SEC filings. Changed in v23? See what changed and why.
Explore the rankingsExplore Other Models
Model names reference the published investment methodologies of their respective authors. AlphaStocks is not affiliated with, endorsed by, or sponsored by Joseph Piotroski or any related entities. Our implementation follows the cited sources; where it adapts them, the adaptation is named above.
AlphaStocks provides investment research and analysis, not investment advice. Past performance does not guarantee future results. Always do your own due diligence before making investment decisions. Data sourced from SEC EDGAR and Alpaca Markets.