The Piotroski F-Score: nine yes-or-no health checks
The F-Score asks nine simple questions about a company’s latest year and gives one point for every yes. This lesson explains each question in plain words, scores a small bike company step by step, and shows where the score falls short.
Why someone built it
Some investors hunt for stocks that look cheap compared with what the company’s assets are worth on paper. As a group, such stocks have done well in many past studies. The trouble is that plenty of them are cheap for a good reason: the business is shrinking, bleeding cash or drowning in debt.
Joseph Piotroski, an accounting professor, published the F-Score in 2000 to deal with that. His idea was to sort the cheap pile into two groups using nothing but the financial statements: companies getting stronger and companies getting weaker. He didn’t use forecasts or expert opinions, only nine checks anyone could run on two years of reports.
The score never looks at the stock’s price, so you can run it on any company, cheap or not.
The nine tests, in three families
Each test compares this year with last year, or checks whether a number is above zero. A pass earns 1 point and a fail earns 0. Add them up and you get a score from 0 to 9.
Family 1: Is the company making money?
- Return on assets is positive. Return on assets (ROA) is net income divided by total assets. It shows how much profit the company squeezes out of everything it owns. Any profit at all passes.
- Operating cash flow is positive. Operating cash flow is the cash that came in from running the business, after paying for things like wages and supplies. Profit on paper is nice; cash in the bank pays the bills.
- Return on assets improved. This year’s ROA must beat last year’s.
- Operating cash flow is larger than net income. If profit is much bigger than cash, the profit may be resting on customer IOUs or unsold goods. When cash beats profit, the profit is backed by real money.
Family 2: Is the balance sheet getting safer?
- Long-term debt went down, relative to assets. Long-term debt is borrowing due more than a year from now. Dividing it by total assets lets a growing company pass if its debt grew more slowly than the business.
- The current ratio went up. The current ratio is current assets (cash and things that turn into cash within a year) divided by current liabilities (bills due within a year). Higher means a thicker cushion for paying near-term bills.
- No new shares were issued. Selling new shares raises money, but it shrinks each existing owner’s slice (this is called dilution). A company that needs to do that may be short of cash.
Family 3: Is the business running better?
- Gross margin improved. Gross margin is revenue minus the cost of making the goods, as a share of revenue. A rising margin suggests better pricing or cheaper production.
- Asset turnover improved. Asset turnover is revenue divided by total assets: how many dollars of sales each dollar of assets produces. Higher means the company is getting more out of what it owns.
Reading the total
On a Filing.fyi score card, 7 to 9 reads Strong, 4 to 6 reads Mixed, and 0 to 3 reads Weak fundamentals. A high score says the company is profitable and improving on several fronts at once. A low score says several things are sliding together.
Pebble Creek Bikes Inc. is the made-up bike maker from the statements lessons. Its sales jumped from $1.5 million to $2 million this year. Here are its nine tests, using year-end totals.
| Test | Last year → this year | Point |
|---|---|---|
| 1. ROA positive | $120,000 ÷ $2,000,000 = 6.0% | 1 |
| 2. Cash flow positive | $20,000 | 1 |
| 3. ROA improved | $105,000 ÷ $1,750,000 = 6.0% → 6.0% | 0 |
| 4. Cash flow beats profit | $20,000 vs $120,000 | 0 |
| 5. Debt-to-assets fell | $500,000 ÷ $1,750,000 = 28.6% → $600,000 ÷ $2,000,000 = 30.0% | 0 |
| 6. Current ratio rose | $600,000 ÷ $350,000 = 1.71 → $800,000 ÷ $400,000 = 2.00 | 1 |
| 7. No new shares | 100,000 → 100,000 | 1 |
| 8. Gross margin rose | 42% → 40% | 0 |
| 9. Asset turnover rose | $1.5M ÷ $1.75M = 0.86 → $2.0M ÷ $2.0M = 1.00 | 1 |
Total: 1 + 1 + 0 + 0 + 0 + 1 + 1 + 0 + 1 = 5 out of 9. That reads Mixed.
The story behind the 5: Pebble Creek is profitable and growing, but its cash flow is thin because money got stuck in unpaid customer bills and unsold bikes. It also borrowed more and earned a slightly thinner margin on each bike.
A note on close calls. Test 3 was a dead tie, and a tie earns no point. Filing.fyi, like some other calculators, divides this year’s profit by the average of last year’s and this year’s assets instead: $120,000 ÷ $1,875,000 = 6.4%. Under that method ROA did improve, the test passes, and the score becomes 6. Still Mixed, but it shows how one small choice can move a yes-or-no test.
When a test can’t be run
Real filings don’t always report every number the nine tests need. Rather than counting a missing test as a fail, Filing.fyi skips it and keeps track of how many tests it could run. The score card shows the number of passes; the AI-written summary may describe the same result as, for example, 5 of 7 computable signals, meaning five passes out of the seven tests that had data. That is a different picture from 5 of 9, so when you see both numbers, read both.
Where the F-Score falls short
- Yes or no hides size. Two companies can both earn the gross margin point when one improved by a rounding error and the other by a lot.
- Every test counts the same. The point for positive cash flow is worth exactly as much as the point for a slightly higher current ratio, though one is about survival and the other is a detail.
- It looks backward. It grades last year’s reports. A new competitor or a lost contract won’t show up until the next filing.
- Banks and insurers don’t fit. Ideas like gross margin and the current ratio don’t mean much for a bank, so treat their scores with extra care.
- Growth can cost points. A young company that borrows or sells shares to expand will fail some tests even if the plan is sound.
Where to see it on Filing.fyi
Every company page has a Piotroski F card showing the score and its reading (Strong, Mixed or Weak fundamentals). The score feeds the health score behind the page’s label, as explained in how to read a company page. To check any single test yourself, the numbers are in the company’s balance sheet, income statement and cash flow statement.
- Return on assets (ROA)
- Net income divided by total assets; profit earned per dollar the company owns.
- Operating cash flow
- Cash that came in from the everyday business during the year.
- Current ratio
- Current assets divided by current liabilities; a measure of how easily near-term bills can be paid.
- Gross margin
- Revenue minus the cost of the goods sold, as a percentage of revenue.
- Asset turnover
- Revenue divided by total assets; sales produced per dollar of assets.
- Dilution
- When new shares shrink each existing owner’s slice of the company.
- The F-Score is nine yes-or-no tests, one point each, for a total of 0 to 9.
- The tests ask three things: is it profitable, is it getting safer, is it running better?
- It was designed to split cheap stocks into strengthening and weakening companies.
- Check the N of M signals; a score built on fewer tests means less.
- Yes-or-no tests hide how big each change was, so read the numbers behind them.
This lesson is education, not investment advice. Examples use made-up companies and round numbers unless a real filing is named.