Right now, there is clearly a lack of value in the market. Despite the volatility and recent market movements, I’m finding value still hard to come by at the moment.
A barometer that I use to make such observations is by viewing the number of net nets available in the market.
During the crash of 08, the market was brimming with cheap companies trading for less than their liquidation value. However, as of today, there are 6-7 net nets by Ben Graham’s definition.
When the market is either fairly or over valued, quality of the investment matters. Low quality stocks have risen substantially and the downside to such stocks cancels out any margin of safety that may remain.
Piotroski Score
Quality of the business, discussed by Piotroski’s Score, is a factor to consider when searching for such investment opportunities.
To determine the quality of the business, Joseph Piotroski, devised a simple 9 point system.
A discrete score between 0-9 which reflects nine criteria used to determine the strength of a firm’s financial position. The Piotroski score is used to determine the best value stocks, nine being the best. The score was named after Chicago Accounting Professor, Joseph Piotroski who devised the scale according to specific criteria found in the financial statements. For every criteria (below) that is met the company is given one point, if it is not met, then no points are awarded. The points are then added up to determine the best value stocks. (Investopedia)
Profitability
1. Positive return on assets in the current year (1 point)
2. Positive operating cash flow in the current year (1 point)
3. Higher return on assets (ROA) in the current period compared to the ROA in the previous year (1 point)
4. Cash flow from operations are greater than ROA (1 point)
Leverage, Liquidity and Source of Funds
5. Lower ratio of long term debt to in the current period compared value in the previous year (1 point)
6. Higher current ratio this year compared to the previous year (1 point)
7. No new shares were issued in the last year (1 point)
Operating Efficiency
8. A higher gross margin compared to the previous year (1 point)
9. A higher asset turnover ratio compared to the previous year (1 point)
How to Interpret the Piotroski Score
Obviously, the higher the score, the better. A company that achieves a score of 9 is fundamentally very strong. Any company that has a score 8 and above is considered excellent.
Free Piotroski Spreadsheet
I’ve created a free spreadsheet for you to calculate the Piotroski score for any company. This is a basic version offers the last 3 years of Piotroski score.
The limitation is that financial companies cannot be calculated with the spreadsheet as their financial statements are different and the required line items do not exist.

Testing the spreadsheet
- IBM has a TTM score of 7, down from 8 in 2009
- SBUX has a score of 7, up from 6 in 2009
- KO has a score of 7, up from 5 in 2009
- HANS has a score of 4, down from 7 in 2009
Requirements
- Windows ONLY. Sorry, no MAC support.
- Microsoft Excel 2000 and above.
How to Use
If you have never used my free and premium stock valuation spreadsheets before, you will need to install a free Microsoft excel add-in called “SMF”, short for Stock Market Function, created by Randy from the Yahoo SMF group.
This add-in will allow you to retrieve data automatically from the internet rather than you having to manually plug it in. I also made the add-in into a simple EXE file to sa
1. Download the SMF add-in. Unzip the contents to C:\SMF
2. Download and open the OSV_Piotroski_F_Score_Spreadsheet.xls file.
3. You will likely see a prompt displaying “This workbook contains one or more links that cannot be updated”. Then go to page 5 of the manual titled “Second Part of Installation” to finish the install.
4. Enter any non financial company ticker into the yellow box, press enter, then click on calculate and bingo!
Download Links
OSV_Piotroski_F_Score_Spreadsheet.xls








