Startup CFO
Monte Carlo Says We Have 18 Months of Runway β With 94% Confidence
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
| Metric | Single-Point Estimate | Monte Carlo |
|---|---|---|
| Runway answer | "19 months" | "94% chance of 18+, 73% chance of 24+" |
| Accounts for revenue variance | No | Yes (normal distribution) |
| Accounts for burn growth | No | Yes (uniform distribution) |
| Models risk events | No | Yes (churn, hiring, unexpected costs) |
| Includes funding scenarios | No | Yes (Bernoulli trials after month 12) |
| Sensitivity analysis | Manual "what if" | Automated across all variables |
| Board confidence in number | Low ("what ifβ¦" questions) | High (probabilities answer "what if") |
| Time to produce | 30 min in spreadsheet | 45 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
- Gather your current financials: cash, monthly burn, monthly revenue
- Define ranges, not single points: revenue growth between 8-15%, not exactly 11%
- List your risk events with estimated probabilities and impact
- Run 10,000 simulations β anything less and the tail risks are undersampled
- Present the probability distribution, not a single number
- 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.
Related case studies
Startup CFO
PyratzLabs Runway Simulator β What the Board Sees Every Quarter
Monte Carlo runway simulation with 10,000 scenarios replaced back-of-napkin estimates. How AI agents give our board probabilistic cash runway forecasts with confidence intervals.
Startup CFO
6-Month Cash Flow Forecast β Updated Every Monday Morning
AI agent builds rolling 6-month cash flow forecasts with Monte Carlo simulation. 1,000 scenarios, P10/P50/P90 confidence bands, automated weekly updates. Mr.Chief CFO agent.
Fund Manager
DCF Valuation of a Portfolio Company β Agent Says It's 40% Overvalued
An AI agent built a 5-year DCF model with sensitivity analysis in 5 minutes, flagging a portfolio company as 40% overvalued. Replacing $15K analyst fees with autonomous valuation.
Want results like these?
Start free with your own AI team. No credit card required.