Back to Blog

Simulating the P&L Before You Make the Decision

Published on: June 9, 2026  ·  9 min read


Most "data-driven" decisions are justified after the fact. We make the call, then build the deck that explains why it was obviously right. The real leverage — the thing I've spent a good chunk of my career doing — is the opposite: simulating the P&L impact of a decision before you commit, while you can still change your mind for free.

Pricing change, marketing-budget reallocation, a retention bet, a new market — these are all financial decisions wearing operational clothes. Each one moves the P&L through a chain of drivers, and the chain is usually knowable in advance. Not precisely. But well enough to tell a good bet from a bad one before you've spent the money.

3scenarios minimum — base, bull, bear — never a single point estimate
1–2inputs that usually drive most of the outcome variance
<1 dayto build a driver model good enough to kill a bad idea

Start with drivers, not totals

The mistake I see most often is modelling the output — "revenue will grow 20%" — instead of the drivers that produce it. A driver-based model breaks the number into the levers you actually control or can forecast, so that when reality diverges you know which assumption broke.

Revenue isn't an input. It's customers × conversion × average order value × frequency. Margin isn't an input. It's revenue minus the costs that scale with it. Build the model as the chain, and a decision becomes a change to one or two links you can reason about.

# A driver-based P&L skeleton — deliberately simple
def monthly_pnl(new_users, conv, aov, freq, gross_margin,
                fixed_cost, variable_cost_per_order):
    orders   = new_users * conv * freq
    revenue  = orders * aov
    cogs     = orders * variable_cost_per_order
    gross    = revenue - cogs
    contrib  = gross * gross_margin          # after channel/processing
    op_profit = contrib - fixed_cost
    return {
        "orders": orders, "revenue": revenue,
        "contribution": contrib, "op_profit": op_profit,
    }

# A decision = a change to one or two inputs.
# A 10% price rise is aov *= 1.10 — and probably conv *= 0.96.

That last comment is the whole game. A price rise doesn't just lift AOV — it usually dents conversion. The model forces you to write down the second-order effect instead of pretending it isn't there.

One number is a guess. Three is a decision.

Never present a single forecast. A point estimate hides its own uncertainty and invites false confidence. Run at least three scenarios — base, bull, bear — built by flexing the key assumptions to honest high and low values.

ScenarioConv. upliftChurn impact12-mo op profit
Bear+2%+1.5pp−₹8L
Base+6%+0.5pp+₹14L
Bull+11%−0.2pp+₹41L

Illustrative scenario set for a hypothetical pricing decision. The spread — not the base case — is what tells you how much you're really risking.

The decision rule lives in the spread. If the bear case is survivable and the base case is good, you take the bet. If the bear case is fatal, the expected value barely matters — you can't afford to be wrong even once.

Sensitivity: find the one input that actually matters

Most models have a dozen inputs and one or two that move almost everything. Sensitivity analysis — flexing each input alone and measuring the swing in the outcome — tells you where to spend your remaining research time, and where precision is wasted effort.

Conversion uplift
±₹24L
Churn impact
±₹16L
AOV change
±₹7L
Fixed cost
±₹3L

Tornado-style sensitivity: how much 12-month op profit swings when each input is flexed across its plausible range, holding the rest at base.

The payoff: if conversion uplift swings the outcome by ₹24L and fixed cost by ₹3L, stop arguing about the cost line. Go pressure-test the conversion assumption — run a small experiment, pull a comparable, talk to someone who's done it. You've just turned "model everything" into "validate the one thing that decides it."

A model's job isn't to predict the future. It's to make your assumptions explicit enough to argue about before they cost you anything.

The honest part: where the model will be wrong

I tell every stakeholder the same thing: this model is wrong, the only question is whether it's wrong in a way that changes the decision. Three failure modes I watch for:

None of that makes the exercise pointless. A model that's roughly right and explicit beats a gut call that's confidently wrong and unexaminable. The value was never the forecast — it was being forced to say out loud what you believe, and by how much, before the money moves.