Startup CFO

Monte Carlo Says We Have 18 Months of Runway β€” With 94% Confidence

94% confidence on 18-month runwayStartup Finance6 min read

Key Takeaway

10,000 Monte Carlo simulations gave us probability-weighted runway projections for PyratzLabs β€” 94% confidence on 18 months, 73% on 24 months β€” replacing gut-feel estimates with board-ready data.

The Problem

"How much runway do we have?"

Every founder gets this question. From investors, from board members, from their own anxiety at 3 AM. And almost every founder answers it the same way: take current cash, divide by monthly burn, get a number.

That number is wrong.

It's wrong because it assumes burn is constant. It isn't β€” it grows with headcount, infrastructure, and unexpected costs. It's wrong because it ignores revenue variance. Some months Billy does 800K€ GMV, some months 1.2M€. It's wrong because it doesn't account for the probability of a client churning, or a funding round closing late, or a hiring plan accelerating.

A single-point runway estimate is a lie you tell yourself because probability distributions are harder to explain in a board meeting.

At PyratzLabs, I manage a portfolio of companies β€” Zama (FHE encryption), Artificial-Lab (AI studio), and Billy (5.5M€ GMV in Q1 2026). Each has different burn profiles, revenue curves, and risk factors. I needed runway projections that accounted for uncertainty, not pretended it didn't exist.

The Solution

The Monte Carlo Financial Simulator on Mr.Chief. I input current financials, growth assumptions with ranges (not single points), and variance parameters. The agent runs 10,000 simulations, each with randomized inputs drawn from the specified distributions, and outputs a probability distribution of runway scenarios.

The result isn't "we have 18 months." It's "we have 94% probability of 18+ months, 73% probability of 24+ months, and 12% probability of running out in 12 months." That's a sentence a board can make decisions with.

The Process

yamlShow code
# Monte Carlo Runway Simulation β€” On demand
name: monte-carlo-runway
trigger: "simulate runway"
channel: telegram

task: |
  Run Monte Carlo simulation for runway projections.

  INPUT PARAMETERS:
  Current cash: €2.8M
  Monthly burn (base): €145K
  Burn growth rate: 3-5% per month (uniform distribution)
  Monthly revenue (current): €85K
  Revenue growth: 8-15% per month (normal distribution, ΞΌ=11%, Οƒ=3%)

  RISK EVENTS (Bernoulli trials per month):
  - Major client churn: 5% probability, -€25K/month revenue impact
  - Hiring acceleration: 10% probability, +€30K/month burn increase
  - Unexpected cost (legal, infra): 3% probability, €50-150K one-time
  - Follow-on funding: 8% probability after month 12, €1-3M injection

  SIMULATIONS: 10,000
  HORIZON: 36 months

  OUTPUT:
  - Probability distribution of runway (months)
  - Confidence levels: 50%, 75%, 90%, 95%
  - Sensitivity analysis: which variable impacts runway most
  - Scenario comparison: base vs optimistic vs pessimistic
  - Board-ready summary

The simulation engine:

pythonShow code
import numpy as np

def monte_carlo_runway(params, n_simulations=10000, horizon_months=36):
    results = []

    for sim in range(n_simulations):
        cash = params["current_cash"]
        monthly_revenue = params["current_revenue"]
        monthly_burn = params["current_burn"]
        runway_months = 0

        for month in range(1, horizon_months + 1):
            # Revenue growth (normal distribution)
            rev_growth = np.random.normal(
                params["rev_growth_mean"],
                params["rev_growth_std"]
            )
            monthly_revenue *= (1 + rev_growth)

            # Burn growth (uniform distribution)
            burn_growth = np.random.uniform(
                params["burn_growth_min"],
                params["burn_growth_max"]
            )
            monthly_burn *= (1 + burn_growth)

            # Risk events
            if np.random.random() < params["churn_probability"]:
                monthly_revenue -= params["churn_impact"]

            if np.random.random() < params["hiring_accel_probability"]:
                monthly_burn += params["hiring_accel_impact"]

            if np.random.random() < params["unexpected_cost_probability"]:
                one_time = np.random.uniform(
                    params["unexpected_cost_min"],
                    params["unexpected_cost_max"]
                )
                cash -= one_time

            if month > 12 and np.random.random() < params["funding_probability"]:
                funding = np.random.uniform(
                    params["funding_min"],
                    params["funding_max"]
                )
                cash += funding

            # Net cash flow
            net = monthly_revenue - monthly_burn
            cash += net

            if cash <= 0:
                runway_months = month
                break
        else:
            runway_months = horizon_months  # Survived full horizon

        results.append(runway_months)

    return np.array(results)

