Most screeners tell you what a stock costs. Very few tell you whether the business behind it is actually getting stronger or quietly rotting. The Piotroski F-Score does exactly that, compressing nine accounting signals into a single 0-to-9 score that separates improving companies from deteriorating ones. It was built for cheap stocks, and it remains one of the most effective quality filters an individual investor can bolt onto a value screen.
What the Piotroski F-Score Actually Measures
Accounting professor Joseph Piotroski published the F-Score in 2000 after testing it on two decades of low price-to-book stocks. His finding was blunt: cheap stocks as a group underperform, but the strongest cheap stocks crush the weakest. The score awards one point each for nine binary tests grouped into three buckets. Profitability covers positive net income, positive operating cash flow, rising return on assets, and cash flow exceeding net income. Leverage and liquidity covers falling long-term debt, a rising current ratio, and no new share issuance. Operating efficiency covers rising gross margin and rising asset turnover. A stock scoring 8 or 9 is firing on nearly every cylinder. A stock scoring 0 to 2 is a business in decline, no matter how cheap the multiple looks. The beauty is that every input comes straight from the income statement, balance sheet, and cash flow statement, so nothing depends on forecasts or analyst opinion.
Why It Works So Well on Cheap Stocks
Value screens are a magnet for value traps. A stock trades at 6x earnings or 0.7x book for a reason, and often that reason is a shrinking business the market is pricing correctly. The F-Score cuts through this by asking whether the fundamentals are improving year over year rather than judging a single snapshot. Piotroski's original study found that buying high-score value stocks and shorting low-score ones would have generated roughly 23% annual returns over 1976 to 1996, with the improvement concentrated in small, thinly followed names where mispricing lingers. The lesson for screening is to never use cheapness alone. Pair a low P/B or low EV/EBITDA filter with an F-Score floor, and you systematically discard the melting ice cubes while keeping the genuine bargains. This is the difference between owning a cheap company that is healing and one that is dying.
How to Build the Score From Screener Data
You do not need a special data feed to approximate the F-Score. On DeltaScreener, pull the 10-year statement view for any candidate and score it by hand in under two minutes. Start with the four profitability checks: is net income positive, is operating cash flow positive, did return on assets rise versus last year, and did operating cash flow exceed net income. That last test is the accruals check and catches companies goosing earnings without real cash. Next, the three balance-sheet checks: did long-term debt to assets fall, did the current ratio rise, and did shares outstanding stay flat or shrink. Finally, the two efficiency checks: did gross margin expand and did asset turnover improve. Add up the points. Anything 7 or higher is a strong quality signal. Use the historical trend columns to spot whether margins and returns are genuinely trending up rather than bouncing off a single bad year.
Combining the F-Score With Valuation Filters
The score is a scalpel, not a whole strategy. On its own a 9 tells you a business is improving but says nothing about price, and a wonderful company at 40x earnings can still be a poor investment. The classic setup is to screen first for value, then rank survivors by F-Score. A practical DeltaScreener workflow: set price-to-book below 1.5, add positive free cash flow, exclude financials where the ratios distort, then compute the F-Score on the remaining names and keep only 7 through 9. For a growth-tilted variant, swap price-to-book for a PEG below 1.5 and use the F-Score to confirm the growth is backed by improving cash generation, not accounting fiction. Backtests consistently show the combined value-plus-quality approach delivers a smoother ride and fewer catastrophic losers than either filter alone. The score's real job is defense, quietly removing the 20 to 30 percent of cheap stocks most likely to blow up.
Limits and Common Mistakes
The F-Score is not a crystal ball. It looks strictly backward at one year of change, so a company emerging from a deliberate investment cycle can score low despite a bright future, while a mature business coasting on past strength can score high right before it stalls. It also misbehaves on banks, insurers, and REITs, where leverage and asset turnover mean something entirely different, so exclude those sectors or use sector-specific quality metrics instead. Do not treat a 9 as a buy signal in isolation, and do not automatically dump every low scorer, since turnarounds often begin from a score of 2 or 3. Rerun the score every quarter as fresh statements arrive, because the whole point is to track direction, and direction changes. One more trap to avoid is scoring a company off a single restated or one-off year, which can inflate the return-on-assets or margin comparison and hand you a misleading point. Treat it as one disciplined input among several, and it will steer you away from the value traps that quietly destroy portfolios.
Ready to put the F-Score to work? Open the DeltaScreener screener at deltascreener.com/screener, filter for cheap, cash-generative US stocks, then use the 10-year statement view to score the survivors and keep only the businesses that are genuinely getting stronger.