See it live
The challenge
Aftershoot's plans bundled cull, edit, and retouch together. That forced a cull-only photographer to pay for editing tools they'd never open — a high entry price that quietly capped new conversions. The fix seemed obvious: unbundle it.
But the new pricing was never the hard part. The hard part was the migration: moving thousands of existing customers off legacy plans onto a new structure without any of them feeling re-priced and walking out the door.
The segmentation problem
The base isn't one audience. Some photographers only cull. Some only edit. Some do both. Some retouch. A single blanket "here's your new price" email would read as a price hike to entire cohorts and send them looking for an exit.
The packaging change only works if every segment sees a transition path that's fair to how they actually use the product. So the migration had to be designed segment by segment, not as one announcement.
How I solved it
- Financial cohort modeling — modeled the revenue and per-user impact of the modular structure across each usage segment before a single price changed, so I knew exactly who'd come out ahead, neutral, or at risk.
- Modular packaging — split cull, edit, and retouch into separately-priced modules. Entry price drops, users pay only for what they use, and bundles become the natural expansion path.
- Segmented migration emails — built in the lifecycle email editor, each cohort got its own transition message and path. No blanket blast, so no one felt punished.
- A WordPress pricing calculator — let every user see their own cost under the new structure, killing the "what does this mean for me?" anxiety that drives migration churn.
Cross-functional ownership: I aligned product, finance, and lifecycle around the migration — mapping the work and project-managing the rollout so no team (or cohort) was caught off guard.
Positioning promise
"Only pay for the AI tools you actually use — modular pricing that scales with your volume."
Targeting zero churn
Every piece of the rollout was built around a single objective: move the base without losing it. Clear financial transition pathways plus thorough FAQ docs meant no cohort ever hit a surprise increase for what they actually use. Zero churn wasn't a hope — it was the design constraint the whole migration was engineered against.
The results
+15%
ARPU
per user
+5%
revenue in
30 days
50
marketing
dev-days saved
0
churn
target
The 50 dev-days came from a Figma→WordPress AI sync that built the pricing and calculator pages without an engineering queue.
What I learned
Clear financial transition pathways and FAQ docs are what prevent churn during a legacy price migration. Changing the price is the easy part — the migration choreography is the whole game.