The Margin Recovery Curve Model

costperoutcome = inferencecost + infrastructurecost + escalationcost + qacost

margin-recovery-curve-model.md4 KB698 words

The template


The Margin Recovery Curve Model

A spreadsheet model for the gross margin trough during a pricing migration.

By Falk Gottlob — falkster.com


The curve

MonthsGross margin rangePhase
1-378-82%Baseline
4-673-77%Trough begins
7-965-70%Trough deepens
10-1258-65%Bottom
13-1562-68%Recovery starts
16-1867-72%Trough past
19-2470-75%New normal

The component model

Gross margin per outcome is computed as:

GM_per_outcome = (revenue_per_outcome - cost_per_outcome) / revenue_per_outcome

cost_per_outcome = inference_cost + infrastructure_cost + escalation_cost + qa_cost

Each component evolves over the 24 months differently. Model them separately.

Inference cost

Driven by token cost (industry-wide, dropping ~50% per year) and tokens per outcome (your prompts, your routing).

MonthsToken cost trajectoryTokens per outcome trajectory
1-6Stable at ~$10/M tokens (mix)Static
7-12-25% to ~$7.50/M-10% as you optimize prompts
13-18-40% to ~$6/M-25% as routing improves
19-24-50% to ~$5/M-35% as caching matures

Result: inference cost per outcome drops roughly 50-65% over 24 months.

Infrastructure cost

Compute, storage, networking. Scales with volume but amortizes.

MonthsPer outcome trajectory
1-6High (low volume, no amortization)
7-12Dropping (volume amortizes fixed costs)
13-24Stabilizing at ~10-15% of revenue

Escalation cost

When the agent escalates to a human. Drops as agent quality improves.

MonthsEscalation rateCost per escalation
1-68-12%$25-40
7-125-8%$25-40
13-183-5%$20-35
19-242-4%$20-35

QA cost

Eval runs, prompt regression testing, quality sampling. Largely fixed per outcome.

MonthsTrajectory
1-24~5% of revenue, gradually dropping to ~3% as automation improves

The board narrative

Each quarterly update walks through:

  1. Current GM per outcome: the actual number this quarter.
  2. Trajectory: which phase of the recovery curve we're in.
  3. Component breakdown: which costs improved this quarter, which got worse.
  4. Forecast: next two quarters' expected GM per outcome.
  5. Sensitivity: what changes if inference costs drop faster (better) or slower (worse) than projected.

The point is to make the trough boring. A boring trough is a managed trough.


The Jevons decision

As inference costs drop, you have to decide: pass savings to customers, hold prices to capture margin, or split the difference. The model includes three scenarios.

Scenario A: Hold prices

Revenue per outcome stays flat. GM rises as costs fall. Margin recovery is faster.

Risk: a competitor undercuts your pricing because their costs have also fallen. Customer perception of value drops over time.

Scenario B: Pass full savings

Revenue per outcome drops in proportion to cost. GM stays flat at trough level. Volume grows because customers can afford more.

Risk: revenue grows slower than expected if volume doesn't compensate. Sales motion has to retrain to the new pricing.

Scenario C: Pass 50% of savings

Revenue per outcome drops at half the rate of cost. GM rises moderately. Volume grows moderately.

Most common choice. Balances margin and competitive exposure.


What this model doesn't do

  • It doesn't predict your specific company's curve. Your inference cost mix, infrastructure, escalation rate, and customer volume are unique. Build the model from your own component data.
  • It doesn't replace the CFO's full P&L model. This is the gross margin slice; the rest of the P&L (S&M, R&D, G&A) is separate.
  • It doesn't help if the unit economics model is wrong. If your per-outcome revenue is mispriced, no margin recovery curve will save you.

This model pairs with The Pricing Migration Sequence and the handbook chapter Pricing Migration: The 18-Month Quarterly Playbook. The Margin Watch agent that operationalizes this model is at /blog/agent-margin-watch.

More from the toolkit


All templates →