Adding Another Piece to the Pie: Predicting In-App Ad LTV | AppsFlyer
ad LTV

Chapter 4

Adding Another Piece to the Pie: Predicting In-App Ad LTV

In-app advertising (IAA) has become increasingly popular, accounting for at least 30% of app revenue in 2018. Hyper-casual and casual games, in addition to many utility apps, naturally leverage this revenue stream as their primary source of monetization.

Even developers who had been completely reliant on in-app purchases (IAP) have started monetizing with ads. As a result, we can see that many apps are now successfully combining both revenue streams to maximize their users’ LTV. For example, look no further than King’s Candy Crush, or Rovio’s Angry Birds 2.

For hybrid monetization, LTV is composed of two parts:

  1. In-app purchases/subscription LTV: Revenue actively generated by a user who spends money to purchase in-game or in-app currency, special items or extra services, or a paid subscription.
  2. In-app advertising LTV: Revenue passively generated by a user that views and/or interacts with ads (banners, videos, interstitials, etc.)


The Data Challenge

Ideally, marketers would be able to understand the nominal value of every single impression; that would practically make it a “purchase.” Most importantly, it would inform user (device) level LTV segmented by our standard dimensions – platform, channel, country, etc.

After gathering sufficient data, we’d be able to create prediction models similar to what we’ve already described in chapter 2 for in-app purchases. But in the real world, it’s not that simple – even calculating in-app ad LTV on its own is difficult because of the volume and structure of revenue data marketers are able to get their hands on.

To list a number of issues:

  • There’s rarely one source of ads that is being displayed; in reality, there are many, many sources, with an algorithm/tool behind them (ad mediation platforms) that constantly switch sources (and eCPM)
  • If one user views 10 ads, it’s quite possible that they came from 5 different sources, each with a completely different eCPM
  • Some ad networks pay for actions (install, click) rather than impressions, confusing things even further
  • When working with commonly used mediation platforms that offer user-level ad revenue, the number remains an estimate; the underlying ad networks often don’t share this data with them (usually leading to a division of generated revenue to users who viewed the impressions)
  • eCPMs can drastically fluctuate over time and it is impossible to predict these changes


In-App Ad LTV Prediction Models

Many companies we interviewed were not actively involved with ad LTV predictions. Among gaming app marketers who were interested in the topic, none had this actually figured out to a stage they’d be happy using it. Instead, it was more of a work in progress.


Retention-based/ARPDAU retention model+

Using the ARPDAU retention model; ARPDAU in this case also contains the additional contribution of in-app ad revenue

D1/D3/D7 retention is 50%/35%/25%. After fitting these data points to a power curve and calculating its integral until D90, we learn that the average number of active days is 5. Knowing that the ARPDAU is 50 cents, the predicted D90 LTV is $2.50.

Ratio-based method+

Integrating user-level ad revenue estimates into the stack in order to use the ratio method in the same way (i.e. based on coefficients from D1, D3, D7, etc).

ARPU calculated from both in-app purchases and in-app ad revenue is 40 cents after the first 3 days. We know that D90/D7 = 3. Predicted D90 LTV would then be $1.20.

Simple multiplication method

Calculating the ratio between in-app purchases and ad revenue to use a multiplier for the total LTV calculation. With more data in place, multiple coefficients can be calculated for platform/country dimensions, as these usually have the biggest impact on the ad vs in-app revenue ratio.



Link to Behavior-Based LTV Predictions

It’s important to mention another key factor that can heavily influence the potential profitability of app users: cannibalization.

Users spending money by making in-app purchases often have a significantly higher LTV than users that just consume ads. It is of the utmost importance that their intent is not disrupted by free handy stuff messages. On the other hand, it’s important to incentivize users to watch ads, so they’re often rewarded with in-app currency or bonuses.

If an app contains both rewarded ads and in-app purchases, it is possible that, at a certain point, a player that would otherwise become an IAP spender would not due to a significant reward of in-app currency in return for watching ads.

