Subscriber math on the beach

I run Candy Japan, which ships surprise sweets to subscribers. It isn't a store that ships individual orders. Instead you sign up to become a member and pay monthly. You receive surprise boxes until you cancel.

And people do eventually cancel.

What I wanted to know was:

"How many people would need to join each month to sustain 1000 subscribers?"

When I started thinking about all this I was on a beach in rural Japan in a hammock. No computer or even a phone with me.

Simple example

For simplicity suppose 50% of people cancel every month. That means that if I do some clever marketing and manage to get 100 new people to join, then after a month 50 of those would be left. After another month, 25 of those would be left and so on.

Because of this fall-off, even if you run a subscription business forever, you will not have infinite customers. Instead you reach a steady-state number.

42 ?

In a given month, you will have the new members that you managed to bring in through the door that month. But you will also have people remaining from the previous months.

Continuing with the previous example of 100 new members coming in through the door each month and 50% canceling each month, you'll have 100 + 50 + 25 + ... = 200 members each month. Even if you run the business for a million years, you will still only have 200 members.

The two things you can improve are either bringing in more people, or making cancellations less likely.

Stand back, I know Python

I quickly bicycled home to see what the answer would be, accidentally spreading sand from the beach all over the floor rushing to my computer too quickly.

I fired up Python and first checked the previous result.

``` def subscribers(new_members, retention): n, x = new_members, retention

# n + n * x + n * x^2 + n * x^3 ... return sum([n*x**p for p in range(0, 10**5)])

print subscribers(100, 0.5)

Yay it prints out "200"

``` Happily it agreed with my "beach guess" that 100 + 50 + 25 … would equal 200.

Playing with different values

Trying out different values, I found that with a monthly cancel rate of 50% you need 500 new members each month to sustain 1000 subscribers.

How the member count improves as cancel rate goes down is surprisingly steep.

If you can get the cancel rate to 25%, with just as many people joining each month, the member count doubles to 2000 subscribers.

Get the cancel rate to 12.5% and now you have 4000 subscribers.

Conclusion

Every time your cancel rate halves, your member count doubles.

What I hope you take away from this, besides beaches being the best thing about living seaside in rural Japan, is this:

Make your customers twice as happy, and you can get away with spending only half as much on marketing.