A 40% price rise with no grandfathering for existing customers
Grandfathering was the obvious kindness and the obvious mistake. We chose against it, lost more customers than the model predicted, and would make the same call.
The decision timeline
Three moments, kept separate. What became known later sits in its own column so it cannot be read back into the reasoning.
Known at the time
- Cost to serve up 55% over four years; base-tier margin down to 31%
- No willingness-to-pay research had ever been done
- Two of three named competitors had raised prices in eighteen months
- Six weeks to the contract cycle cut-off
Decided, and why
- 40% for everyone, because a permanent two-price-book structure compounds and never gets simpler
- Ninety days' notice with a published rationale, because the change needed to read as explained rather than opportunistic
- A two-year lock offer, to give customers a controllable alternative to leaving
Known later
- Churn was 17%, well above the 8–12% forecast
Members see the full outcome.
Trust and provenance
What we checked, and what we did not.
The decision context
| Problem | Pricing had not changed in four years while the cost to serve had risen 55%. Gross margin on the base tier had fallen to 31%. A rise was necessary; the question was whether existing customers should keep the old price. |
|---|---|
| Deadline | The annual contract cycle meant a decision by June to take effect in the new contract year. |
| Stakes | High |
| Decision-maker | VP Product and CFO jointly, CEO informed. |
Constraints
| Budget | No pricing-research budget. The decision was made on internal data and two advisory calls. |
|---|---|
| Time | Six weeks to the contract cycle cut-off. |
| Information | No willingness-to-pay research had ever been done. Churn sensitivity was estimated, not measured. |
| Authority | VP Product and CFO could set list price; discounting authority sat with Sales leadership and was not changed. |
| External | Two of three named competitors had raised prices in the prior eighteen months. |
Alternatives
Options considered, and the stated reason each rejected option was rejected.
Evidence, reasoning and outcome
The remaining six field groups — evidence, reasoning, action, outcome, reflection and transferability — are available to members.
- Four years of cost-to-serve data by tier
- Churn history with no prior price change in it, so of limited predictive value
- Restores gross margin above 50% on the base tier within one contract year
Read the rest of this case
Membership opens the full library: the evidence available at the time, the decision criteria, the measured outcome and what the creator would do differently.
Prices and terms are shown in full before you pay. Cancel any time.
Rights and licensing
Published terms for this case.
| Consent | Creator confirms permission to publish in redacted form. |
|---|---|
| Licence | Non-exclusive, perpetual licence to publish and monetise. |
| Anonymisation | Employer, competitors and all customers redacted. Absolute prices withheld. |
| Compensation | Eligible for the creator revenue pool under the published allocation rule. |
Think something here is wrong? Request a correction or takedown.
Related decisions
Matched on decision type, industry, stakes and shared tags.
We killed a feature after six months of build. The reasoning held; the timing did not.
Adoption sat at 4% of target after two quarters. Four options on the table, three rejected. The decision to discontinue was defensible on the evidence available — the error was waiting two months longer than the criteria required.
Cutting 12% of staff nine months before the runway required it
The model said we could wait two more quarters. We cut early anyway, on the argument that a smaller cut now beat a larger one later. That argument is harder to defend than it sounded in the room.
Rewriting the billing system instead of patching it for another year
The estimate was five months. It took nine. Whether that counts as a failure depends entirely on what the patching path would have cost, and that number is unknowable.