Skip to main content
All CollectionsGuide to User Acquisition Campaigns
Guide to CPI Optimization Algorithm
Guide to CPI Optimization Algorithm

How it works and optimizes the campaigns towards the CPI goal

GSM360 Support avatar
Written by GSM360 Support
Updated this week

CPI (Cost per Install) algorithm is the end-to-end data science solution to run install-driven campaigns on RTB. The function of the CPI Algorithm is to generate bid values to be used in RTB which will lead to achieving the campaign objectives of CPI at scale.


Main Components

There are 4 components in the CPI algorithm:

  • Prediction Model

  • PI Controller (Factor)

  • Auto Blacklisting Tool

  • Creative Optimization Tool

Note:

All CPI campaigns automatically leverage a multiarmed-bandit model for creative optimization to identify and maximise the delivery of those creatives in a campaign that yields the best IPM (installs per 1,000 impressions) and the lowest eCPI. The creative optimization algorithm works independently from the CPI algorithm and can hence be looked at as an on-top optimization that works to achieve the same goal: achieving a better eCPI.


Prediction Model

Prediction Model is a logistic regression model trained to predict the probability of an install given a set of variables associated with every bid request. The Prediction Model uses the publisher side, advertiser side and user-side features in the model. The prediction model’s output oscillates between 0 and 1.



PI Controller (Factor)

CPI campaigns come with a 2-dimensional objective (target CPI & volume). For the available supply, it is often not possible to simultaneously achieve both the objectives. PI controller is designed to achieve maximum possible volumes while not exceeding the target CPI. The output value the PI Controller produces is called “Factor”.

The Factor is multiplied with the Prediction Model and thereby works as a corrective factor to the predicted bid value calculated by the model. If the Factor is >1, then bid prices are adjusted upwards, if it is <1, bid prices are adjusted downwards.

There are two modes:

  1. Budget Mode (Exploration)

    Algorithm aims to find new profitable pockets of inventory by taking risks on "unproven" inventory.

  2. CPI Mode (Optimization)
    Algorithm aims to be profitable and optimize the pockets of inventory that deliver good performance.


Budget Mode (Exploration)

Every campaign starts off in a Budget mode and will shift to CPI mode when it violates a default total loss threshold of $500. This "loss" is defined as the cumulative media cost minus the target CPI multiplied by the number of installs achieved. It reflects the theoretical 'loss' being the delta between the eCPI and the target CPI. It is possible to override the default thresholds and set them to any desired value. This can be done even in the middle of a campaign’s lifetime if it is still in exploration mode or when it is being reverted to exploration mode.

During exploration, the PI controller is programmed to make sure the assigned daily campaign budget is spent. If the daily budget is estimated to not be exhausted, the Factor will increase and as a result the bids will increase as well. During the exploration phase, the daily campaign budget can hence be used as a tool to control the aggressiveness of bids.


CPI Mode (Optimization)

During the CPI mode (optimization), the PI controller is programmed to meet the target CPI.

If target CPI is overachieved, the Factor will increase to achieve more scale (as long as the campaign has enough daily budget). If the target CPI is underachieved (i.e. eCPI > target CPI), the Factor will decrease and as a result the bids are less aggressive.

During the optimization phase, the daily campaign budget can hence be used as a tool to control the scale of a campaign. It is advised to keep the daily budget of a campaign at about 2x or more of the actual media spend to avoid the campaign being constrained by budget.

The following is the formula comprised of Factor, Prediction Model (dCVR) and target CPI (tCPI) which determines the final bid price:

Bid Price = Factor x dCVR x tCPI


Auto Blacklisting Tool

The Auto Blacklisting tool is a safety net on top of the model. It identifies loss-making apps by a probability model and blacklists them. It defines a prior distribution for loss (or profit) of every (app, campaign) combination. At regular intervals, it computes the probability that loss > 0 (the probability that the app is a loss-making app).

Blacklisting rule: blacklist if probability (aCPI>= 3 x tCPI) > 85%. This ensures that an app gets blacklisted only if there is sufficient data to conclude that it is a loss-making app. Once there is sufficient data, this model avoids any further losses by immediately blacklisting the app if it is found to be loss-making.

How to achieve the best possible results?

It is recommended to configure the various variables of the CPI Algorithm to best reflect the individual setup and goals of a campaign to achieve the best possible results. Your GeoSpot Media support will be happy to assist you with advice.

Creative Optimization Tool

The Creative Optimization Model is a feature within CPI-optimized campaigns that will distribute creatives (of the same dimensions) in a given campaign based on their performance.

The algorithm starts with exploration then after a statistically significant threshold, turns to the optimization of creatives. CPI campaigns start in exploration by bidding equally on all creatives (of same dimensions), then optimize by delivering more bids to the creative which yields the best probability of install.

This model also works when you add creatives to an existing campaign. Thereby, you can constantly test and iterate new creatives and let the system automatically choose and keep the best-performing ones.

However, if you want an entirely “clean” A/B test of creatives we recommend to start those creatives on a new campaign to avoid any bias created by the learnings the model already made on features such as creative_bundleID combination.



Best practices for creative optimization:

  • If possible try not to add new creatives to a campaign specifically if it has been running for a significant time.

  • Try to club homogenous creatives in a campaign to better utilise the model and Creative Optimization.

  • Do not pause/delete all the current creatives of the running campaign. It is recommended to keep at least 1 good performing creative while adding new ones.

  • You can pause/delete the old one once newly added creatives pick up in performance.

  • If you would like to perform a somewhat unbiased AB test, do not put creative_A and creative_B in the same campaign. Instead, keep creative_A in one campaign and put creative_B in a new clone campaign. Launch these campaigns at the same time and make sure all settings are identical except creatives.

Explanation:

Currently, until the next creative optimization update, GeoSpot Media algorithm does not divert the same traffic to different creatives, meaning that Creative_A and Creative_B will receive different traffic. In such case creative_A may outperform creative_B just because it was run on different traffic, in other words it would be impossible to judge creatives without placement performance bias.

Note:
In the context of the Creative Optimization Model, "explore" vs "optimise" are different from the CPI Campaign explore vs optimize phase. i.e. the creatives can start optimizing before the campaign itself has turned to optimize mode, and vice versa.


Did this answer your question?