[Beta] Introduction to Predict


At a glance: Obtain immediate, accurate predictive LTV insights and KPIs to forecast campaign success on day 30 as soon as 48 hours post-install. Eliminate uncertainty from user acquisition campaigns, make early optimization decisions, and spend your user acquisition budget with maximum profitability.


Predict is currently in closed beta. If you are interested in joining the beta and your account generates sufficient data for predictive analysis, contact your CSM or hello@appsflyer.com (participation is limited).


Predict, AppsFlyer's advanced predictive analytics solution for iOS and SKAdNetwork, utilizes a deep learning algorithm to construct a unique predictive model for each app in accordance with that app’s historical data. This model provides accurate, pLTV-based predictions of campaign success as soon as 1 day post-install.

This article covers the basics of how the predictive logic works and the results it provides. To determine if Predict is the right solution for you and to take the next steps towards getting on board, see Getting started with Predict.


Our predictive analytics solution for Android is expected soon. We'll be in touch with more news as soon as it's available!

The benefits of early prediction

Traditional campaign LTV measurement methods typically require approximately 30 days post-install to provide app owners with a fairly accurate indication of whether a newly acquired user is a “good” user (high LTV) or a “bad” user (low LTV). Even advertisers with the benefit of strong BI resources are able to obtain preliminary indications of user LTV only after 7 to 14 days.

This time lag makes the first 7-14 or 30 days of a user acquisition campaign a period of high uncertainty. UA managers are generally encouraged to leave campaigns untouched during this period, in order to obtain “clean'', reliable data for future optimization purposes – resulting in potential budget losses in cases of poorly performing campaigns or cohorts.

Predict was designed to eliminate these periods of high uncertainty by analyzing a user’s early engagement signals and app interaction to predict accurate user-level LTV on day 30 as early as 1 day post-install. By aggregating these user-level LTV predictions and connecting them with cost data, Predict determines predicted campaign- and cohort-level KPIs, allowing you the timely opportunity to:

  • Invest more in the campaigns and cohorts that are yielding good users
  • Stop running campaigns or targeting cohorts that are not yielding good users
  • Adjust campaign and cohort targeting for those performing somewhere in between, or
  • Make bid adjustments for campaigns and cohorts whose costs are disproportionate to the quality of users they yield

How does it work?

Predict's algorithms are based on the analysis of in-app event data, as recorded by AppsFlyer through SDK or S2S integration. The more closely you can reflect user journey through the measurement of in-app events, the more accurate predictions will be. Of particular significance is a user’s activity within the first 48 hours post-install. For this reason, you are encouraged to set up as many in-app events as possible to measure activity throughout the entire user journey, with specific emphasis on the first 48 hours post-install. For detailed information about in-app event setup, see Getting started with Predict.

In order to train its AI engine for each individual app, Predict analyzes the app’s historical data, searching for correlations between early signals of user behavior and user LTV as of day 30. The analysis is far more comprehensive than simply accounting for the occurrence of an event, but it also takes into account all of the factors surrounding the event and their potential contribution to LTV. Many of these correlations are non-intuitive and could be predicted only by this type of advanced data science.


Let's say a user makes a purchase in your app. In considering the relationship of this purchase to pLTV, Predict considers much more within your app's historical data than just the occurrence of a purchase. It also analyzes numerous additional factors, such as:

  • How much time elapsed between install and purchase?
  • How many app opens were recorded before the purchase?
  • What events did the user perform before the purchase event?
  • Did other in-app events (such as game level achieved, promotion of premium features, discounts offered) have a potential impact on the purchase?

Available attribution methods

Predict makes its predictions for groups of newly acquired users (or “cohorts”) as measured and reported in your AppsFlyer account.

In the post-iOS 14.5+ era, AppsFlyer offers different methods for measuring install attributions:

  • SKAdNetwork (SKAN) attribution
  • AppsFlyer (AF model) attribution
  • Single Source of Truth (SSOT) – which combines, reconciles, and deduplicates SKAN and AF model attribution

