How-to · Screening

How to Look for Undervalued Stocks With Public Data

An undervalued stock trades below a reasonable estimate of what the business is worth. Finding one takes three passes over public data and one honest note about why the market might be right.

AI-assisted, reviewed by John James → 4 min read Published

The short version · about 45 minutes

  1. Write down what undervalued means for this search: price below an estimate of value you can defend
  2. Run a first pass on multiples compared with peers and with the stock's own history
  3. Check the balance sheet and whether cash flow backs up reported earnings
  4. Build a simple DCF or reverse DCF for the names that survive
  5. Write down the best case for why the market's price is right

Cheap and undervalued get used as if they were the same word. A cheap stock has a low multiple. An undervalued one trades below what the business is reasonably worth, and plenty of low multiples belong to companies whose earnings are about to shrink, whose debt eats the cash, or whose assets are worth less than the books say.

The difference decides the method. Multiples find candidates. Value takes an estimate.

Define what you’re looking for

Write one sentence before you start. Something like: “A company trading below an estimate of its value that rests on cash flows checkable in the filings.” It sounds obvious. It stops you from ending the search at a low P/E, which is where most cheap-stock lists end.

Also decide what “reasonable” means for you. A conservative estimate uses modest growth and a demanding discount rate. If a stock only looks undervalued under generous assumptions, it probably isn’t.

First pass: multiples against peers and history

A multiple on its own says little. Compare it twice.

Against peers first. A P/E of 12 means one thing in an industry where most companies trade at 25 and another where most trade at 10. Group the results by industry and look for names trading well below the middle of their group. Valuation needs peers argues why the peer set matters more than the number.

Then against the stock’s own history. A multiple well below its usual range can mean the market has turned too pessimistic. It can also mean the business changed. Either way it tells you where to dig, which is the point made in a low P/E is where digging starts.

Use more than one multiple. P/E reacts to one-off gains and losses, EV/EBITDA looks past the capital structure, and price to book suits banks and asset-heavy businesses better than software firms whose main assets never appear on the balance sheet. A name that screens cheap on several measures at once is a stronger lead than one that looks cheap on a single figure.

Second pass: balance sheet and cash flow

Now check what the multiple is resting on.

Start with debt. A company with a low P/E and a heavy debt load can be priced correctly, because lenders get paid before shareholders and a bad year can wipe out the equity. The pattern is worked through in cheap stocks with heavy debt.

Then compare earnings with cash. Over several years, operating cash flow should track net income reasonably closely. When reported profit keeps running ahead of the cash coming in, the gap usually sits in receivables, inventory or capitalized costs, and those have a way of reversing. Look at free cash flow per share for each year and see whether it tells the same story as EPS.

To score this pass the same way every time, the Piotroski F-score turns profitability, cash backing, leverage and efficiency into pass or fail tests built for cheap stocks.

Cut anything that fails here. It’s faster than building a model for it.

Third pass: a simple DCF or a reverse DCF

For the few names left, put a number on value.

A discounted cash flow model estimates future free cash flow and discounts it back to today. Keep it simple: a few years of explicit forecasts, a terminal value, and a discount rate you’d be willing to defend. The DCF calculator handles the arithmetic.

A reverse DCF runs the same math backward. It starts from today’s price and solves for the growth the market is assuming. That’s often more useful, since you only have to judge whether the implied growth looks too low.

If Company A has grown cash flow faster than that for years, has room to keep doing it, and isn’t carrying risks the model ignores, the price may be too low. If 3.8% already looks ambitious, the stock is fully priced or worse, however low its P/E looks. For a longer walk through the forecast version, see how to estimate fair value with a DCF.

Write down why the market might be right

This is the step people skip. Do it anyway.

List the best reasons a well-informed seller has for letting the stock go at this price: a contract that ends next year, a competitor cutting prices, a lawsuit, a customer that makes up a large share of revenue, management that has spent cash badly before. Search the risk factors and the last few earnings calls for each one, and if you can’t answer a reason with something in the filings, treat the discount as deserved until you can.

Keep the note. Read it again when the thesis starts to feel certain.

What goes wrong

  • Stopping at a low multiple.
  • Comparing across industries that never trade at similar multiples.
  • Building a DCF with growth and margins that justify the answer you wanted.
  • Skipping the case against, which is the only part of the work designed to catch the mistake you haven’t noticed you’re making.