The Value Toolkit · Module 03

The Piotroski F-Score

Nine yes-or-no questions about a company's books, worth one point each. It isn't a valuation — it never tells you what a stock is worth. It answers a different, quieter question that saves value investors from their most common mistake: this stock is cheap, but is it cheap because it's good, or cheap because it's dying?

~7 min readFor the experienced investorQuick reference: Methodology →

01Where it comes from

In 2000, University of Chicago accounting professor Joseph Piotroski published a paper with an uncomfortable observation: buying cheap stocks — low price-to-book — works on average, but the bucket is littered with wrecks. For every bargain there's a “value trap”: a stock that's cheap because the business is genuinely falling apart. He wanted a dead-simple way to tell them apart using nothing but the financial statements.

His answer was the F-Score: nine binary tests of financial health, each worth a point, for a total from 0 to 9. In his sample, separating the cheap stocks by score worked remarkably well — the strongest scorers went on to beat the weakest by roughly 7.5 percentage points a year. Same cheap bucket; the score sorted the survivors from the traps.

02The nine tests

There's no equation here — it's a scorecard. Each test asks “is this true?” and a yes earns a point. They fall into three groups:

Profitability4 points
  1. Positive net income. The company actually made money this year.
  2. Positive operating cash flow. And the profit shows up as real cash.
  3. Return on assets improved versus last year.
  4. Cash flow exceeds net income — earnings backed by cash, not accounting accruals.
Leverage, liquidity & funding3 points
  1. Lower long-term debt than last year — deleveraging, not borrowing to survive.
  2. Higher current ratio — improving short-term solvency.
  3. No new shares issued — not diluting owners to raise cash.
Operating efficiency2 points
  1. Higher gross margin — more profit per dollar of sales.
  2. Higher asset turnover — the asset base is working harder.

8–9 is a strong, improving company; 0–2 is a business deteriorating on nearly every front. Most stocks land in the middle.

Read the nine again and you'll notice most ask “better than last year?” — not “good?” The F-Score measures direction, not altitude. Hold that thought.

03A healthy score

Linamar — our value stock from the earlier modules — computed from its latest filings:

LinamarTSX: LNR.TOStrong
F-Score & financials: Aug 23, 2026 data snapshot — not live data
F-Score7 / 9
Reads asHealthy & improving

Seven of nine. Profitable, cash-generative, not leaning on debt or dilution. Recall it also screened cheap on the Graham Number (−36%) — and that combination, cheap and a high F-Score, is exactly the pairing Piotroski designed the tool to find. Cheapness says “worth a look”; the F-Score says “and it isn't falling apart.” (The live page breaks out which of the nine it passed.)

04What the score won't tell you

Here's the trap the F-Score can walk you into if you read it as a quality grade. Meet Canopy Growth — the cannabis company — scored on the same nine tests:

Canopy GrowthTSX: WEED.TORead with care
F-Score & financials: Aug 23, 2026 data snapshot — not live data
F-Score4 / 9
Accumulated losses−$11.2B
Altman Z−13

Four out of nine — a middling score you might read as “meh, mediocre.” But this is a company with over $11 billion in accumulated losses and an Altman Z of −13. How does a business like that score a 4? Because most of the nine tests reward improvement, not health— and a company cutting costs and shrinking losses can rack up “better than last year” points while still burning cash. The score isn't wrong; it's answering “is this improving?”, not “is this good?”

⚠ How to read it — and how not to

Three rules for the F-Score

  • Direction, not altitude.A rising score off a terrible base is still a terrible business. Always read it next to absolute profitability and solvency (that's what the Altman Z and the warning-signs panel are for).
  • It's a filter, not a buy signal. Piotroski built it to sort already-cheap stocks. A high F-Score on an expensive stock tells you nothing about price — pair it with a valuation like the Graham Number or a DCF.
  • Weak on financials, and backward-looking.Some tests (gross margin, asset turnover) barely apply to banks, and every test looks only at the last two years — it can't see a cliff that hasn't hit the statements yet.

Used the way Piotroski intended — as the second question after “is it cheap?” — the F-Score is one of the most reliable, easy-to-compute quality checks ever devised. Used as a standalone grade, it will hand a value trap a passing mark. This is why the app always shows it beside a valuation and a solvency read, never alone.

◆ Run it yourself

See all nine checks on any stock

The research page breaks the F-Score into its nine individual tests — green for each one a company passes — right next to its valuation and its Altman Z, so you see health, price, and solvency in one glance.

Source: Joseph D. Piotroski, “Value Investing: The Use of Historical Financial Statement Information to Separate Winners from Losers,” Journal of Accounting Research (2000). Figures for LNR.TO and WEED.TO are from the Aug 23, 2026 data snapshot and are not live; the live research page recomputes them from the most recent filings.

For educational use. This is not financial, investment, or tax advice, and nothing here is a recommendation to buy or sell any security. Every model has known blind spots — always verify against a company's primary filings before acting. · travisvaluation.ca