CPI Optimisation Algorithm

CPI Optimisation Algorithm

From Bids To Installs: How The Algo Works


The CPI (Cost per Install) algorithm is a data science system that powers install-focused campaigns in RTB. It calculates bid values designed to hit CPI goals while scaling campaign performance.

Main Components

There are 5 components in the CPI algorithm:
  1. Prediction Model
  2. PI Controller (Factor)
  3. Auto Blacklisting Model
  4. Creative Optimization Tool
  5. Bid Shading
Info
Note:
All CPI campaigns automatically apply smart split testing for creative optimisation 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 - in short, it favours the best performer.

The creative optimisation algorithm runs separately from the CPI algorithm, acting as an extra layer that also aims to lower 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. It looks at signals from the publisher, advertiser, and user, then gives a score between 0 and 1 — where 0 means unlikely to install and 1 means very likely.



PI Controller

CPI campaigns have two main goals: hitting the target CPI and getting enough volume. Since it’s not always possible to achieve both perfectly at the same time, the PI Controller helps strike a balance, that is, maximise campaign volume while staying within CPI limits.
  1. How it works: The PI Controller produces a value called the Factor. The Factor is multiplied with the Prediction Model and adjusts the bid price predicted by the model.
    1. If the Factor is >1, bids increase to drive more volume.
    2. If the Factor is <1, bids decrease to control CPI.
  1. Stages: 
    1. Budget Mode (Exploration) - Max Factor: 2
      The algorithm aims to find new profitable pockets of inventory by taking risks on "unproven" inventory. The goal is to make sure the assigned daily campaign budget is spent. If it is estimated to not be spent fully, the Factor will increase, therefore increasing bids as well. The daily campaign budget can thus be used as a tool to control the aggressiveness of bids during the exploration phase.

      Every campaign starts in Budget Mode. It will switch to CPI Mode once it crosses a default loss threshold of $500.
      Loss = (Total Media Cost) – (Target CPI × Installs)

      In other words, it’s the gap between what installs should have cost at the target CPI versus what they actually cost (eCPI). So once that “loss” exceeds $500, the campaign moves into CPI Mode to focus on tighter cost control.

    1. CPI Mode (Optimisation) - Max Factor: 5
      The algorithm aims to be profitable and “optimise” the pockets of inventory that deliver good performance. The goal is achieving target CPI and scaling good inventory.

      If target CPI is overachieved, the Factor will increase to achieve more scale, provided the campaign has enough daily budget. If the target CPI is underachieved, i.e. eCPI > target CPI, the Factor will decrease and bids will be less aggressive. The daily campaign budget can hence be used as a tool to control the scale of a campaign during the optimisation phase.

      Idea
      Recommended 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 and target CPI (tCPI) which determines the final bid price:
      Bid Price = Factor x Prediction Model x tCPI

      A campaign will start in explore mode and may move to optimise mode after 7 days, provided it has enough data.

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 Optimisation Tool

The Creative Optimisation 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 optimisation:
  • 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 Optimisation.
  • 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 optimisation 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.
Info
In the context of the Creative Optimisation Model, "explore" vs "optimise" are different from the CPI Campaign explore vs optimise phase. i.e. the creatives can start optimizing before the campaign itself has turned to optimise mode, and vice versa.
    • Related Articles

    • User Acquisition Guide

      Tips on how to setup the UA campaigns and optimise Overview User acquisition through RTB channels can be challenging. It’s a data-heavy science that looks for trends and patterns that work. Without this data-driven focus, you just guess at what’s ...
    • CPI Campaign Checklist

      This checklist aims to capture app info required for CPI campaign approval and launch. Please fill up the form and our Account Management team will follow up with you. Click HERE.