To provide a holistic solution for all of your iOS traffic, Predict supports all 3 of these attribution methods. A selector on the Predict dashboard gives you the options to choose which attribution view you want to investigate and easily switch among them.

 Related reading

Developing campaign and cohort-level KPIs

To predict campaign and cohort-level KPIs, Predict uses the following process:

Predicting user-level KPIs


The following are examples of inputs that Predict might consider when predicting user-level KPIs:

  • In-app purchases, subscriptions, ad views, and similar events
  • Number, frequency, and length of sessions
  • Game levels achieved, tutorials completed, recommendations to friends, etc.

Note that these are just examples. Actual inputs will vary based on the in-app events you set up to be measured by AppsFlyer.


Predict uses these inputs in order to predict user-level KPIs (outputs) in the following categories:

  • Monetization: Predicted revenue generated by the user as of day 30 (including a prediction of whether a user will generate revenue by day 30 at all)
  • Retention: Prediction of whether the user will still be using the app as of the 3 retention measurement dates you selected during the onboarding process


Within the context of Predict, retention has a somewhat different meaning than it does for the AppsFlyer Retention dashboard.

For Predict:

  • A retained user on day {x} is not necessarily predicted to open the app on day {x} itself.
  • A retained user on day {x} is predicted to open the app either on day {x} and/or at least one time after day {x} within the 30-day prediction period.


  • Charlie installs the app and is predicted to open it only on day 1.
  • Lucy installs the app and is predicted to open it only on day 7.
User Retained on day 1? Retained on day 7?
Charlie Yes No



Analysis: Even though Lucy isn't predicted to open the app on day 1, she is still considered a retained user on day 1 because she is predicted to open the app afterwards (on day 7).

Aggregating campaign- and cohort-level KPIs

To calculate campaign- and cohort-level KPIs, Predict:

  • Aggregates predicted user-level KPIs
  • Divides by the number of acquired users (installs) per campaign or cohort, as measured by attribution data

Connecting cost

