Piotroski F-Score: How to Spot a Value Trap Before It Snaps Shut
By Chad Hartman
Published June 7, 2026 · Last updated June 14, 2026
A stock trading below its book value sounds like a deal. The company's assets are worth more than the market says, the argument goes. Buy the gap. That logic has worked in enough historical studies — Benjamin Graham ran it for decades — that serious investors still use low price-to-book screens as a starting point for value research.
The problem is structural. A low P/B screen ranks companies by how cheap their market price is relative to net assets. It says nothing about what those assets are doing over time. The company with $10 per share in book value that earned 15% ROA last year and the company with $10 per share in book value that earned 2% ROA and is losing ground look identical in the screen. The first might genuinely be cheap. The second is probably priced correctly for its trajectory — and buying it means walking straight into a value trap.
In 2000, Joseph Piotroski, then a professor at the University of Chicago, published research designed to solve precisely this problem. Using nothing but publicly available financial statement data — no management interviews, no qualitative judgment, no price momentum — he constructed a nine-signal scoring system that distinguishes companies on a recovery trajectory from those still in decline. His results showed approximately 7.5% annual outperformance separating the highest-scoring stocks from the lowest-scoring ones within a low-P/B universe, from 1976 to 1996. That scoring system is the Piotroski F-Score, and understanding it changes how you read a cheap stock.
Table of Contents
- What Is a Value Trap?
- How Piotroski Built the Score
- Signal Group 1: Profitability
- Signal Group 2: Financial Strength
- Signal Group 3: Operating Efficiency
- How to Interpret Your Score
- Why the Data Source Determines the Score's Reliability
- How to Run the Piotroski Screen in GeminIQ
- Frequently Asked Questions
What Is a Value Trap?
A value trap is a stock that appears cheap by conventional valuation metrics — typically price-to-book, P/E, or price-to-sales — but continues declining in price because the underlying business is genuinely deteriorating, not temporarily mispriced. The "trap" metaphor is precise: the position looks like an opportunity until you own it, at which point the mechanism that made it look cheap — the declining earnings, the eroding book value, the weakening competitive position — becomes visible in every subsequent quarterly filing.
The trap does not announce itself. A manufacturing company at 0.7× book value looks cheap relative to its replacement value. What the P/B ratio does not show is that the gross margin has contracted for three consecutive years, the current ratio has been falling, and the asset base has been shrinking faster than management can rationalize it. Those facts are in the SEC filings — in the income statement, balance sheet, and cash flow statement — but a raw valuation screen does not read them. It just sees the multiple.
The F-Score is a systematized way of reading them before you act on the price.
How Piotroski Built the Score
In "Value Investing: The Use of Historical Financial Statement Information to Separate Winners from Losers," Piotroski studied every low price-to-book stock on major U.S. exchanges from 1976 to 1996. The central question was simple: can accounting-based signals, applied mechanically and without judgment, identify which cheap stocks will subsequently outperform within that universe?
The answer was yes. Piotroski identified nine financial statement signals — binary tests, each scoring a 1 if positive and a 0 if not — that collectively predicted subsequent stock performance. Portfolios of stocks scoring 8 or 9 outperformed portfolios scoring 0 or 1 by approximately 7.5% annually over the study period. Buying the high-F-Score stocks and shorting the low-F-Score stocks within the low-P/B universe generated substantial excess returns with no information beyond publicly available filings.
The critical framing is what the F-Score does not do. It does not identify great businesses. It does not predict growth or forecast what a stock will do next quarter. It identifies whether the fundamentals of a cheap company are stabilizing and improving — or whether the cheapness is a leading indicator of continued deterioration. The alpha in Piotroski's research came as much from systematically avoiding the worst traps as from concentrating in the best recoveries.
Subsequent academic research has broadly confirmed the score's effectiveness as a negative filter, though the alpha has compressed somewhat as the approach has become widely known. The signal is most powerful where Piotroski found it: within the low price-to-book universe, where the stakes of distinguishing a genuine recovery from a terminal decline are highest.
Signal Group 1: Profitability
The four profitability signals establish a foundational threshold — is this business actually earning money, and is the trend improving or worsening?
Signal 1: ROA is positive. Return on assets — net income divided by average total assets — must be greater than zero. A company with negative ROA is consuming its asset base rather than generating returns on it. In a low P/B screen, negative ROA is not uncommon: cyclical businesses at trough earnings, companies in active restructuring, and businesses in structural decline all land here. The signal is not demanding — it asks only that the company earns something, not that it earns well. But it eliminates the cohort where the fundamental math of the business is currently pointed in the wrong direction.
Signal 2: Operating cash flow is positive. This signal steps behind the income statement to test whether earnings have cash substance. A company can report positive net income while generating negative operating cash flow — when revenue is recognized before cash is received, when inventory is building faster than it is sold, or when accrued expenses are deferred into future periods. Positive operating cash flow means the business is generating real cash from its operations, regardless of what the income statement reports. It is the most basic test of whether earnings are grounded in economic reality.
Signal 3: ROA improved year-over-year. Direction matters as much as level. A company with a positive but declining ROA is on a trajectory toward the danger zone. A company with a positive and improving ROA is demonstrating that the business is getting better, not worse. This signal distinguishes businesses in early recovery — where the trend is the informative data point — from businesses that appear stable on a single-period snapshot but are quietly deteriorating quarter over quarter.
Signal 4: Accruals. The most sophisticated of the nine signals and, for many analysts, the most powerful. The accruals signal compares operating cash flow to reported net income. If operating cash flow exceeds net income, earnings quality is high — the business is generating more cash than it is reporting in profit, which is the conservative and favorable direction. If reported net income significantly exceeds operating cash flow, the gap is filled with accounting accruals: estimates and deferrals that have benefited the income statement without producing cash. In a troubled company, a large and growing accrual balance is a warning sign that reported earnings are running ahead of the cash reality. The income statement looks better than the cash flow statement, which is rarely a sign that things are actually improving.
GeminIQ's Calculated Metrics surface Return on Assets TTM and Operating Profit Margin TTM directly from XBRL-tagged SEC filing data — the same inputs the profitability signals require. GeminIQ's Financial Statements view lets you compare operating cash flow against net income for any candidate, making the accrual signal directly readable without additional calculation.
Signal Group 2: Financial Strength
If the profitability signals ask whether the business is earning money, the financial strength signals ask whether the balance sheet is getting stronger or weaker while it does. A company can be nominally profitable while accumulating debt, tightening its liquidity buffer, and diluting shareholders to stay afloat. That combination does not represent stabilization — it represents a business shifting from an earnings problem to a balance sheet problem.
Signal 5: Long-term debt ratio decreased year-over-year. Total long-term debt divided by average total assets, compared to the same ratio in the prior year. A declining ratio means the company is de-levering — paying down debt, growing its asset base organically, or both. A rising ratio means the company is becoming more financially fragile even if earnings appear stable. In a classic value trap, rising leverage is often the triggering mechanism: the company borrows to sustain operations while the core business deteriorates, until the debt load itself creates the crisis that finally destroys equity value. This signal catches that pattern before the crisis.
Signal 6: Current ratio improved year-over-year. Current assets divided by current liabilities, year-over-year directional change. A rising current ratio means near-term liquidity is improving — the company is building its buffer against short-term obligations. A falling current ratio means liquidity is tightening. For a company that already looks cheap, tightening liquidity raises the probability that the next operational shortfall forces a dilutive equity raise or a distressed debt refinancing — both events that transfer value away from existing shareholders at exactly the wrong time.
Signal 7: No new equity issuance in the past year. A company issuing common shares to fund operations — rather than to finance a clearly value-accretive acquisition — is typically doing so because internal cash generation cannot cover the gap between what it spends and what it earns. For investors in low P/B stocks, equity issuance at a depressed price is particularly destructive: the new shares are priced near trough valuation, directly reducing book value per share for existing holders and confirming that management lacks confidence in a near-term recovery. A company that has not issued equity in the past year is demonstrating that it can sustain operations without diluting shareholders to do it.
GeminIQ's pre-calculated Debt Ratio and Current Ratio are filterable directly in the Stock Screener, allowing the leverage and liquidity conditions to be applied at scale before reviewing individual companies.
Signal Group 3: Operating Efficiency
The two efficiency signals ask the most forward-looking question in the F-Score: is the business becoming more productive over time, or less?
Signal 8: Gross margin improved year-over-year. Gross margin — revenue minus cost of goods sold, divided by revenue — measures the unit economics of the core business before overhead. An improving gross margin means the company is holding pricing power, reducing input costs, or shifting mix toward higher-margin products. A declining gross margin is the earliest warning sign that competitive pressure, cost inflation, or volume losses are compressing the fundamental economics of the business. It frequently appears in gross margin before it appears in operating income or net income, because SG&A cuts and one-time adjustments can temporarily mask gross margin deterioration at the operating line. When a company's gross margin is contracting across consecutive filings, the income statement is typically being managed, not improving.
Signal 9: Asset turnover improved year-over-year. Revenue divided by average total assets, compared to the prior year. Asset turnover measures how efficiently the company generates revenue from its asset base. Improving asset turnover means the company is doing more with what it has — a sign of genuine operational improvement. Deteriorating asset turnover in a capital-intensive business means the asset base is either growing faster than the revenue it generates or that revenue is declining faster than the company can right-size its asset structure. Either dynamic is a negative indicator within a value screen, where the core question is whether the business is stabilizing or still in decline.
GeminIQ's Gross Profit Margin TTM and Asset Turnover TTM are pre-calculated from as-filed SEC data and available as direct threshold filters in the Stock Screener.
How to Interpret Your Score
With nine binary signals, F-Scores range from 0 to 9. The zones Piotroski identified are not rigid cutoffs — they are probability thresholds based on historical frequencies of subsequent outperformance and underperformance within the low-P/B universe.
A score of 8 or 9 identifies a company passing nearly every test simultaneously: improving profitability, a strengthening balance sheet, and gaining operational efficiency. This combination — cheap and fundamentally improving across all three dimensions — is the highest-probability recovery profile in Piotroski's framework. The business is cheap and the data says it is getting better, not worse. This is the combination that drove the return separation in the original research.
A score of 3 to 7 is the middle ground where most companies land. The business is passing some signals and failing others. At this range the score narrows the analytical field but does not make the decision. Which signals are failing matters: a company scoring poorly on the financial strength signals but well on profitability and efficiency may be on a genuine recovery path that simply requires balance sheet cleanup. A company failing the efficiency signals while maintaining nominal profitability may be managing its income statement while the underlying economics continue to erode. The score prompts the right questions; reading the actual filing answers them.
A score of 0, 1, or 2 is the value trap warning zone. A company failing seven, eight, or nine of these signals simultaneously in a low-P/B screen is the profile Piotroski found most predictive of continued underperformance. The low price is not a margin of safety — it is the market's assessment of a business in ongoing fundamental decline, and the financial statements confirm it. Standard screeners surface these companies as potential value opportunities. The F-Score provides the counter-argument, directly from the filings. The most productive use of time is eliminating this cohort before spending further analytical energy on individual positions.
The most reliable application of the F-Score is as a negative filter. It does not guarantee that an 8 or 9 outperforms. It documents, systematically, that a 0, 1, or 2 is failing multiple independent tests of financial health simultaneously — and that the historical probability of recovery from that profile, within a low-P/B universe, is low.
Why the Data Source Determines the Score's Reliability
The F-Score is built entirely on year-over-year changes in accounting ratios. That makes it more data-source-sensitive than almost any other quantitative metric, because the signal lives in the change — and the change depends entirely on whether the prior-year and current-year figures are derived consistently from the same filing structure.
Standard third-party financial data aggregators normalize financial statements to fit standardized templates. When a company reclassifies a cost item — moving it from cost of goods sold to operating expenses, or vice versa — an aggregator applying a normalized template may restate the prior year to match the new presentation. That restatement makes the apparent gross margin look identical across periods, which eliminates what should have been a meaningful gross margin signal. The aggregator shows no change. The as-filed data shows exactly what the company reported in each period — including the reclassification discontinuity that a careful analyst would want to investigate.
The accrual signal faces a parallel problem: comparing operating cash flow to net income across periods requires that both figures are sourced from the same filing structure, without normalization adjustments that introduce artificial consistency. Lease accounting changes under ASC 842 affect the current ratio signal. Acquisition-related asset growth affects the asset turnover signal in ways that may have nothing to do with operational efficiency. A reliable F-Score requires financial data that preserves the as-reported structure — not standardized data that smooths those differences away. For a detailed walkthrough of how aggregator normalization distorts calculated metrics across specific line items, the guide to verifying financial data against SEC filings covers the mechanics directly.
GeminIQ sources all financial statement inputs from XBRL-tagged SEC filings and does not apply aggregator normalization to as-reported line items. A gross margin reclassification shows up as a period discontinuity in the historical series — which is what it is, and what an F-Score calculation built on year-over-year comparisons needs to see.
How to Run the Piotroski Screen in GeminIQ
GeminIQ's Stock Screener applies the most tractable Piotroski conditions as direct metric filters. Because computing a precise year-over-year delta for all nine signals requires accessing multiple historical filing periods simultaneously, the screener approximates the F-Score by filtering for the threshold levels that correspond to positive signals — profitability above zero, reasonable leverage, and improving efficiency — to surface companies that would score well on the F-Score framework.
The filters map directly to the three signal groups. For profitability: Return on Assets TTM ≥ 5 and Operating Profit Margin TTM ≥ 5. For financial strength: Debt Ratio ≤ 45 and Current Ratio ≥ 1.5. For operating efficiency: Gross Profit Margin TTM ≥ 20 and Asset Turnover TTM ≥ 0.4. Set Sort By to Return on Assets TTM descending to surface the most profitable companies passing the full filter stack at the top of the list.
For the most faithful application of Piotroski's original research — where the strongest alpha was documented — add a Price-to-Book Ratio filter of P/B ≤ 2.0. This restricts results to the low-P/B universe where the F-Score was designed to operate as a value trap filter. Without the value overlay, the screen surfaces financially healthy companies broadly, which is useful in its own right, but removes the specific context where the score's trap-detection function is most powerful.
The full pre-configured screener is available at GeminIQ's Piotroski F-Score Screener. For a complementary approach that combines cheapness and quality from a different angle, the Magic Formula investing post covers how earnings yield and return on invested capital combine in Greenblatt's screener — a methodology that targets a similar class of undervalued businesses but ranks by quality and value simultaneously rather than filtering on financial health signals. And for a deeper look at why the quality of underlying financial data matters for any metric calculated from it, the ROIC explainer covers how methodology differences move calculated figures by ten percentage points or more for the same company in the same period.
Frequently Asked Questions
Does the F-Score work outside the low price-to-book universe?
The score functions as a financial health indicator in any context, but the documented alpha — approximately 7.5% annual return separation — came specifically from the low-P/B universe. Applied universally, the score retains value as a negative filter: avoiding the 0–2 cohort is still useful regardless of valuation context. But the magnitude of the return separation in Piotroski's research was a low-P/B phenomenon. Most academic follow-up work confirms the score is more powerful as a quality tiebreaker within a value screen than as a standalone signal applied to the full market.
What is the difference between the F-Score and the Altman Z-Score?
They measure related but distinct things. The Altman Z-Score is a bankruptcy prediction model — it estimates the probability of financial distress within two years using a weighted formula of five balance sheet and income statement ratios. The F-Score is a financial health improvement score — it measures whether a company's fundamentals are getting better or worse across nine binary signals. A company can carry a safe Altman Z-Score (low near-term bankruptcy risk) and a low F-Score (fundamentals deteriorating gradually). For value investors, both are useful in combination: the Z-Score screens out existential risk, and the F-Score screens out ongoing fundamental deterioration before it reaches a crisis.
Can I apply the F-Score to technology companies?
With modification. Asset turnover is naturally lower for capital-light software businesses, and the gross margin signal may require threshold adjustment for SaaS companies where cost-of-revenue structure differs fundamentally from manufacturing or retail. The profitability signals — positive ROA, positive operating cash flow, improving ROA, strong accruals — transfer directly and are arguably most informative for capital-light businesses where cash flow quality is the critical variable. The accrual signal is particularly worth examining for technology companies: a software business where reported earnings consistently run far ahead of operating cash flow is a qualitatively different situation than one where cash generation matches or exceeds reported income.
How frequently should the F-Score be re-evaluated?
Quarterly, aligned with 10-Q filing cadence. Because the signals are based on year-over-year comparisons, each new filing updates the trailing inputs. A company that scored a 3 in Q1 because of a temporarily weak current ratio and declining asset turnover may score a 6 by Q3 if the balance sheet has strengthened and efficiency trends have reversed. The score is a dynamic indicator, not a permanent classification. Treating a single score as static misses the directional information that makes the tool most useful — the trend of the score is often as informative as the level.
Why might F-Score calculations differ across financial platforms?
Because the underlying financial statement inputs differ. Gross margin reclassifications that an aggregator has normalized away will produce a different gross margin improvement signal than the as-filed data. Lease capitalization under ASC 842 affects both the current ratio and asset turnover calculations, and platforms handle the current portion of operating lease obligations differently. The ROA calculation depends on how average total assets are derived across periods, and whether any restated figures have been applied to prior periods. The most reliable calculation uses as-filed XBRL data directly, without normalization that introduces artificial consistency across periods. Two platforms running the same company through the same nine signals can produce scores that differ by two or three points for this reason alone.
Research Faster. Invest Smarter.
Most financial websites rely on third-party aggregators that simplify or process data before you ever see it. We built GeminIQ because we believe you deserve a better fundamental analysis tool—one that goes beyond basic price charts and processed numbers. We extract our data directly from SEC 10-K and 10-Q filings to ensure that when you look at a balance sheet or a cash flow statement, you are seeing the numbers exactly how the company reported them. Our goal is to give you the tools to verify the narrative for yourself using clean, traceable data. Start researching now at GeminIQ.com.
Disclaimer: The content in this blog is for educational and entertainment purposes only and does not constitute financial, legal, or tax advice. Investing involves risk, including the loss of principal. The views expressed are my own and not intended as financial advice or a guarantee of future performance.