How Sleepiest lifted subscriber ARPU by 20% with Botsi.

A single static paywall was leaving revenue on the table. Botsi matched the right offer to each user and proved the lift against a live holdout.

Sleepiest Consumer subscription app  ·  Paywall & price optimization  ·  4 min read
+20%
Subscriber ARPU uplift
+$185K
Incremental revenue
~3 wks
Learning mode to live
4
Dynamic paywall variants
Summary
Problem

One static paywall showed every user the same price. Testing was slow and one and done, and the highest price always won, so pricing crept up until it started costing subscribers.

Strategy

Botsi launched a causal, Bayesian uplift model in learning mode and went live in about three weeks, matching the right paywall and offer to each user.

Result

Measured against a live holdout: +20% subscriber ARPU and an estimated +$185K incremental revenue.

01 About Sleepiest
Sleepiest app icon
Sleepiest
Sleep sounds, stories & guided meditations · Apple “App of the Day”

Sleepiest is a sleep app with a library of over 2,990 sleep sounds, stories and guided meditations to help people fall asleep and rest better. Named an Apple “App of the Day,” it has grown to more than 7 million downloads and a 4.59-star rating across 53,800+ reviews. Subscriptions are the core of the business, with roughly 80% of subscribers on annual plans and pricing localized by country.

7M+
Downloads
4.59★
Avg. rating · 53.8K+ reviews
2,990+
Sounds, stories & meditations
~80%
Subscribers on annual plans
02Before & after
Before BotsiWith Botsi
One paywall, same price for every user worldwidePackage & offer matched to each user across 4 dynamic variants
Price testing was "one and done", last real test a year earlierOffers continually optimized by a causal, Bayesian model
Highest price always won, so pricing was capped by gut feelHigher willingness to pay captured without losing price-sensitive users
No clean read on what a pricing change actually earned+20% subscriber ARPU vs. a live holdout
03 The challenge

Simple A/B testing led to higher prices, but fewer subscribers and conversions.

Like most apps, Sleepiest priced by intuition and infrequent A/B tests. The tests were slow and hard to repeat, so the team would run one, pick a winner, and leave it for months. The results kept pointing the same way: the top price always won, yet they could only push so far before it felt uncomfortable to charge more.

But raising the price for everyone has a hidden cost. It lifts revenue per user while quietly pricing out the price-sensitive ones, and a smaller subscriber base means fewer renewals and less organic growth over time. A single static paywall couldn’t tell a high-intent user from a price-sensitive one, so Sleepiest was stuck choosing between revenue and reach.

Why one price leaves money on the table
One price for everyoneone priceleft on the tablepriced outThe right price per usercaptured across 4 prices
Adam Green
Before Botsi:Every pricing test we ran, the highest price won. We were capped at whatever we felt okay charging. We made a little more per user, but lost total subscribers to a lower conversion rate.Adam Green, CTO · Sleepiest
04 The solution

An AI/ML model that understands the Sleepiest user base.

Botsi didn’t just test prices. It learned which offer actually causes each user to convert, and kept exploring intelligently whenever it wasn’t sure.

  1. 01

    Causal uplift from day one

    The model predicts who buys because of a given offer, not just who buys. It targets incremental revenue, not sales that would have happened anyway.

  2. 02

    Bayesian confidence

    A Bayesian uplift model estimates the probability that each prediction is right, so every decision carries a built-in confidence level.

  3. 03

    Smart sampling when unsure

    When confidence is low, the model switches to Thompson sampling. It explores offers intelligently instead of guessing, then learns from the result.

  4. 04

    Four paywalls, many offers

    Sleepiest launched with four paywalls, each with distinct packages and offers, giving the model a real menu to match to each user.

How Botsi decides which offer to show
model keeps learningUser signalsdevice · country · languageCausal uplift modelConfidence checkHIGH CONFIDENCEServe the best offerLOW CONFIDENCEExplore with Thompson sampling
When the model is confident, Botsi serves the best offer. When it isn’t, it explores with Thompson sampling and feeds what it learns back into the model.

Live in weeks, smarter every week after.

Botsi launched in learning mode, went live on a lean feature set for speed, then retrained on richer signals for sharper predictions.

Weeks 1–3

Learning mode

Runs in learning mode, gathering data across real traffic.

Week ~3

Model goes live

Launched on Phase 1 device signals: OS, device, language, country.

Ongoing

Driving uplift

Serves dynamic offers, measured against the holdout.

Next

Retrain, richer

Retrain on custom in-app signals for more accurate predictions.

Adam Green
Give a model like this more data up front and it gets there faster, so we rolled it straight out.Adam Green, CTO · Sleepiest
05 Measurement

A holdout group lets Sleepiest be confident in the true incremental revenue uplift.

A 10% holdout of traffic always sees Sleepiest’s original baseline paywall, while the other 90% goes to Botsi. Comparing the two gives a true incremental read on the revenue Botsi drives.

How traffic is split · 90% Botsi, 10% baseline holdout
Every user is randomly assigned · 100% of traffic90%Botsi treatment10%holdoutBotsi dynamic offerThe right offer & paywall matched to each userBaseline holdoutSleepiest’s original static paywall, left unchanged
A random 10% of traffic always sees the unchanged baseline paywall. Because the two groups are otherwise identical, the gap between them is a true incremental read of Botsi’s impact, not just a trend over time.
06 Results

+20% subscriber ARPU, and +$185K in incremental revenue.

Subscriber ARPU over time
Relative ARPU for Botsi versus the baseline holdout. Through a short learning phase Botsi tracks the baseline; once the model reaches high confidence, ARPU climbs steadily above it.
Baseline (holdout)Botsi · learning phaseBotsi · high confidence model
Learning phaseHigh confidence modelSubscriber ARPU →Time since launch →Baseline (holdout)Botsi+20%ARPU

Against the live holdout, users on Botsi delivered 20% higher ARPU than users on the original paywall: an estimated $185K in incremental revenuethat wouldn’t have existed otherwise.

+20%
Subscriber ARPU uplift
+$185K
Incremental revenue
07 Key takeaways
01
Optimize for incremental lift, not the highest price.A causal model targets the revenue an offer actually creates, so ARPU grows without pricing out the users who keep the base healthy.
02
Measure against a live holdout.Holding back a slice of baseline traffic turns "we think it helped" into a true incremental number you can trust.
03
Start lean to get live fast.Launching on Phase 1 device signals got the model live in about three weeks. Richer custom signals layer in later.
04
Let the model handle uncertainty.Bayesian confidence plus Thompson sampling keeps the model exploring intelligently instead of guessing when it isn’t sure.
Adam Green
The Botsi team has been a pleasure to work with and we’re very excited for the future of where Botsi can take us.
Adam Green, CTO · Sleepiest

Show the right price & paywall to each user.

Apps like Sleepiest use Botsi AI/ML models to show the right offer to every user to grow revenue.