This is exactly where behavioral predictions come into play — by observing players’ behavior, a machine learning algorithm can determine the likelihood that certain users would become “spenders” and tweak their game/app experience. The process works as follows:

  1. All users should start with a no-ad experience while engagement data starts to be collected
  2. The algorithm continuously calculates a probability of a user becoming a spender
  3. If this probability is over a set percentage, ads will no longer be shown as more data is gathered (“waiting for the purchase”)
  4. If the probability falls below a set percentage, it is most likely that this user will never make a purchase; in this case, the app starts showing ads
  5. Based on players’ longer-term behavior, the algorithm can continue evaluating their behavior while modifying the number of ads and mixing up between different formats.

The bottom line is that calculating user-level in-app ad LTV at the level of precision we’re used to having with in-app purchase LTV will likely continue to be a challenge, at least in the near future. Most companies will be content with using simple models and approaches that will deliver the optimal cost/benefit ratio when it comes to implementation difficulties and the added value of more precise insights.

Still, it is possible that we’ll experience rapid advances in this area considering the frantic pace of the martech ecosystem and the growing importance of in-app advertising as a key revenue stream for apps.


The Contribution Method

While well-tuned behavior prediction methods may yield the most accurate results in attributing ad revenue, a simpler and viable method for handling this issue of assigning ad revenue to an acquisition source is based on allocating a channel’s contribution of ad revenue according to some user behavior data point.

Contribution margins work by converting a channel’s contribution to overall user behavior into that channel’s earning margin from the overall ad revenue generated by all users. The theory is that the more a channel’s acquired users generate actions in an app, the more influential and deserving that channel’s hand in claiming credit for advertising revenues from those users.

The first step involves selecting a data point to use for determining each acquisition source’s ad revenue contribution margin. As a starting point, you can use Excel trendline regression to identify which user behavior KPI best correlates most with changes in advertising revenue.

Note that, because the contribution method involves attributing revenue based on a proportion of total activity, you will want to use a data point that is a count-like number of active users in a day, rather than a ratio-like retention rate. A few options include:

  • Total active users
  • Total user sessions
  • Total session duration
  • Ad-measurable data (e.g. ad impressions)
  • Total key events (e.g. games played)

Once you have a few data points to observe, scatter plot each data point against total ad revenue per day in order to see where the correlations between changes in user behavior and total ad revenue are strongest. Add the R-squared data point to your graph to identify which data point has the strongest correlation.

There is one downside to this Excel trendline regression method: the less variation in user behavior and ad revenue, the less accurate the model’s ability to observe the strength of correlation between data points. As a result, you will have less confidence in being able to choose one data point over another.

 In this simulated dataset, we see the counts of each data point, per day, as well as the total ad revenue generated per day.

Based on this simulated data, we can see that the event with the best correlation strength appears to be the number of active users based on our R-squared fit metric. This means that the data point from our set which best explains changes in ad revenue is the number of active users, and therefore we should use the number of active users to attribute ad revenue by channel.

Once you have selected a user behavior KPI, it’s time to calculate the contribution margin.

In Excel, copy down the total ad revenue and total number of active users across all ad channels, per day, and calculate the percentage of the total user actions for each day and channel. Then, multiply each channel’s daily contribution margin by the cumulative ad revenue generated on each day.

This process requires that the user behavior data be measured per channel and accessible every day, so that the contribution margin of all channels can be calculated with each new day’s revenue data.

Note: while we only include four ad channels here for illustrative purposes, you will want to also include your organic and other channel data here, too, in order to fully attribute the daily revenue to daily user behavior.

Above, we can see the calculated ad revenue generated by day, by channel, which allows you to estimate the profitability of each channel.

Note that you will need to revisit your assessment of useful KPIs for ad revenue attribution as user behavior trends and ad revenue monetization data shift, or as new data points become available.

For example, in the above dataset, we can see a second grouping of data points towards the end of the data period (starting roughly January 10th) where there is significantly more ad revenue per day than earlier in the month. This is reflected in the grouping of data towards the top-right of each scatterplot, away from the bottom-left group. The more complex the dataset, the less accurate this simple Excel regression assessment will be and the greater the need to apply segmentation and a more rigorous analysis.


About the Authors