Case Study · Pricing & Packaging

Modular Pricing Migration

Re-pricing a live SaaS base is the highest-risk move in GTM. Here's how I rebuilt Aftershoot's packaging into à-la-carte modules — and migrated the existing base with zero churn as the target.

+15% ARPU +5% Revenue / 30 days Zero-Churn Target 50 Dev-Days Saved

Role

Product Marketing — strategy to execution

Type

Pricing & Packaging migration

Audience

Existing base + price-blocked prospects

Channels

Lifecycle emails, FAQ docs, WordPress calculator

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.

See it live

← Back to all work Book a 30-min call arrow_forward