Finally, Predict connects aggregate user acquisition cost based on data received from ad networks (meaning it's not a predicted value). Once Predict receives cost data, we are able to provide further insights such as predicted ROAS.

Learn more about cost aggregation using Xpend.

Reporting KPIs

Predict dashboard

User-level predictions are aggregated and combined with the number of users acquired (installs) and user acquisition cost to provide the following campaign- and cohort-level KPIs:

Underlying metrics:

  • Users: Total number of new user installs in the campaign or cohort (actual value, as measured by attribution data)
  • pRevenue: Predicted total revenue for the campaign or cohort as of day 30 
    • Note: For the SKAN attribution method only, pRevenue by campaign and cohort is extrapolated as necessary to adjust for users with no SKAdNetwork-reported conversion values.
  • Total cost: Total user acquisition cost for users in the campaign or cohort (actual value, as reported by ad networks)


  • pARPU (Predicted Average Revenue Per User): pRevenue ÷ Users
  • pROAS (Predicted Return On Ad Spend): pRevenue ÷ Total cost
  • p-% Paying users: Predicted number of users with in-app purchases ÷ Users
  • p-% Whales: Predicted number of users in the highest revenue bucket ÷ Predicted number of paying users


  • p-% Retention D{x},{y},{z}: Predicted number of users who will be using the app {x},{y}, and {z} days post-install ÷ Users


  • eCPI (Effective Cost Per Install): Total cost ÷ Users

All of these metrics are displayed in the Predict dashboard and in Predict reports, broken down by media source, campaign, site ID, and geo. 

Predict and SKAdNetwork

At its core, Predict is built to leverage initial user engagement data over a limited period of time to provide anonymous user LTV optimization insights, making it particularly valuable for overcoming the primary challenges many marketers face in the context of Apple’s SKAdNetwork (SKAN):

  • Limited 48-hour measurement window
  • Limitation to 1 postback: install + conversion value
  • Privacy-centric measurement and reporting

Predict is able to consider an unlimited number of events during SKAN’s limited attribution window, construct accurate, anonymous LTV predictions, then communicate them to SKAN within the context of the required 6-bit limitation.

How does Predict work with SKAdNetwork?

  • Predict utilizes all event measurements collected by the AppsFlyer SDK (or S2S) within the first 48 hours to develop anonymous, user-level predictions, such as predicted revenue on day 30.
    • All of these events are recorded without attribution data, ensuring compliance with the ATT framework and maintenance of user privacy.
  • Because of the 6-bit limitation, Predict:
    • Assigns each user to 1 of 5 revenue buckets once their LTV is predicted.
      • The value of the first bucket is 0 and is for users that aren’t predicted to generate revenue.
      • Each of the remaining 4 buckets represents a range of revenue values customized to your business logic and determined during the onboarding process.
    • Assigns each user to 1 of 4 retention buckets.
      • The value of the first bucket is 0 and is for users who aren't predicted to keep using the app.
      • The day ranges for each of the remaining 3 buckets are determined by the 3 retention measurement dates you selected during the onboarding process.
  • All of these predictions are transmitted to SKAN as a single conversion value, utilizing all 6 permitted bits or fewer.
  • SKAN waits 24 hours, then reports this value to the ad network along with the campaign ID and attribution source.
  • Finally, the ad network reports the conversion value (along with attribution data) back to AppsFlyer, where it is decoded, connected to cost, and reported in the Predict dashboard.

 A lot to communicate in just 6 bits

6 bits translates to a maximum of 64 values. In order to comply with SKAN's 6-bit conversion value limitation, Predict applies a sophisticated machine-learning algorithm to encode predicted user-level KPIs and transmit them to SKAN as a single conversion value. They're then decoded when sent back to AppsFlyer with the campaign ID. The process is managed entirely by AppsFlyer, without any additional effort on your part.

Does Predict comply with iOS 14+ privacy requirements?

Yes. Predict does not engage in any activity or utilize any identifiers that require a user’s consent to tracking.

What is tracking?

Starting with iOS 14.5, advertisers are required to obtain user permission through Apple’s AppTrackingTransparency framework to track them or access their device’s advertising identifier.

On its developer website, Apple has provided a definition and specific examples of what it considers to be tracking in this context. Predict’s collection, processing, and reporting of data do not constitute tracking, as further detailed in the following tables:

Tracking definition (from Apple website) Predict
The act of linking user or device data collected from your app with user or device data collected from other companies’ apps, websites, or offline properties for targeted advertising or advertising measurement purposes
  • Predict’s training process utilizes only first-party, non-attribution data to create each app’s unique LTV prediction logic.
  • Predict does not utilize any of the following identifiers: gender, location, age, email address, phone number, IDFA, source app, etc.
  • For purposes of identifying events performed by the same user, Predict utilizes only an internal ID generated by AppsFlyer, which is:
    • Specific to an individual app
    • Not utilized to identify a user among different apps
    • Not transmitted in any form to any third party
  • The user-level pLTV score transmitted by Predict to SKAdNetwork is completely anonymous.
Sharing user or device data with data brokers Predict does not share any data with data brokers.


Tracking example (from Apple website) Predict
Displaying targeted advertisements in your app based on user data collected from apps and websites owned by other companies

Predict does not utilize third-party data.

Sharing device location data or email lists with a data broker Predict does not share any data with data brokers.
Sharing a list of emails, advertising IDs, or other IDs with a third-party advertising network that uses that information to retarget those users in other developers’ apps or to find similar users Predict does not share emails, advertising IDs, or other IDs
Placing a third-party SDK in your app that combines user data from your app with user data from other developers’ apps to target advertising or measure advertising efficiency, even if you don’t use the SDK for these purposes. For example, using an analytics SDK that repurposes the data it collects from your app to enable targeted advertising in other developers’ apps. Predict utilizes only first-party pre-attribution event data recorded by the AppsFlyer SDK. Predict uses no third-party data, nor does it report data for use by third parties.