Startup CFO
Cap Table Modeling β What Happens If We Raise at 30M Pre?
Key Takeaway
Our AI agent modeled three fundraising scenarios for Artificial-Lab β 20M, 30M, and 40M pre-money β showing dilution impact, option pool expansion, and liquidation waterfall for each, in 15 minutes instead of days with a lawyer.
The Problem
Fundraising math is deceptively complex. "We'll raise β¬5M at β¬30M pre" sounds simple. But trace it through: What's the dilution per shareholder? What happens to the option pool? What does the liquidation waterfall look like with a 1x non-participating preference? What if there's anti-dilution protection and the next round is a down round?
Artificial-Lab was hitting traction. The product was working, revenue was growing, and inbound interest from investors was real. The question wasn't whether to raise β it was at what terms.
I needed to compare scenarios quickly. Not in a week, after the lawyers bill 15 hours for a cap table model. Now. In a meeting. "What if we go 20M pre instead of 30M? What does that look like for the founding team?"
Traditional approach: spreadsheet gymnastics, or pay a law firm $5,000 for a cap table model that takes 3-5 business days. By then, the negotiation window might have closed.
The Solution
Warren builds cap table models on demand. Input the current cap table, proposed round parameters, and scenario variants. Output: dilution per shareholder, option pool mechanics, and liquidation waterfall for each scenario. Side-by-side comparison so you can make the tradeoff explicitly.
The Process
Current cap table input:
yamlShow code
# cap-table input
company: "Artificial-Lab"
shares_outstanding: 10000000
current_holders:
- name: "Bilal (Founder)"
shares: 5000000
pct: 50.0%
- name: "Co-founder"
shares: 2500000
pct: 25.0%
- name: "Angel Round"
shares: 1500000
pct: 15.0%
preference: "1x non-participating"
- name: "ESOP (allocated)"
shares: 700000
pct: 7.0%
- name: "ESOP (unallocated)"
shares: 300000
pct: 3.0%
Scenario parameters:
yamlShow code
scenarios:
- name: "Conservative (β¬20M pre)"
pre_money: 20000000
raise_amount: 5000000
option_pool_target: 12% # post-money
investor: "VC Fund A"
preferences: "1x non-participating"
anti_dilution: "broad-based weighted average"
- name: "Base Case (β¬30M pre)"
pre_money: 30000000
raise_amount: 5000000
option_pool_target: 12%
investor: "VC Fund A"
preferences: "1x non-participating"
anti_dilution: "broad-based weighted average"
- name: "Aggressive (β¬40M pre)"
pre_money: 40000000
raise_amount: 5000000
option_pool_target: 10% # negotiate lower pool at higher valuation
investor: "VC Fund A"
preferences: "1x non-participating"
anti_dilution: "broad-based weighted average"
The modeling engine:
pythonShow code
def model_round(cap_table, scenario):
# Pre-money option pool expansion (investor-friendly)
current_pool_pct = cap_table.esop_unallocated / cap_table.total_shares
target_pool_pct = scenario.option_pool_target
new_pool_shares = calculate_pool_expansion(
cap_table, target_pool_pct, scenario.pre_money, scenario.raise_amount
)
# New shares to investor
post_money = scenario.pre_money + scenario.raise_amount
investor_pct = scenario.raise_amount / post_money
price_per_share = scenario.pre_money / (cap_table.total_shares + new_pool_shares)
new_investor_shares = scenario.raise_amount / price_per_share
# Updated cap table
new_total = cap_table.total_shares + new_pool_shares + new_investor_shares
# Dilution per holder
dilution = {}
for holder in cap_table.holders:
old_pct = holder.shares / cap_table.total_shares
new_pct = holder.shares / new_total
dilution[holder.name] = {
"old_pct": old_pct,
"new_pct": new_pct,
"dilution": old_pct - new_pct,
"value_at_post": holder.shares * price_per_share
}
# Liquidation waterfall
waterfall = model_liquidation_waterfall(
new_cap_table,
exit_multiples=[1, 2, 3, 5, 10]
)
return RoundModel(dilution=dilution, waterfall=waterfall, pps=price_per_share)
Comparison output:
View details
π CAP TABLE SCENARIOS β Artificial-Lab Series A
| β¬20M Pre | β¬30M Pre | β¬40M Pre |
---------------------------------------------------------
Post-money | β¬25M | β¬35M | β¬45M |
Price/share | β¬2.00 | β¬2.73 | β¬3.64 |
Investor owns | 20.0% | 14.3% | 11.1% |
Bilal (post-round) | 38.5% | 41.2% | 43.1% |
Bilal dilution | -11.5% | -8.8% | -6.9% |
ESOP (post-round) | 12.0% | 12.0% | 10.0% |
Runway @ β¬150K/mo | 33 months | 33 months | 33 months |
LIQUIDATION WATERFALL (β¬30M Pre scenario)
Exit Value | Investor | Bilal | Co-founder | Angels
β¬10M | β¬5.0M | β¬2.4M | β¬1.2M | β¬0.9M
β¬35M | β¬5.0M | β¬14.4M | β¬7.2M | β¬5.2M
β¬100M | β¬14.3M | β¬41.2M | β¬20.6M | β¬12.9M
β¬350M | β¬50.0M | β¬144.2M | β¬72.1M | β¬45.1M
β οΈ ANTI-DILUTION SIMULATION
If next round is at β¬20M pre (down round from β¬30M):
Investor shares increase by 18.4% via weighted-average adjustment
Bilal diluted an additional 2.6%
The Results
| Metric | Lawyer/Manual | Agent |
|---|---|---|
| Time to first model | 3-5 business days | 15 minutes |
| Cost | $3,000-$5,000 | ~$0 |
| Scenario variants | Usually 1-2 | Unlimited |
| Anti-dilution simulation | Extra cost | Included |
| Liquidation waterfall | Often skipped | Always modeled |
| Iteration speed | Days per revision | Minutes |
Try It Yourself
Install the startup-financial-modeling skill on Mr.Chief. Input your cap table and proposed terms. The agent handles the math β dilution, option pool, waterfall, anti-dilution. Run as many scenarios as you need before sitting down at the negotiation table.
Know your numbers before the VC does. That's how you negotiate from strength.
The best time to model your cap table is before you're in the room. The second best time is during the meeting, on your phone, while the VC is still talking.
Related case studies
Startup CFO
3-Year Financial Model for a New Product β Built in 15 Minutes
AI agent builds a 36-month financial model with unit economics, scenario analysis, and cap table integration in 15 minutes. Every product idea gets a model before Day 2.
Startup CFO
French PCG to IFRS Conversion β 200 Line Items Mapped in 5 Minutes
AI agent converts French PCG accounting to IFRS-compliant statements in 5 minutes. 200+ line items mapped with reclassification notes β replacing β¬15-25K external accountant work.
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.
Want results like these?
Start free with your own AI team. No credit card required.