WWDC 2017: Amazing new features for subscriptions

Apple’s new focus on reducing churn

EDIT (July 16 2017): Apple released the features described here! Relevant links appear at the bottom.

Continuing what might gradually become a mild obsession with subscriptions, I had the great privilege of attending Apple’s main event and exploring all the shiny new things coming up for subscriptions.

Thinking about the future of subscriptions

As should be already well known, this past year has seen dramatic announcements and growth for subscription services in the App Store. It started with opening up subscriptions to all categories and the dramatic Apple royalty cut for 2nd year subscribers, and continued throughout the year with an abundance of feature releases, such as geographical pricing, new free trial options and durations, subscription event reports and more.

For the most part, these moves served as enablers, allowing and encouraging many devs to shift to the new model, and rightfully so. But as these appetizers were served, we all became increasingly hungry for more. In fact, our team at JoyTunes has carefully collected a bunch of stats and actionable insights for the next steps. Luckily, the amazing subscription teams at Apple had similar notions, which brings us to WWDC17.

So, what happened at WWDC17?

tl;dr Apple decided to double down on reducing churn, including involuntary cancellations, voluntary cancellations, and refunds.
(churn = rate of losing paying subscribers)

Below are the main changes that our team at JoyTunes found to be the most exciting, followed by some explanations on the importance of these changes and real life stats.

  • Extending billing retry window from several hours to (up to) 60 days
  • Real-time server events sent from Apple for special cases, like user downgrades, refunds, and renewal of an expired subscription (after a billing issue for example) — important for cross-platform services
  • Flagging billing issues, auto-renewal cancellations, refunds and even refund reasons (from AppleCare) as they happen, per user(!!!)
  • For refunds this is especially awesome as there was no information associated with refunds before

It’s a little embarrassing, but these changes actually brought tears of joy to my eyes. To understand why, let’s look at the changes in a bit more depth.

Involuntary Churn

Let’s start with involuntary churn, aka Billing Issues. These are cancellations due to expired credit cards, not enough store credits, stolen cards and any other difficulties Apple encounters when charging money for the renewal.

I’m guessing this sounds incredibly minor, god knows we thought so too. That is, until we checked the cancellation reasons in the fairly new and amazingly hidden Subscription Events Report (ITC → Sales & Trends → Reports from drop down → Download subscription reports) and found that a whopping 22% of cancellations happen due to this reason.

Coming into WWDC17, we had the following questions -

  1. Is 22% considered standard?
  2. If not, wtf?! What are we doing wrong??
  3. If so, wtf?! Can Apple help solve this?

The first discovery was that 22% is actually frighteningly standard, which was reassuring in a sense — at least it’s not just us! Moreover, billing issues are considered the #3 cancellation reason in general.

Today, when billing issues occur, Apple tries to get the user to fix these within a few hours. Not such a generous time frame if your card has been stolen for example, or if you’re just a lazy passive person like the rest of us. This has now been extended to up to 60 days(!!!), depending on the issues found.

My guess is that this change could singlehandedly result in an oh-so-sweet increase in overall subscription revenue across the board.

In addition, Apple added new fields to the receipt data for signaling billing issues so that we, the app developers, can warn users about the situation, move them to temporary access or any other solution.

To top it off, there will soon be server notifications from Apple for several special cases. Among them, flagging that a billing issue has been resolved so that the membership can be renewed. This is important for cross-platform services where a user might try to access the website, for example, without opening the app first, so we won’t know the billing issue was solved. In other words, Apple is serious about its responsibility as a payment method for subscriptions that can go beyond apps.

It should be noted that the server notifications are super important, especially as we have an increasing number of subscriptions adding up every day and it’s becoming challenging to retrieve up to date information for all of them, all the time.

Voluntary Churn

This category includes the regular reasons why anyone would want to cancel the auto-renewal of a service, one of which being old-fashioned fear. In fact, our data showed that over 20% of cancellations of the auto-renewal in annual plans happen in the first few days (see graph). Basically, people wanted the service, but just wanted to make sure it doesn’t renew before even using it.

% of auto-renewal cancellations, according to days since joining the service. High numbers for the first few days

While there are quite a few things we can do to increase users’ confidence in our high quality music-learning service, so far there was no way to know if we were improving things because we saw these anonymous cancellations only after the subscription expired. In more practical terms, we need to wait a whole freakin’ year to know if our efforts had an impact…

Well, Apple changed that. A new field will be added to the receipt with the status of the renewal. This has two huge benefits, both knowing immediately that a cancellation occurred, and also knowing who cancelled. Apple went even further and also added information on plan duration changes, upgrades/downgrades and consent (or lack thereof) to a price increase. The full details can be found in the Advanced StoreKit session from WWDC17.

New receipt fields, from the StoreKit session at WWDC17


As a special and more extreme case of cancellations, there was extra attention to refunds. Unfortunately, like in all businesses, refund requests do happen. Today, we are just passively aware of them, keeping an eye out that there aren’t too many. But we don’t know who asked for a refund and we don’t know why. This too is changing — even more fields in the receipt will allow to see refunds as they occur, who asked for them, and even the reason that was mentioned to AppleCare when a refund was requested.

This allows, for example, studying if some configurations / languages / countries are asking for refunds more than others. Maybe we’re doing something wrong? The reason supplied to Apple Care can also shed a lot of information so we can improve our products.

I can’t stress enough how dramatic this is as a support asset. For the first time, we can write these users, talk to them, understand what happened, offer some additional compensation, god willing even win them back.

Playing with some numbers

Let’s play with some churn numbers, just for fun. Let’s say you have a relatively high, yet surprisingly common, 40% churn for the first month, then 10% month-over-month churn, of which 25% is billing issues. If the billing issues are cut to 10%, we’re at 34% first month churn and 8.5% month-over-month. Not a big deal right? Well, let’s say you have 1,000 subscribers starting out for each option. In the original churn, you’ll have only 188 left after a year, or 244 in the new one. Both are far from ideal, but this still means a 32% increase. Better yet, it’s 32% more subscribers that now reached the 2nd year with the increased revenue from Apple.


When is all this happening? The formal answer supplied was that all the changes will be released together “by the end of the year”, and in no special relation to the upcoming iOS11 release. This implies ±November. I have high hopes for much sooner and will put my bet on August. I can promise I will not sleep well until these new updates are out!

EDIT (July 16 2017): It’s OUT!
See Apple’s developer
subscription guide and a full list of receipt fields (including the new ones). Exciting times indeed!

I hope this short post helps explain why these changes are so dramatic, and well worth the loud round of applause and involuntary yays from the audience at WWDC17 (including me!). Thanks Yoni, Genady, Oded, Nadia, Lior, Lital and Amitay for all the help!

Ping me with any comments/questions.

Like what you read? Give Yuval Kaminka a round of applause.

From a quick cheer to a standing ovation, clap to show how much you enjoyed this story.