In our last post we looked at how we use a sequential algorithm to achieve optimal user-campaign assignment. But this only gets us halfway to good campaign performance; the key is the bidding strategy. Only bidding for users who are most likely not to click will deliver catastrophic performance. Intuitively, therefore, the bid needs to reflect the value of the user.
However, we’re going to take a more scientific approach to this topic and build on insights published by Zhang. As described in the previous blog entries, we have already undertaken a number of preliminary working steps and analyses, so we can now use this information.
We know which placements occur on which websites and how often at specific times, what the minimum bids there need to be, and what their bidlandscapes look like, i.e. how the odds of winning will behave depending on the bids.
We have a reserved cookie pool for each campaign, which if we reduce it purely to its KPI, has a KPI probability density.
Each campaign has its daily budget, which is to be spent on the associated cookie pool.
For each campaign we now have an optimization problem:
"Find the optimal bid strategy so that the expected KPI is maximised, under the side condition that the total cost of the bids won is the same as the campaign's daily budget. Here, the bid strategy bid_i(KPI) for placement i denotes the bid level for placement I, depending on a user KPI.”
Zhang solves the problem on the assumption that all placements have a homogeneous bidlandscape. This is not the case with us; we solve the optimisation problem mathematically with Lagrange. Interestingly, on the way to the solution the marginal campaign yield value also appears, i.e. the gain in the KPI that an additional euro in the campaign brings – a value of great interest to our partners.
Solving this optimization problem provides us with a bid function for each campaign and each placement, which assigns a bid to a user based on their KPI.
Conversely, the bids are determined to exactly spend the budget over the day and maximize the KPI.
A simulation shows that this bid strategy far outperforms ‘one bid fits all’ (OBFA) as well as linear bidding strategies (without taking placement differences into account). In this simulation, 2400€ are to be invested and clicks maximised.
Compass might generate fewer impressions here than OBFA. But that is not the optimization goal. Instead, it is clicks, where Compass clearly beats the other strategies.
As a result of the side condition of bid optimization, the daily budget of each campaign is spent exactly over the day (this is precisely how the bid strategies - in blue - were adjusted).
If this bidding strategy is logged in and in live operation, however, quite a lot can happen. Unforeseen shifts in traffic and changed bidlandscapes (e.g. large campaigns by competitors) can lead to campaigns deviating quickly from plan. This means that they either cannot fully place their daily budget or use up their budget early. So, there can certainly be deviations from the plan within a day.
This behaviour is not welcome and it can be demonstrated that bidding strategies are not completely efficient in this way. We therefore continuously feed the current deviation of the campaign between planned and actually committed costs into a ‘controller’ module; this models the correlation between bid height and plan deviation, in order to continuously adjust the bid strategies.
Compass delivers unprecedented performance and insights into our display advertising market.
By determining the bidding strategy, we are able to estimate for each campaign how much could be spent per website and placement, as well as how many auctions could be won with that sum. It can also determine why publishers can be left empty-handed at the end of an auction (often due to an excessively high hard floor price). Here, we can use Compass in a simulation to find optimal hard floor prices together with publishers.
The marginal campaign yields that Compass calculates along the way help partners estimate how far they can scale up in our network.
Our partners benefit from our modelling just as much as we do, as their campaigns are on par with ours. As a result, we expect high demand from our partners. Given that the market limits in the OTTO Display Network are higher than with our old setup, we hope to be able to meet a high demand for a long time.
Here's a look at the combined effect of ODiN, Orbidder, and Compass compared to our previous setup using a campaign as an example:
With only one-fifth of the previous CPM (cost/1000 impressions) and a quarter of the CPC (cost/click), 2.5 times as many users could be addressed. This shows how well the new infrastructure performs.
The integration of app inventory and other traffic sources is in the pipeline, so that more and more auctions will become accessable to us and we can continue to grow. Compass can also be transferred to other marketing channels, thus allowing a uniform customer approach across different channels, which is entirely in OTTO’s and its partners’ best interests.
The backlog is long – and the ideas manifold! If you’re interested in contributing your skills to this and other exciting projects, take a look at our job advertisement: