img Blog

April 15, 2015

Bid Optimization Techniques


RedLotus Programmatic Advertising platform uses Real-time Bidding (RTB), a protocol / mechanism to buy ad impressions at real-time. A RTB transaction is a second price auction where the highest bidder wins with the second highest price.  

Optimizing ad campaigns for the right bid price is an art (and science). Price is sensitive – it can’t be too high or too low.  Advertisers will not prefer to work with us if the price is too high or if the quality of the traffic was too low (an effect of low pricing).

Therefore, it is important to be able to buy the right bid price in order to meet the pricing as well as the set campaign goals and this is bid price optimization within the ad server.

Our approach to bid price optimization

Our approach to bid price optimization is as follows.

First we lay down a set of rules that govern how we would decide the bid price. Second, use data and machine learning to predict the best possible bid price and probability of action of the campaign for set goals. Then, we bid using the decided bid price. Let the system continuously learn from historical data based on wins or losses. Keep repeating the process with some calculated risk in the overall price and margins.

Campaigns have goals and margins..

All campaigns have either a reach, Click through Rate (CTR), conversion or a effective Cost Per Click (CPC) goal. Typically campaigns have a margin that is either fixed or variable per campaign. A bid optimization module will change bid prices to meet this margin goal. This goal applies for all campaigns and is a consequence of the business model.

There is different kind of prices involved in an auction

  1. Campaign CPM : This is set by the client.
  1. Required CPM: We maintain an average bid price which is lower than the Campaign Bid Price according to the configured margin.
  1.  Current CPM : Represents the actual CPM and the platform will bid higher or lower than the campaign bid price while maintaining the Required CPM

There are also conflicting goals

Fixed margin goal conflicts with the budget completion goal. But budget completion is also important and this results in a conflict. The solution here is to introduce Minimum Margin Percentage instead of fixed margin percentage.

Strategies for maintaining an average bid prices

There are multiple approaches

  1. Maintain the constraint throughout the flight of the campaign.
    Current Average CPM < RCPM
  1. Allow bid prices to go higher than the average bid price, trusting optimization techniques (using prediction models built on historical data).
  1. A middle ground would be to allow the platform to spend more than the allocated percentage for current time slot, thus getting the best of the two approaches i.e. being relatively safe in not spending with higher CPM and possibility of achieving budget completion faster.

Bid optimization goals

  1. All campaigns need to meet budget completion goal.
  1. All campaigns need to meet minimum margin percentage goal.
  1. Campaigns can have specific goals like, Buy at the lowest possible price – Minimum Challenge, Based on statistical model + control theory feedback.
  1. Buy high value impressions for high CTR – Needs reliable CTR model.
  1. Buy high value impressions for high CVR – Needs reliable CVR model.

 Buying at right price with one or more statistical models

This strategy depends on estimates on clearing price. We estimate clearing price by creating a statistical model based on various variables that affect the campaign price. This could include location, behavioral data, hour of the day (sleep schedules affects clearing prices) and the day of the week (because weekends have different price trends than weekdays). Combine this with historical bid price data and predict the initial estimated clearing price using the statistical model.

The system also uses control theory to get a feedback loop from previous time slots for fixing failed estimates. In addition, the system also uses data on lost bids from last N time slots for increasing or decreasing bid price to get the updated, estimated clearing price.

Probability of Action – Models

Probability of Action is a variable calculated by various machine learning algorithms to predict what is the probability of the user clicking on the ad or buying the product.  This is calculated separately through a massive infrastructure of dozens of algorithms and real-time data streams.

Calculating the final bid price

Calculate Bid price with a feedback from statistical models on CTR or CVR. This resultant

Bid Price = Estimated Clearing Price * Probability of Action

Reports on clearing prices

Three types of reports that would give full visibility into bid price prediction include:

  • All standard KPIs obtained from the campaign flight.
  • Data obtained as a part of knowing clearing price  (we can have a strategy to bid for different prices to know clearing price within a time slot). This report can be used to assess the bid optimization algorithm.
  • Predicted graph form the statistical models we have built vs actual results.

Further reading

  • Real Time Bid Optimization with Smooth Budget Delivery in Online Advertising
  • Bid Optimizing and Inventory Scoring in Targeted Online Advertising
  • Pricing Externalities in Real-Time Bidding Markets