May 19th, 2010 at 1:26 pm
Hi Jae,
for some strange reason it is not working for me. the Altman Z works, and the OSV spreadsheets work.
May 19th, 2010 at 5:51 pm
Ur work as always is great. Thx. Ur Altman z screener is wonderful. Would you happen to know of a good free altmanz screener? I have simple premise and simply want to buy puts on low z score companies right now while looking for quality
May 20th, 2010 at 9:15 am
@ Graham,
Still not working? There shouldn’t be anything different with this one.
@ Sp,
I’m using a custom screener but aside from that I believe you will have to use a premium screener such as AAII.
May 20th, 2010 at 10:20 pm
@ Graham
Since it retrieves data from Morningstar, typically you need to create an IE cookie for the site before the add-in can access data from their site. That’s because they do some special redirection, sometimes for advertising purposes, on your first visit to the site each day. I usually just visit the site with the EXCEL Web Query process to create the cookie (keyboard shortcut alt-d-d-w). But it is one reason I tend to avoid using Morningstar as a data source.
@ SP
AdvFN has the Altman Z value in their screener product, but it requires (free) registration on their site to use. You might be able to do it on StockScreen123.com as well — I have set up a Piotroski screen there, and they do have a predefined one for Piotroski.
@ Jae Jun
You can also use element numbers 15001-15010 for current Piotroski items (using AdvFN data) and number 15011 for the Altman Z value.
You could also retrieve it directly from AdvFN:
=RCHGetTableCell(“http://www.advfn.com/p.php?pid=financials&symbol=MMM”,1,”>Altman”)
.-= Randy Harmelink´s last blog ..Re: Help with RCHGetTableCell-Template-BarChart-Technical-Signals =-.
May 21st, 2010 at 7:07 am
thk you. I will check it out. Also your spreadsheets are extremely useful, thank you for those. I’m not sure but it seems like discount rate cannot be adjusted between 9 and 15 and that would be very beneficial (or at least) having a 12% discount rate option would be nice.
May 28th, 2010 at 8:11 am
Jae,
First, thanks for the free spreadsheet. Is it possible for you to allow changing the link to SMF plugin location? The update links is disabled and I have installed the plugin at a different location for another application’s use. I try to have two copies of the same stuff in different locations.
- Vilas
May 28th, 2010 at 1:38 pm
@ Sp,
Are you referring to the free or premium valuation spreadsheets?
@ Vilas,
Can you send me a reminder email or through the contact form?
May 28th, 2010 at 2:40 pm
Very cool. Thanks for the work Jae.
Just wanted to point out one thing with regard to Piotroski scores. Piotroski’s original paper was written with the 9 criteria being applied to those companies with P/B ratios in the lowest 20th percentile of all stocks. The idea was that stocks with a low P/B tend to outperform in aggregate, but there is a wide variability in whether any single low P/B company will outperform. Piotroski designed the 9 criteria with the intent of trying to filtering out the “good” low P/B companies from the “bad”.
Thus, there are effectively 10 Piotroski criteria: the 9 mentioned plus the requirement that the stock be in the lowest quartile with respect to P/B.
Many times the low P/B criteria is inadvertently bypassed by people in discussing these F-scores.
Thanks again for a great resource.
May 28th, 2010 at 2:43 pm
@Tim2.0: “lowest 20%”, that is.
May 28th, 2010 at 3:38 pm
Jae,
I was referring to the free Piotroski score spreadsheet. And I meant to say ‘I try NOT to have two copies of the same stuff in different locations.’ in the earlier note.
Vilas
May 28th, 2010 at 3:56 pm
I figured it out. Thanks. This is good work. I discovered your website a couple months ago and am impressed by the content. Keep it up!
May 28th, 2010 at 9:25 pm
@ Time2.0
Interesting point. What P/B ratio do you think I should be searching for? Just less than 1?
May 31st, 2010 at 5:23 pm
@Jae: I ran a quick screen last week with Bloomberg on US companies. The lowest quintile of companies had P/B ratios below 0.6, roughly.
June 28th, 2010 at 8:20 am
hi, thanks for the helpful bingo info mate, there’s so many options these days it’s hard to know where to look for relevant info, thanks.
July 8th, 2010 at 10:35 am
Hi Jae Jun,
I noticed that the Excel Piotroski calculator isn’t working anymore. Parameter 3, 8, 9, are returning “#value!” errors. This is a new development since it worked fine a few weeks ago.
Keep up the excellent contributions.
Joe
July 8th, 2010 at 11:46 pm
@ Joe,
Yes some things have changed with the data and I just haven’t had time to fix the free spreadsheets yet.
August 2nd, 2010 at 12:41 pm
Hi Jae Jun,
On the Excel Petroski, I’m getting #VALUE! errors on parameters 3,5,6,8&9. Am I doing something wrong?
Thanks!
Chris
August 7th, 2010 at 12:02 am
Chris,
To get the latest working version, subscribe with your email and you will get a list of free spreadsheet downloads.
August 21st, 2010 at 11:59 pm
The Piotroski spreadsheet used to run. Then it wouldn’t. I reinstalled from the email. Now it won’t run because it says the macro is disabled due to it not being signed and/or security level is high. I try setting security to low (Tools>Macro>Security) but still get the same message every time. Any thoughts?
August 26th, 2010 at 7:15 am
Hi Jae Jun,
I can’t get the links to work because I have Windows installed on G: not C:, and I guess I need the password to change the links path. Is there any workaround?
regards,
Roger
August 26th, 2010 at 9:24 am
a work around is to search and replace “C:\SMF\..” with “” which will find all instances of C:\SMF\.. and delete it without affecting anything.
August 26th, 2010 at 10:57 am
@ Michael,
Did you check whether the add-in is activated? Maybe it got unchecked somehow.