In 1998, a high-school student at the Berkshire Hathaway annual meeting asked Warren Buffett a very simple question: what criteria do you look at when selecting your stocks?

His answer took about a minute, and it is the most useful minute in the archive.

“The criteria for selecting a stock is really the criteria for looking at a business. We are looking for a business we can understand… And then when we find that business we try to figure out whether the economics of it means the earning power over the next five, or 10, or 15 years is likely to be good and getting better or poor and getting worse… And then we try to decide whether we’re getting in with some people that we feel comfortable being in with. And then we try to decide what’s an appropriate price for what we’ve seen up to that point.”

— Warren Buffett, Berkshire Hathaway annual meeting, 4 May 1998

Read that again as a sequence, because the order is doing real work.

Understand the business. Judge its economics. Judge the people. Then decide the price. Price is fourth. Not first, not skipped — fourth.

Then he added the line that explains why most people never actually do it:

“What we do is simple but not necessarily easy.”

Fat Pitches is an attempt to make the simple part routine, so your attention is free for the part that is not easy. This post walks through the whole thing.

The problem the app was built to solve

Start with the mechanical complaint, because it is the one that made the product necessary.

Say you have $10,000 in dry powder and eight businesses you would genuinely love to own — at the right price. You place a resting buy limit order on the first one. Your broker reserves the cash. That cash can no longer back the other seven.

So you split it. $1,250 each. Now every one of your best ideas is a position too small to matter.

What a broker forces

One bankroll stands behind one resting order. Eight ideas means eight slices, so conviction gets divided by the number of things you are watching. You choose breadth or size.

What actually happens

Fat pitches do not arrive in batches. They arrive one at a time, usually when something unrelated has frightened the market. You almost never need all eight at once.

That mismatch is the whole opening. A watchlist never triggers all at once, but a broker makes you pre-commit capital as if it will.

So Fat Pitches does not submit the order upfront. It holds your intent — the ticker, the trigger price, the size — and watches the market. Your cash stays free. The app calls the result reach: your free cash multiplied by how many intents you can have resting at once. It is explicitly not margin and not leverage. It is just the removal of an artificial constraint.

Takeaway

Cash reserved against an order you hope never fills at today's price is cash doing nothing. Keeping it free is not a way to bet more — it is a way to stop your best ideas from shrinking each other.

But the mechanic is the last step, not the product

Here is the part that matters more than the order engine, and it is the reason this post exists.

If keeping your powder dry only helps you buy more things faster, it is not an edge — it is a way to lose money more efficiently. The mechanic is only worth having if what comes before it is rigorous.

So the app is built around the research, and arming the order is the final act. A name moves through a pipeline of named stages:

Screener → Researching → Capital Allocator → Portfolio → Order History

with two terminal stages that are just as important: Too hard and Discarded. More on those shortly — the ability to formally kill an idea is a feature, not an absence of one.

Inside the Researching stage, every pitch is read through seven steps, in a fixed order.

  1. Business risk

    What could kill this company, whatever the price? Filing-risk language and earnings-call evasions surface here.

    eliminate, don't discount
  2. Quality

    Is the business durable enough to own? A cross-sector composite of profitability, safety and earnings integrity.

    QMJ 0–100
  3. Skin in the game

    Are management's incentives yours? Stock owned versus pay taken, and how much pay is genuinely at risk.

    CEO Alignment 0–100
  4. Price risk

    What is it worth, and how far can it fall? A bear/base/bull DCF, and value floors for where price could settle if you are wrong.

    downside to floor
  5. Price entry

    The price you will actually pay, and the room it leaves you to be wrong.

    margin of safety
  6. Conviction

    Your reasoned confidence, written down and scored against a seven-question checklist you control.

    Conviction Score 1–10
  7. Sizing

    How much of the portfolio this one name gets. The only step that survives being wrong about all the others.

    % of portfolio

Steps one to three are about the business and the people running it. Steps four and five are about the price. Step six is where you write down what you believe and why. Step seven is what happens if you are wrong.

Why that order, and not any other

