Piotroski F-Score

Piotroski only looks at stocks in the lowest third (tertial) of the market cap population (33% of all market caps) and the highest fifth (quintile) of the book-to-market population. He focuses on companies that are small to medium and are financially distressed and also have a very poor coverage by analysts (ideally zero analysts).

As a consequence we will at first limit our population by the following conditions

  • Lower 1/3 of all market caps
  • Top 20% of book-to-market stocks
  • Zero analyst coverage or coverage older than 1 year (or alternatively use stocks with less than 10 analysts coverage)

We therefore sort all stocks by market cap and only keep the lower 1/3rd of that population (lower 33%). Similary we sort all stocks again by book-to-market and only keep the stocks with the highest book-to-market of the the top 1/5th (top 20%)!

What is the book-to-market? The book-to-market is the inverse of a more well known parameter called price-to-book.

Piotroski's F-Score is calculated by summing over 9 parameters.

1 : ROA > 0

The return on assets (ROA) is a ratio that measures the dollars in net profit a business generates per dollar of assets it owns. If it is positive F_Score(ROA) = 1 otherwise 0.

2 : CFO > 0

This measure is the ratio of  operating cash flow divided by total assets. If it is positive F_Score(CFO) = 1 otherwise 0.

3 : ∆ROA > 0

Is the year-2-year change in ROA positive? If this is positive the F_Score(∆ROA) = 1 else 0.

4 : Accrual CFO > ROA

Is CFO greater than ROA? If it is greater then F_Score(CFO>ROA) = 1 else 0.

5: ∆LEVER ≦ 0

It is the historical change in the ratio of total long-term debt to average total assets. An increase in this ratio is negative and therefore F_Score(∆LEVER)=0 otherwise 1.

6: ∆LIQUID > 0

It measures the change in the current ratio between current and previous year.  An increase in the current ratio is positive and therefore F_Score(∆LIQUID)=1 otherwise 0.

7: ∆EQ_OFFER > 0

An increase in the floating number of shares, i.e. an increase in common equity, in other words a dilution of share holder value is negative and if the floating number of shares has increased since 1 year prior the F_Score(∆EQ_OFFER) = 0 otherwise 1.


The year-to-year change of the ratio of gross margin and total sales defines this measure. If the change is positive then F_Score(∆MARGIN) = 1 else 0.

9: ∆TURN

This measure is defined as the change in the company's current year asset turnover ratio, which is the ratio of total sales and beginning of the year total assets. A year on year inrease is positive and we set the F_Score(∆TURN) = 1 otherwise 0.