Pricing

Industries, Fitness & wellness

Decisions for subscription fitness apps.

Paywall personalisation, plan ordering, and re-engagement loops, measured against real revenue, not vanity metrics.

Subscription fitness apps spend aggressively on user acquisition and depend on paywall personalisation and post-install engagement. Rich user context, engagement scores, plan history, activity patterns, makes contextual bandits powerful. A ten-percent relative paywall lift on a $30M ARR business is $1–3M incremental annually. Outcome pricing aligns perfectly: we grow as the customer grows.

Tree representing the long arc of habit formation

What agents handle

Workflow

Paywall variant per goal cohort

Before

Single paywall for everyone, regardless of stated goal

After

Bandit picks pricing + framing per goal (strength / weight loss / endurance)

Result

+11% trial-start across the top three cohorts

Workflow

Push timing per habit pattern

Before

Same morning notification to all users

After

CATE-targeted send window per user's session history

Result

+19% session-start rate D14

Workflow

Plan-renewal nudge

Before

Generic renewal email seven days before expiry

After

Bandit selects channel + offer per propensity-to-churn cohort

Result

+6% renewal, +2% upgrade-on-renewal

Workflow

Programme recommendation slate

Before

Editorial-picked carousel updated weekly

After

Bandit-ranked slate per user's recent activity and goal

Result

+24% programme-start D7

Connected nodes representing user cohorts

The challenges we solve

  • High CAC means every percentage point of paywall lift is millions in revenue
  • Churn is everything, the difference between profitable and not
  • A/B tests collapse under seasonal effects (January resolutions, summer drop-off)
  • The average treatment effect hides the cohort it actually helped (or hurt)
  • Vanity metrics (session counts) decouple from revenue more than teams admit

Bandit handles seasonality

Contextual bandits continuously rebalance as the user mix shifts. No need to pause experiments during seasonal traffic anomalies, the propensity log adjusts.

CATE finds the cohort the average hid

X-learner produces per-user, per-arm treatment-effect estimates. You see which segment a variant helped and which it hurt, not just the mean.

Verify on your own warehouse

offpolicy.py is MIT-licensed on PyPI. Reproduce our doubly-robust readout on your Snowflake / BigQuery instance and you will see the same number we billed against.

Worked audit example

What a doubly-robust re-analysis surfaced for Habit.

Series-C subscription fitness app · ~$48M ARR · 2.43M push-opted active users · case ID HABIT-2026Q2-AUDIT-003

What their team reported

Workout-reminder push: 6 p.m. vs 7 a.m. on session-completion (24h). 18.2% → 19.0%, p = 0.04. Team called it "ship 7 a.m. globally" and rolled to 100%.

What our re-analysis found

Doubly-robust per implicit-exercise-window: +9.7% on the pre-dawn cohort, but −3.2% on the evening cohort, 31% of the user base whose engagement the 7 a.m. push is destroying. Morning is just 4× the size of evening; the average reads positive.

Recommendation · projected annualised impact

Replace the fixed-time push with a contextual-bandit policy keyed on each user's implicit exercise window. +22% session-completion on positive cohorts.

+$3.8M / yr LTV uplift

Same shape we'll send back on your last A/B test, in three business days.

Read the full audit PDF →

Audit your last paywall test — free.

One CSV, one experiment config. Same-shape readout back in three business days.

Send my test