raw/Model-Validation-And-1M-Path.md
CurioQuest — Model Validation & the Fastest Credible Path to $1M ARR
Status: v1.0 · Date: 2026-06-02
Method: The revenue-model.html v8 engine was ported verbatim to Node (sims/engine.js) and tested across four angles — (A) math reproduction, (B) structural validity, (C) cost-reality, and a 50k-run Monte Carlo + cash-constrained reconciliation. All code in sims/. Re-runnable: node sims/01-validate.js … 06-recommended-path.js.
One-line verdict: The model is real on revenue, optimistic on profit. It is a sound calculator of a near-best case, not a central forecast — and the path to $1M ARR is an acquisition problem, gated by a cash-safe organic engine, not a capital problem.
Part 1 — Is the model even correct and real? (validation first, as required)
Gate A — Math reproduction: PASS (6/6)
The Node port reproduces every documented figure exactly: Realistic Y1 net $6,763, 3-yr cumulative profit $215,725, ARR end-Y3 $338,512, run-rate M36 $60,324/mo, ~10,782 customers, 3.3× LTV:CAC. Internal invariants hold (Σ monthly net = cumProfit; ARR = active×price; gross margin in range). The calculator adds up. [FACT]
Gate B — Structural validity: FOUR material distortions found
Reproducing numbers proves arithmetic, not realism. Probing the structure:
| # | Distortion | Evidence | Severity |
|---|---|---|---|
| 1 | Flat CAC at scale | Inject a rising-CAC curve: at a plausible escalation (CAC $35→$73 by 10.8k customers), 3-yr profit collapses $216K → $1.8K; Y3 goes negative. At 2× escalation it's a −$212K swing. | Dominant |
| 2 | "Subscription compounding" overstated in-window | Renewals are only 0% / 15% / 20% of plan revenue in Y1/Y2/Y3. ~80% of even Year-3 plan revenue is new acquisition, not a renewing base. | High (narrative) |
| 3 | Whole customer journey booked at acquisition | 58.6% of "first-sale contribution" is a full annual plan ($pP) credited in the acquisition month. Cash-real only if billed annually upfront and the plan attaches immediately (it won't — attach lags the first book). | Medium (timing) |
| 4 | No cash constraint | The engine spends newC × CAC with no budget cap — it can "lose" $300K on a $1k seed, which is impossible. A real bootstrapper stops acquiring when cash runs out. |
High (downside is fictional) |
Plus: no refunds/chargebacks (10% refund → −35% profit), and LTV is hyper-sensitive to retention via the 1/(1−rt) term (LTV:CAC swings 2.4×→17× across plausible retention).
Gate C — Cost side: broadly sound
Stripe 2.9%+$0.30 ✓ · POD $14/book (Lulu/Gelato range $12–22) ✓ · fixed $150/mo ✓. Only mild optimism: AI-gen at $1.50/book all-in is tight for a 24-page illustrated book (~12–20 image generations); $2–3 is safer. The fragility is almost entirely on the demand side. [EST]
The decisive test — where does "Realistic" actually sit?
A 50,000-run Monte Carlo across the full plausible range of every unproven driver, with the Gate-B corrections applied (rising CAC + refunds + the real no-debt cash constraint):
- "Realistic" ARR ($338K) ranks at the 49th percentile of honest outcomes → the revenue model is well-centered. It is REAL. ✅
- "Realistic" profit ($216K) ranks at the 99th percentile → the profit projection is a near-best case, not a forecast. ❌
- Cash-constrained reality (the true $1k bootstrap): P25 profit ≈ −$3K to −$5K — you essentially cannot lose more than your seed. The "$60K–$300K capital needed" downsides are artifacts of unconstrained spending.
- The real failure mode is not "lose big" — it's "stall." Honest cash-constrained median ARR is ~$1K–$65K, not $339K, because growth self-limits when CAC outruns fundable cash.
- P($1M ARR by month 36) under the current structure ≈ 0.3–3.7%. A tail event, not a plan.
Validation conclusion: Trust the model for revenue shape and unit mechanics. Do not trust its profit line or its implied "$1k is plenty to print $216K." Three fixes make it honest: (1) model CAC rising with scale, (2) add a refund rate, (3) cap marketing spend at available cash.
Part 2 — The fastest credible, cash-safe path to $1M ARR
Run on the corrected engine (rising CAC + refunds + no-debt constraint + LTV:CAC≥3 gate).
$1M ARR = active annual subscribers × plan price. Price is the cheapest lever: at $149/yr you need 6,712 subs, vs 10,102 at $99 — a 33% smaller mountain, at zero CAC or cash cost.
Baseline reality check: the current plan (Realistic + honest corrections) never reaches $1M in 60 months and ends at LTV:CAC 1.2×. Single levers don't fix it. Stacking does:
| Path | Levers | Month to $1M ARR | Capital | LTV:CAC | Verdict |
|---|---|---|---|---|---|
| A | $149 plan · 48% attach · 78% retention · organic CAC $22 · 15%/mo growth | M33 (2.8 yr) | $0 | 4.1× | Safe, slower |
| B | A + viral growth: CAC $18, ceiling 2,000/mo, 20%/mo | M24 (2.0 yr) | $0 | 3.8× | Recommended |
| C | B + paid fuel (CAC rises fast, ceiling 3,000) | M20 (1.7 yr) | needs $12M if funded | 1.1× | Trap — buys unprofitable growth |
Two findings that should reshape strategy:
-
Outside capital does not accelerate the healthy paths. Funded vs bootstrap for Paths A & B = same month, $0 needed — upfront annual billing self-funds them. Capital only "helps" Path C, the one with broken economics. Raising money here would only buy unprofitable growth. The bootstrap path is genuinely optimal.
-
The constraint on speed is reach/growth, not money or retention. Path B robustness:
| Assumption lands worse | Month to $1M | Capital |
|---|---|---|
| Path B as specified | M24 | $0 |
| Retention 78% → 62% | M24 | $0 |
| Attach 48% → 30% | M29 | $0 |
| Growth 20% → 12%/mo | M34 | $0 |
| Triple miss (rt62+attach38+fast CAC) | M26 | $0 |
Reaching $1M is an acquisition result — retention barely moves the timing (most subs are <12 months old when you cross $1M). Retention governs durability after M24: M48 ARR ranges $2.8M (50% retention) to $3.9M (85%). It compounds into Year 4, not the sprint.
The clean framework (what each lever actually controls)
- Feasibility of $1M at all → plan attach × plan price (subs-per-customer × $/sub).
- Speed to $1M → acquisition growth rate + reach ceiling.
- Durability beyond $1M → retention.
- Profitability of the whole path → CAC staying low at scale (the organic/viral engine).
Part 3 — Optimized plan & what the pilot must prove
Optimized targets (Path B): plan price $149/yr · plan attach ≥45% · retention ≥75% · organic/viral CAC ≤$22 and held low at scale · grow to ~2,000 new customers/mo. Bootstrap-funded end to end; do not raise capital to accelerate (it only buys the unprofitable path).
The $1k concierge pilot must validate, in priority order: 1. Plan attach ≥ 40% — below ~30%, no $1M path exists at any speed. (pilot-provable in 8 wks) 2. Preview→paid ≥ 6% — the hinge metric; funds the acquisition engine. (provable) 3. WTP at $149/yr — the price that turns 6,700 subs (not 10,100) into $1M. (provable) 4. Organic CAC ≤ $25 that holds at scale — the single profitability gate. (partially provable) 5. Retention ≥ 70% — governs durability; the one true leap of faith (needs a year — pilot can only proxy it via intent + early re-purchase).
Next model action: patch revenue-model.html with the three honesty fixes (rising-CAC curve, refund input, cash-constrained acquisition) and add a "$149 plan / month-to-$1M-ARR" readout, so the dashboard the founder reads reflects the corrected economics rather than the near-best case.
Evidence: all figures from sims/*.js against the verbatim v8 engine port. FACT = reproduced from the model; EST = benchmarked external cost; ASSUMPTION = unvalidated demand driver (the pilot's job).