Fundamentals9 min read

Understanding the Piotroski F-Score (With Nifty 50 Examples)

All 9 Piotroski criteria explained with Indian stock examples. How to use the F-Score to separate quality compounders from value traps on the NSE.

YieldIQ Team22 April 2026

Why this score still works after 23 years

In 2000, accounting professor Joseph Piotroski asked a simple question: within the cheapest 20% of stocks (bottom quintile on book-to-market), could a mechanical 9-point test separate the winners from the losers?

The answer was yes. His 9-point system, now called the Piotroski F-Score, beat the market by about 7.5% a year over the 1976-1996 backtest.

What makes it still useful in India today is that it focuses on trends, not levels. A company with declining margins and rising debt is dangerous even at low P/B. A company with improving margins and falling debt is interesting even at higher P/B. The F-Score captures this without needing judgment calls.


The 9 criteria (one point each)

For each test, the company gets 1 point if the answer is yes, 0 otherwise. Score range: 0 to 9. Higher is better.

1. Positive Net Income

Is the company profitable this year?

What it catches. Companies burning cash. In Indian small caps this alone filters out a lot of perpetually loss-making firms.

Example pattern. A Nifty 50 constituent like TCS scores easily here — consistently profitable for two decades. A turnaround story like a formerly distressed airline might fail this test until operations stabilise.

2. Positive Operating Cash Flow

Is the company generating cash from core operations (not just accounting profit)?

What it catches. Companies whose reported profit is not backed by real cash collection. A classic red flag is growing receivables faster than revenue — the "sales" are happening on paper but customers are not paying.

Example pattern. Asian Paints typically passes this test easily — FMCG and paints both have fast cash collection cycles. A capital goods company with long project cycles may fail this in a year when receivables balloon.

3. ROA improving year-over-year

Is Return on Assets this year higher than last year?

What it catches. Businesses that are becoming more efficient vs businesses that are flat or deteriorating.

Example pattern. HDFC Bank in its high-growth years routinely passed this test — ROA rose consistently. In a year where asset growth outpaces profit growth, even a quality bank can temporarily fail.

4. Operating Cash Flow greater than Net Income

Is the cash coming in bigger than the profit reported?

What it catches. Quality of earnings. When OCF > NI, the "profit" is backed by real cash. When NI > OCF, some of the profit is accounting — depreciation adjustments, working capital games, revenue recognition timing.

Example pattern. Nestle India and HUL typically pass this test every year — FMCG has depreciation higher than capex in cash terms. An IT services firm with rising unbilled revenue may fail this test one quarter.

5. Lower long-term debt vs last year

Did the company reduce long-term debt (or at least hold it flat on a proportional basis)?

What it catches. Balance sheet getting safer. Rising debt with flat profits is a classic deterioration signal.

Example pattern. A debt-free Nifty 50 name like TCS or Infosys passes trivially. A conglomerate that just did a large acquisition will likely fail this test the year of the deal.

6. Improving Current Ratio

Is short-term liquidity (current assets / current liabilities) stronger than last year?

What it catches. Working capital stress. A falling current ratio means bills are piling up faster than the money to pay them.

Example pattern. A well-run FMCG passes most years. A real estate firm with a launch-heavy year may fail as customer advances and supplier liabilities churn.

7. No new shares issued

Did the share count stay flat or decrease vs last year?

What it catches. Dilution. Every new share issued is a slice of your ownership given away.

Example pattern. Companies with active buybacks (select IT majors, a few FMCG names) do well here. Companies that issued fresh equity, or used ESOPs aggressively, fail this test.

8. Improving gross margin

Is gross margin (revenue minus cost of goods) higher this year vs last?

What it catches. Pricing power. A company that can raise prices, or cut input costs, sees gross margin expand. A company that cannot is squeezed.

Example pattern. Asian Paints and Pidilite have historically passed this test in most normal years — strong brands, ability to pass through input cost increases. A cement company in a year of rising coal costs is likely to fail.

9. Improving asset turnover

Is revenue per rupee of assets higher than last year?

What it catches. Productivity. A company growing revenue faster than assets is squeezing more out of each rupee of capex. A company growing assets faster than revenue is over-investing.