The ordering is borrowed from Howard Marks, and it rests on a distinction most investors blur: there are two kinds of risk, and they demand opposite responses.

Business risk

Lives in the company. A broken moat, dishonest management, a regulator, a disappearing customer. It has nothing to do with what you paid, and you cannot value your way out of it. The only sane response is to walk away.

Price risk

Created entirely by what you pay. No asset is so good it cannot become overpriced; none so bad it cannot become cheap. The response is a discount — and then position size.

That is why business risk is screened first, before any valuation work happens. And it is why price risk deliberately sits fourth: a value floor is itself a price, so it cannot be judged before you have an opinion on what the business is worth.

Buffett put the same idea more bluntly in 1998, when a Wharton student asked how he adjusts discount rates for riskier cash flows:

“We look at riskiness, essentially, as being sort of a go/no-go valve… if we think we simply don’t know what’s going to happen in the future… In that case, we just give up. We don’t try to predict those things. And we don’t say, ‘Well, we don’t know what’s going to happen, so therefore we’ll discount it at 9 percent instead of 7 percent,’ some number that we don’t even know. That is not our way to approach it.”

— Warren Buffett, Berkshire Hathaway annual meeting, 4 May 1998

A go/no-go valve. Not a dial. This is exactly why Too hard is a terminal stage in the app and not a low score — Munger’s third basket, made into a button you can actually press. Passing on something you cannot evaluate is a completed decision, and it gets recorded as one.

I went deeper on this split in business risk versus price risk — it is the single idea the rest of the platform hangs from.

The machine scores. You decide.

Two numbers sit at the centre of a pitch, and keeping them apart is the point.

QMJ (Quality Minus Junk) is machine-computed, 0–100. It normalises five metrics — return on invested capital, gross profitability, net debt to EBITDA, accruals, and free-cash-flow stability — against sector peers where a peer set exists. Below 50 is weak, 50–75 solid, above 75 exceptional. It says how strong the business is. It says nothing whatsoever about whether the price is right. What “quality” actually means here gets its own post: what makes a business high quality.

Conviction Score is yours, 1–10, built from a seven-question weighted checklist you can edit in settings. Business intelligibility, moat width and trajectory, an inversion stress test, capital quality, regulatory dependencies, management trust, and variant perception. The weights must sum to 1.0, and the list is hard-capped at seven — a new question has to replace one, never be appended. That cap is deliberate: a checklist you keep adding to is a checklist you stop answering honestly.

Sitting between them is CEO Alignment, 0–100, which is machine-computed but measures something the other two do not: whether the people running the business lose money when you do. Half of it is skin in the game — the value of the CEO’s stock against their annual pay — and half is pay discipline. Buffett’s own framing of this is sharper than the usual outrage about pay levels, and it gets its own post in the number isn’t the problem.

The seventh question is the interesting one, and it is where the app declines to help you.

Variant perception asks you to name the difference: the market believes X, I believe Y, my edge is Z. The app will happily supply the first half — the consensus narrative is the same for every investor, so there is no edge in assembling it yourself. But the disagreement has to be typed by a human, and that question alone has no AI prompt attached, on purpose. The reasoning in the source is blunt: a model trained on public text is the consensus. Asking it to tell you where the consensus is wrong is asking it to disagree with itself.

Takeaway

If you cannot state where you differ from the market, you do not have an edge. You have agreement, at a price.

There is a second reason the two scores stay apart. An earlier version of that seventh question was a “bias audit” — asking you to score your own objectivity on the same weighted axis as the business. It got removed once the flaw became obvious: a rigorous self-audit lowered a stock’s score and self-flattery raised it, which is exactly backwards for a number used to rank tickers. Questions one to six measure the business. So must the seventh.

Honesty as a design constraint

This is the part I would want to know about before trusting anyone’s software with a real order.

A point estimate is only honest when a human chose it. Where you have committed — pinned a value floor, pinned an intrinsic value — the figure shown is your number, at your precision. Where the app merely inferred it, you get the range the inference actually spans, and it says so. If five value floors disagree, the readout tells you they disagree by how much and invites you to pin one, rather than quietly averaging them into a false single number.

