Highest Piotroski F-Score — S&P 500 stocks scoring 7+
Nine simple yes/no tests for financial strength. These tickers passed seven or more.
| # | Ticker | Company | Sector | Piotroski F | Period |
|---|---|---|---|---|---|
| 1 | PTC | PTC Inc. | Technology | 9 | 2025-FY |
| 2 | NDAQ | Nasdaq, Inc. | Financial Services | 9 | 2025-FY |
| 3 | VMC | Vulcan Materials Company | Basic Materials | 9 | 2025-FY |
| 4 | ORLY | O'Reilly Automotive, Inc. | Consumer Cyclical | 9 | 2025-FY |
| 5 | RMD | ResMed Inc. | Healthcare | 9 | 2025-FY |
| 6 | AAPL | Apple Inc. | Technology | 8 | 2025-FY |
| 7 | MSFT | Microsoft Corporation | Technology | 8 | 2025-FY |
| 8 | NEM | Newmont Corporation | Basic Materials | 8 | 2025-FY |
| 9 | RL | Ralph Lauren Corporation | Consumer Cyclical | 8 | 2025-FY |
| 10 | PNR | Pentair plc | Industrials | 8 | 2025-FY |
| 11 | STE | STERIS plc | Healthcare | 8 | 2025-FY |
| 12 | TYL | Tyler Technologies, Inc. | Technology | 8 | 2025-FY |
| 13 | TT | Trane Technologies plc | Industrials | 8 | 2025-FY |
| 14 | XYL | Xylem Inc. | Industrials | 8 | 2025-FY |
| 15 | UAL | United Airlines Holdings, Inc. | Industrials | 7 | 2025-FY |
| 16 | OKE | ONEOK, Inc. | Energy | 7 | 2025-FY |
| 17 | MTB | M&T Bank Corporation | Financial Services | 7 | 2025-FY |
| 18 | ROK | Rockwell Automation, Inc. | Industrials | 7 | 2025-FY |
| 19 | MSCI | MSCI Inc. | Financial Services | 7 | 2025-FY |
| 20 | PH | Parker-Hannifin Corporation | Industrials | 7 | 2025-FY |
| 21 | ROST | Ross Stores, Inc. | Consumer Cyclical | 7 | 2026-FY |
| 22 | RSG | Republic Services, Inc. | Industrials | 7 | 2025-FY |
| 23 | SBAC | SBA Communications Corporation | Real Estate | 7 | 2025-FY |
| 24 | MRSH | Marsh & McLennan Companies, Inc. | Financial Services | 7 | 2025-FY |
| 25 | RTX | RTX Corporation | Industrials | 7 | 2025-FY |
| 26 | TDG | TransDigm Group Incorporated | Industrials | 7 | 2025-FY |
| 27 | VRSN | VeriSign, Inc. | Technology | 7 | 2025-FY |
| 28 | TPR | Tapestry, Inc. | Consumer Cyclical | 7 | 2025-FY |
| 29 | TDY | Teledyne Technologies Incorporated | Technology | 7 | 2025-FY |
| 30 | UHS | Universal Health Services, Inc. | Healthcare | 7 | 2025-FY |
| 31 | SW | Smurfit Westrock Plc | Consumer Cyclical | 7 | 2025-FY |
| 32 | WDAY | Workday, Inc. | Technology | 7 | 2026-FY |
| 33 | WST | West Pharmaceutical Services, Inc. | Healthcare | 7 | 2025-FY |
| 34 | NDSN | Nordson Corporation | Industrials | 7 | 2025-FY |
| 35 | UNP | Union Pacific Corporation | Industrials | 7 | 2025-FY |
| 36 | NOC | Northrop Grumman Corporation | Industrials | 7 | 2025-FY |
| 37 | MU | Micron Technology, Inc. | Technology | 7 | 2025-FY |
| 38 | PYPL | PayPal Holdings, Inc. | Financial Services | 7 | 2025-FY |
| 39 | RCL | Royal Caribbean Cruises Ltd. | Consumer Cyclical | 7 | 2025-FY |
| 40 | NTAP | NetApp, Inc. | Technology | 7 | 2025-FY |
What you’re looking at
The Piotroski F-Score is the most underrated number in equity research. It was published in 2000 by an accounting professor at the University of Chicago who’d noticed something annoying: the cheap stocks academics loved to cite as “value” outperformers were dragged down by a graveyard of zombies — companies whose cheapness was a symptom of decay, not a bargain. Piotroski wanted a way to separate the genuine bargains from the value traps without reading a thousand 10-Ks, so he wrote down nine yes/no tests covering profitability, leverage, and operating efficiency, and showed that high scorers (8 or 9 out of 9) crushed the broader value cohort.
A quarter of a century later, the score still works, and the math is so simple you can verify it on a single page of any annual report. This list is every S&P 500 company in our database currently scoring 7 or higher, sorted highest first. A 9 means the company passed every test. A 7 means it whiffed on two of them. Below 7 is fine territory but isn’t worth a separate list.
The nine tests, explained
Piotroski’s nine tests split into three categories. Each one returns 1 if the company passes, 0 if it doesn’t. Add them up.
Profitability (four tests). Positive net income this year. Positive operating cash flow this year. Return on assets higher than last year. Operating cash flow bigger than net income (so the profit isn’t a phantom accrual). The first two filter out money-losers. The third asks whether the business is improving. The fourth — the most important of the bunch — asks whether the reported earnings are actually backed by cash. Companies that fail test 4 are not necessarily fraudulent, but they are accruing receivables faster than they collect, which is the first warning sign on the way to a real problem.
Leverage and liquidity (three tests). Long-term-debt-to-assets is lower than last year (or zero). Current ratio is higher than last year. No new share dilution. These three reward management discipline. Filing.fyi’s <mark> for a company that’s deleveraging and improving its working-capital position and not selling more stock is a strong signal that the operators know what they’re doing.
Operating efficiency (two tests). Gross margin higher than last year. Asset turnover higher than last year. Either pricing power is improving or the asset base is being sweated harder. Both are good things.
That’s it. Nine yes/no questions, one number per company. The whole appeal is that you can compute it yourself in five minutes. The discipline is that you have to actually do it for every name in your watchlist, every quarter.
How to read this list
A score of 9 is rare. Filing.fyi’s full universe contains a few perfect-9 holders this quarter — that’s roughly 1% of the index. Their common thread isn’t sector or size — you’ll see a homebuilder, a financial-exchange operator, an aggregate-and-cement producer, a medical-device company, a software vendor. The common thread is boring operational discipline: no margin compression, no working-capital bloat, no equity raises. They’re the companies your portfolio manager mentions in passing and you forget about because they don’t have a story.
A score of 8 is the workhorse band. Most well-run S&P 500 components live here in good years. One missed test isn’t a problem; it’s usually a deliberate trade-off (a one-time debt refinancing, a strategic acquisition that bumped up the asset base). Look at the trend: an 8 that was a 9 last year is a yellow flag worth a paragraph in the MD&A. An 8 that was a 6 last year is the opposite — it’s a company on the way up.
A score of 7 is the bottom of this list. Don’t sneer at it. Two missed tests on a nine-point scale is normal, and Piotroski himself flagged the 7-and-above cohort as the outperformers in his original paper. The names sitting at 7 are usually high-quality businesses with one specific drag — a recent debt deal, a working-capital headwind from a supply-chain shift, a margin compression from input costs. Worth reading the 10-K to figure out which.
What this list won’t tell you:
- Valuation. A perfect-9 company can be expensive. Piotroski separates real bargains from value traps within the cheap cohort; it doesn’t tell you whether something is cheap to begin with. Cross-reference with the company’s own P/E, P/B, and EV/EBITDA before deciding anything.
- Forward-looking risk. The score is backward-looking — it grades the trailing fiscal year against the year before that. A company facing an obvious regulatory cliff or a known patent expiration can still score 9 on last year’s data. Read the risk factors.
- Quality of the underlying numbers. A high F-Score and a Beneish M-Score above -1.78 is a red flag, not a green one. The two scores work better together: if the company is also on our value-trap-radar, the strength signal is suspect.
Why this list moves slowly
Piotroski inputs come from annual 10-K filings — fiscal-year cash flow, fiscal-year balance sheet, fiscal-year income statement. That means a given company’s score updates roughly once a year, when its 10-K hits EDGAR. We re-rank the list every time a constituent files. So the table you see today reflects the most recent 10-K we’ve processed for each name. If you check back in three months, half the names may have shifted by one rank as their FY filings come in.
If you’re looking at the table and seeing the same five names at the top that were there last quarter — that’s a feature, not a bug. Perfect-9 holders tend to stay perfect-9 holders for years. Compounding is supposed to be boring.
How we use this list internally
The first place Filing.fyi looks when adding to a watchlist is the intersection of three lists: this one, going-concern-radar (companies we want to avoid), and value-trap-radar (companies whose growth looks suspicious). A high Piotroski F is necessary but not sufficient. The companies we end up writing detailed hubs for sit at 8 or 9 on this score, and clean on both red-flag screens.
Click any ticker to read the full Filing.fyi hub. Each page shows the per-test breakdown so you can see which of the nine boxes the company checked and which it missed — and which direction the score is trending against last year.
Common questions
How does this differ from a “quality factor” ETF? Quality factors typically blend ROIC, debt/equity, and earnings stability with weights that change between providers. Piotroski is one specific scoring scheme, fully transparent, with no proprietary weights — every component is published in the company’s own 10-K. We use it because it’s auditable, not because it’s better than every other framework.
What about non-financial sectors? Piotroski’s tests assume a normal industrial/consumer balance sheet. They don’t translate cleanly for banks and insurers (whose “current ratio” doesn’t mean what it means for an industrial), or REITs (whose accruals look different by design). When you see a financial-services or real-estate name on this list, the score is still computed using the same arithmetic, but interpret it with a heavier dose of “read the actual filings.” The signal is weaker than for, say, an industrial parts supplier.
Why isn’t every S&P 500 name on this list? This list is only companies scoring 7 or higher, so we exclude roughly half of the index by design. The full sortable forensic table per ticker is on each company’s hub page.
How fresh is this data? The data layer underneath this page hits the same backend that powers every ticker hub on Filing.fyi. Scores recompute whenever a fresh 10-K lands. If a name on the table looks stale, click through — the hub page shows the exact filing date of the inputs.
Filing.fyi publishes the underlying forensic scores on every company hub. Every ranking on this page is computed from the company's own SEC filings — no recycled summaries, no third-party score blends.