Example pattern. A mature FMCG or IT services firm usually does well here. A company in a heavy capex phase (setting up new plants, acquiring) may fail this test for 2-3 years even if the strategy is sound.


Putting it together: how to read the score

F-ScoreSignalWhat to do
8-9Strong across the board, improving fundamentalsCandidate for deeper research
6-7Healthy, mostly improvingReasonable quality filter
4-5Mixed signals, no clear directionUsually skip
2-3Multiple deteriorating metricsRed flags, dig into why
0-1Almost everything going wrongLikely distress or in decline

An F-Score in isolation is not a buy or sell signal. It is a quality filter. Combine it with valuation (is the stock trading at a sensible price?) and moat (is the advantage durable?).


Illustrative Nifty 50 snapshot

Below is an illustrative table showing the kind of F-Score profile you might see across different Nifty 50 businesses. These are realistic ranges, not specific quoted data points — actual scores change year to year. Use YieldIQ's per-stock pages for live numbers.

CompanyTypical F-Score RangeWhy
Asian Paints6-8Consistent profitability, strong cash flow, steady margin trend
TCS7-9Debt-free, strong FCF, buybacks help share count criterion
HDFC Bank6-8High ROA, improving operational metrics in most years
Tata Steel3-6Cyclical — score swings with the steel cycle

The steel company example is telling: it is not a "bad" business, but the F-Score whips around because cyclicals deteriorate and improve on a 3-4 year rhythm. An F-Score of 4 for Tata Steel at the bottom of the cycle can precede a strong rally.


Where the F-Score falls short

Banks and NBFCs need a separate lens. Piotroski designed this test for non-financial companies. For banks, metrics like asset turnover and gross margin do not map cleanly. Use NPL ratios, NIM trends, and credit cost trends instead.

It is backward-looking. The score is based on the last two years of annual filings. By the time a company's F-Score drops from 8 to 4, the market has often already re-rated the stock.

No valuation input. A company with F-Score 9 at a 60x PE is still risky. The score tells you about quality, not price.

Cyclicals confuse it. As above, commodity and capital-intensive cyclicals will fail multiple criteria at the bottom of their cycle — sometimes exactly when they are the most interesting.


How to use the F-Score on YieldIQ

Every stock page on YieldIQ shows the current Piotroski F-Score along with the underlying components. For example, look up HDFC Bank fair value or Asian Paints fair value and the F-Score is on the quality tab.

To filter for high-score stocks across the market, start with the discover page and sort by F-Score. Cross-reference with the Nifty 50 page to focus on large-cap quality.

A practical workflow:

  1. Filter for F-Score 7 or higher
  2. Within that set, filter for wide or narrow moat
  3. Within that set, rank by margin of safety
  4. Research the top 10 by hand

That funnel typically turns up a few genuine candidates per month.


Common misuses

Buying just because F-Score is 9. Quality is one ingredient. Price matters too.

Selling just because F-Score dropped from 8 to 6. One criterion can flip temporarily — a capex-heavy year, for instance. Look at which specific criterion changed and why.

Applying to banks without adjustment. The framework needs modification for financials. Use sector-appropriate metrics.

Treating it as predictive. F-Score is a snapshot of recent quality trends. It is not a forecast of stock returns.


Bottom line

The Piotroski F-Score is 23 years old and still one of the cleanest, most honest quality filters in fundamental investing. It works in India for the same reason it worked in 1990s US: most retail investors focus on price and ignore the quiet deterioration in the underlying business.

A high F-Score combined with reasonable valuation and a durable moat is as close to a textbook compounder setup as you will find. A low F-Score on a cheap stock is a value trap in the making.

Use it as a filter, not an oracle.


Disclaimer: YieldIQ is not a SEBI-registered investment adviser. This article is educational only and does not constitute investment advice. Consult a qualified advisor before investing.

Related articles

Apply this on YieldIQ

Free DCF analysis, screeners, portfolio import, tax reports for 6,000+ Indian stocks.

Start Free →

Published 22 April 2026· Educational content, not investment advice. YieldIQ is not registered with SEBI as an investment adviser.