The DCF is allowed to refuse. If a company’s owner-earnings yield comes back implausibly high — above 25%, which usually means the cash-flow base is contaminated rather than that you have found a miracle — the model returns no intrinsic value and no margin of safety at all. It would be trivial to emit a number anyway. That number would rank at the top of the screener and could end up behind a real buy order, which is precisely the argument for refusing.

Some verdicts are bands, not scores. Buyback discipline is a good example. Munger’s objection to buybacks was never that they are bad — it is that their value depends entirely on the price paid. Retiring stock at 8× earnings creates value for the owners who stay; doing the same at 30× destroys it. So the app plots every year of repurchases against the multiple it actually happened at, and returns a band — owner, momentum, neutral, insufficient — rather than a 0–100 score, because the judgement rests on well under a dozen fiscal years and a score would imply a precision the sample cannot carry.

Nothing advisory ever blocks you. The AI reads of 10-K risk language and earnings-call evasions are flagged advisory. They make you look before you leap. They do not veto.

Sizing comes last, on purpose

Step seven is the payoff, and it is last for a specific reason: size is the only decision here that survives being wrong about everything above it.

The rule is a floor on two ceilings — whichever is tighter wins:

weight = min( kelly ceiling , risk budget ÷ downside-to-floor )

The risk budget ceiling asks an evidence-based question: if this falls to its floor, how much of the whole portfolio is permanently gone? Default budget is 3%. If a name can fall 30% to its floor, 3 ÷ 30 caps it at 10% of the portfolio. You can run this arithmetic on any covered stock with the free position size calculator for stocks.

Note that the budget is a share of the portfolio, not of the position — because it has to aggregate. Ten names each risking 3% of the portfolio can impair 30% of it in one correlated repricing, and a correlated repricing is exactly when floors get tested together.

The Kelly ceiling rests on an estimated edge, and for equities that estimate carries enormous error. So it is shrunk hard. Overbetting is punished asymmetrically: twice Kelly grows at zero, while half Kelly keeps roughly three-quarters of the growth at a fraction of the variance. Err low.

The two cover each other’s blind spot. And the arithmetic underneath is unforgiving in a way worth internalising:

LossGain needed to recover
20%+25%
30%+43%
50%+100%

One more caveat the interface carries and I will repeat here: a floor is a model, not a bound. Net cash can be encumbered. A trough multiple is a median of past cycles, not a tail. Everything here is modelled permanent loss, never a guarantee. The full argument is in how much to bet.

Checking yourself against your own record

Once you own things, the app stops being about analysis and starts being about behaviour.

Portfolio Calibration reads your book as a statistical sample of past decisions rather than a set of stories. Each tile is aimed at a specific bias: batting average against base-rate neglect, average winner versus average loser against prospect theory, your largest drag surfaced explicitly against the urge to look away, and a conviction-calibration tile that answers an uncomfortable question — if your high-conviction names are not outperforming your speculative ones, your scoring is not calibrated, and you should trust it less.

And there is a metric deliberately designed as an anti-KPI: Patience, the number of days since your last trade. It is not there to nudge you to act. It is there to make sitting still visible and legible, which is the opposite of what every other trading interface does. That idea has a post of its own in the market timing trap.

Where this actually is today

Plainly, because it would be easy to blur:

  • The research platform is live and free — screener, the seven steps, QMJ, DCF and value floors, the conviction journal, calibration, market climate, the glossary.
  • The broker connection is built but not switched on for everyone, you can apply for the private Beta though. You can build theses and track names in a virtual portfolio, and everything set up now carries over.

The whole thing in five lines

  • Business risk is a go/no-go valve. You cannot discount your way out of it, so screen it first.
  • Quality tells you whether to want it. Price tells you whether to buy it. Never let one answer the other.
  • A machine can score a business. Only you can say where the market is wrong.
  • Size is the one decision that survives being wrong about all the rest.
  • Waiting is not inactivity. It is the position.

Buffett’s checklist has been public for decades, which is exactly why it is worth taking seriously: nobody is hiding it, and almost nobody runs it. Simple, but not necessarily easy.