The board-ready output:

View details
πŸ“Š MONTE CARLO RUNWAY ANALYSIS β€” PyratzLabs
Simulations: 10,000 | Horizon: 36 months

RUNWAY PROBABILITY DISTRIBUTION:
  β‰₯12 months:  98.2% βœ…
  β‰₯18 months:  94.1% βœ…
  β‰₯24 months:  73.4%
  β‰₯30 months:  52.8%
  β‰₯36 months:  41.2%

PERCENTILE ANALYSIS:
  P5  (worst 5%):    14 months
  P25 (conservative): 21 months
  P50 (median):       28 months
  P75 (optimistic):   34 months
  P95 (best case):    36+ months (cash-flow positive)

BREAK-EVEN ANALYSIS:
  Month revenue exceeds burn (median): Month 16
  Probability of reaching profitability within 24mo: 67.3%

SENSITIVITY ANALYSIS (impact on median runway):
  Revenue growth Β±5%:     Β±6.2 months  ← HIGHEST IMPACT
  Burn growth Β±2%:        Β±3.8 months
  Client churn rate Β±3%:  Β±2.4 months
  Funding probability:    Β±4.1 months (if removed entirely: -4.1mo)

SCENARIO COMPARISON:
                    P(β‰₯18mo)   P(β‰₯24mo)   Median
  Base case         94.1%      73.4%      28 months
  Revenue +20%      98.8%      91.2%      34 months
  Major client churn 87.2%     58.1%      22 months
  Hiring freeze      97.4%     84.8%      32 months
  No follow-on       91.3%     64.2%      24 months

🎯 BOARD SUMMARY:
  With 94% confidence, we have 18+ months of runway.
  Revenue growth rate is the single biggest lever β€” a 5%
  increase in monthly growth adds 6 months of runway.

  Key risk: client concentration. One major churn event
  drops 24-month probability from 73% to 58%.

  Recommendation: maintain current burn, accelerate revenue
  diversification, begin fundraising conversations at month 9
  (6 months before median break-even).

The Results

MetricSingle-Point EstimateMonte Carlo
Runway answer"19 months""94% chance of 18+, 73% chance of 24+"
Accounts for revenue varianceNoYes (normal distribution)
Accounts for burn growthNoYes (uniform distribution)
Models risk eventsNoYes (churn, hiring, unexpected costs)
Includes funding scenariosNoYes (Bernoulli trials after month 12)
Sensitivity analysisManual "what if"Automated across all variables
Board confidence in numberLow ("what if…" questions)High (probabilities answer "what if")
Time to produce30 min in spreadsheet45 seconds

The board meeting where I presented this was the first time nobody asked "but what if revenue doesn't grow that fast?" The probability distribution already answered that question. At every confidence level.

Try It Yourself

  1. Gather your current financials: cash, monthly burn, monthly revenue
  2. Define ranges, not single points: revenue growth between 8-15%, not exactly 11%
  3. List your risk events with estimated probabilities and impact
  4. Run 10,000 simulations β€” anything less and the tail risks are undersampled
  5. Present the probability distribution, not a single number
  6. Update monthly as actuals come in β€” the simulation gets more accurate over time

A single-point runway estimate is a comforting lie. A probability distribution is an uncomfortable truth. Boards deserve the truth.


I don't tell my board we have 18 months of runway. I tell them we have 94% confidence in 18 months. The 6% is what keeps us sharp.

Monte Carlorunwaystartup-financeboard-reportingfinancial-modeling

Want results like these?

Start free with your own AI team. No credit card required.

Monte Carlo Says We Have 18 Months of Runway β€” With 94% Confidence β€” Mr.Chief