Stock Rover pays me for this post, gave me a free Ultimate account, and pays a commission if you subscribe through my links. I told them I would write it the way I write everything else. Judge it by the math, not by the banner.
Omaha. The last race is over.
The grandstand at Ak-Sar-Ben is emptying. Men in hats walk to their cars. Some of them had a few too many beers. The floor is covered with paper. Thousands of tickets, torn, crumpled, stepped on.
A boy is bent over, picking them up.
He is not picking up all of them. He wants a specific kind. Tickets thrown away by men who only understood the word “win.” Place tickets. Show tickets. Tickets held by someone too drunk to read his own bet.
Some of those tickets paid.
The track would not cash them for a kid. His Aunt Alice did.
They called it stooping. The boy was Warren Buffett.
Ten thousand pages, twice
Ten years later he was still stooping. Only the tickets had changed.
At twenty one he sat down with the Moody’s Manuals. Thousands of pages of tiny print, one company after another, numbers out to the margins. He went through them page by page. Every business. Then he did it again.
That is where he found Western Insurance Securities. Price in the manual, twelve to twenty dollars. Earnings, sixteen dollars per share. One year of profit bought the whole stock. Everyone else had stepped over it.
Decades later a student asked him how to find ideas today. Start with the A’s, he said.
Nobody wants that answer. There is no formula in it. There is a boy in an empty grandstand and a young man turning ten thousand pages, and both are doing the same thing. Looking at every ticket, because the winners are lying on the floor with the losers.
I have three children, a day job and this newsletter. I do my research in a café with a pen and a piece of paper. I do not have ten thousand pages in me. I checked. 🙂
So I did the only honest thing a man with less time than Buffett can do. I wrote down exactly what a winning ticket looks like, in one line. Then I let a stock screener do the bending for me. Which screener, I will get to in a minute. The line matters more.
One line
A company passes if its diluted share count today is at least 20 percent below five years ago, or at least 30 percent below ten years ago. One of the two is enough.
Nothing else. No market cap. No sector. No profit. No debt limit. No P/E. No requirement that the company bought a single share this year. I need you to understand why.
A press release says “we repurchased 500 million dollars of stock.” It does not say that options, restricted stock and an acquisition put most of those shares straight back. Diluted shares are what is left after all of that. It is the only number that tells you how much of the business your share owns. Everything else is management talking.
I do not ask whether they bought this year, because buybacks are lumpy. A good allocator buys hard when the stock is cheap, then stops when the price gets silly. A screen that demands a buyback every year rewards the company that buys mechanically at any price and punishes the one that paused for a reason. I want the second company. Twenty percent over five years is about 4.4 percent a year. Thirty over ten is about 3.5 percent a year. Both leave room for a pause.
And there is no P/E, because a cyclical at the bottom of its cycle has no earnings at all, and that is exactly when I want it on the list. In 2025 Alpha Metallurgical had no earnings. A P/E filter would have thrown it out. Earnings are the easiest number in a report to move. The share count is the hardest.
Five hundred and sixty three tickets
I run that line in Stock Rover. I started on the free trial in July, before there was any deal. Since August I have been on a complimentary Ultimate account they gave me for this work.
What it does for me is boring and rare at the same time. It lets me write an equation against historical fundamentals, in this case diluted share counts going back five and ten years, and run it across roughly 8,500 North American stocks in seconds. Most screeners give you dropdown menus. This one lets you write the sentence yourself.
Here is the sentence, exactly as it sits in my account.
On September 3 the line returned 564 companies. When I finalized the Library version the next day, the live data had moved to 563. That is the number behind the cuts below.
Five hundred and sixty three tickets on the floor. Now the part no software review shows you. What happens to them.
Five cuts
I added five filters, one at a time, and wrote down the count after each one.
Cash. Average free cash flow over five years must be positive. A company that shrank its share count while burning cash bought those shares with a lender’s money. 95 gone. 468 left. That cut is blunt. It also throws out General Motors and AerCap, because a finance arm makes free cash flow look like a bank’s. Those I read by hand.
Debt. Net debt below three times EBITDA. A buyback financed by a bond due in 2027 is a bet, not a return of capital. 156 gone. 312 left.
The leak. Stock compensation below 1.5 percent of market value. Stock Rover puts compensation yield in the column right next to the share count, which is the fastest way I know to catch a company that buys back three percent a year and hands two of it to management. 46 gone. 266 left.
Then I asked whether the pattern was still alive. How many of the 266 had turned into net issuers over the last twelve months?
Two.
Long term cannibals almost never reverse. 264 left.
Price. Free cash flow yield above six percent. 101 gone. 163 left.
From 563 to 163 in one afternoon. Buffett needed a year of evenings and Aunt Alice. I needed one line and a Thursday.
Two tickets that lied
I tried to kill the line. Two tickets nearly did.
Alpha Metallurgical. 18.4 million shares in 2021, 12.6 million this summer. Down 30+ percent. Net cash. It passes everything, then dies on the last cut, because free cash flow is slightly below zero. A met coal miner at the bottom of its cycle with a storm damaged terminal. The machine throws it away exactly where I want to be looking. That is why the cuts are questions, not verdicts.
Hertz. 490 million diluted shares when it left bankruptcy in 2021, 314 million this spring. Down 36 percent. The line loves it. Hertz spent 3.5 billion dollars on its own stock in 2021, 2022 and 2023, then stopped, and by July the count was back above 356 million. Five year average free cash flow, minus eight billion dollars a year by the screen’s definition, because a rental fleet is bought with borrowed money. The first cut kills it.
The machine found both. Only one is a cannibal. The machine cannot tell the difference. I can.
The watchlist
One hundred and sixty three rows. Eleven are the same company listed twice. Forty one are insurers, banks and closed end funds, where free cash flow means nothing and I skip them by hand. That leaves 111 operating businesses. That is my cannibal watchlist. Not a buy list. A reading list.
I did not know most of them. That is the point. A few that stood up off the page, with the numbers as they stand today.
Marathon Petroleum. 649 million shares in 2020. 290 million this summer. Down 55 percent, 40.8 billion dollars retired. A refiner. The biggest cannibal on the list by a mile.
Dillard’s. 22.7 million shares in 2020. 15.6 million now. They bought hard at 175 a share, kept buying at 255 and 307, and stopped at 650. Paid a 30 dollar special dividend instead. Exactly the behaviour the line is built to keep and every other screen throws out.
CNX Resources. Appalachian gas, the one industry more hated than my coal. 224 million shares in 2020. 148 million in July. Still retiring 9.5 percent of the company a year at a P/E of six.
H&R Block. 189 million shares five years ago. 129 million now. 2.5 billion dollars of buybacks for a company worth 6.3 billion.
Seneca Foods. Canned vegetables. 9.9 million shares in 2016. 6.9 million now. In 2021 they offered 75 million dollars for their own stock in a tender. Shareholders sent in 531 shares. Nobody would sell. So they bought in the open market at 50 dollars. The stock is 207.
Garrett Motion. Turbochargers. 318 million diluted shares when it left bankruptcy in 2021. 191 million now. Down 40 percent, in an industry the world has declared dead.
Not one of them has announced a “transformational” anything. 🙂
Each of these deserves its own post. Some will get one. Not today. Today is about the line.
The honest part
Stock Rover is not simple. It has more than 800 metrics and it is happy to show you a lot of them at once. The Table looks like a cockpit.
My wife walked past on the first evening, looked at the screen, and asked if I was landing a plane. 🙂
The first hour is ugly and it takes an evening before the thing looks like yours. It gets good after that. It is not good before that.
The data has bad days. A few foreign ADRs show share reductions I could not reconcile with their filings. Petrobras appears with a 64 percent reduction. Its share count has barely moved in ten years. Transcontinental in Toronto shows an 81 percent reduction and a buyback yield above 100 percent. Wrong.
Two more things before you pay for anything. Equation screening and ten years of history start at Premium Plus. The cheapest plan cannot run the line you just read. The plan page shows what sits where. My run used the “Most US & Canada” universe. Stock Rover also offers a broader “All Exchanges” setting, but that is not the same screen—and broader coverage does not automatically make the underlying data reliable. Gulf Keystone trades in London. TAV Airports trades in Istanbul. Neither appeared in the universe I used here. If your research is global, verify the available listings before relying on the screen.
Time to drop the storyteller voice.
Screener, 9 out of 10. Why not higher. It shows how many stocks pass each criterion on its own. I wanted the count after each cut, in sequence. That I built by hand.
Data, 7 out of 10. Why not higher. Petrobras. Read the ADR rows twice.
Interface, 6 out of 10. Why not higher. Ask my wife. 🙂
Coverage, for what I do, 6 out of 10. Why not higher. London. Istanbul. I still need a separate tool for direct listings.
What you get
I did the work for you. Open the trial, go to the Screener Library, and import Cannibal Stocks. The share count line and all five cuts are already built in. Run it and you are looking at the same screen I used. On September 4, it returned 163 rows—the snapshot behind the breakdown and watchlist in this article. When I checked again on September 8, it showed 158. Your live count may differ as prices and underlying data update. Remove the duplicate listings and separate the financial companies, and you have the starting point for my watchlist. The trial is 14 days, every feature, no credit card. That is more time than you need.
Coming soon
Next on my desk is a department store.
Yes. A department store. In Southern malls. The industry Wall Street buried twenty years ago.
Ten years ago it had 39 million shares. Today, 15.6 million. It bought its own stock at four times earnings and stopped at fifteen. Then the dividends started. Thirty dollars a share last January, the largest in its history.
If you own Alpha, read this one. This is what the endgame looks like when a cannibal runs out of cheap shares to eat.
The track would not cash a winning ticket for a kid. He needed his aunt.
The machine picks up every ticket on the floor. It cannot read them.
That part was never for sale. That part is still you.
Neither of us had to be the smartest man in the grandstand. We just had to bend down where everybody else walked past.
Cheers, Sandro
The screener found 163 survivors. My marriage was not one of them. 🙂
Like and Restack.











