Autopilot for Bidding in First Price Auctions


Which is better – first or second price auction? A hot topic for debate on which even our CEO has opined in his blog. With the rise of header bidding, exchanges/SSPs are increasingly adopting first price auctions so that they can submit the most competitive bid. A higher bid from an exchange/SSP has a higher chance of winning the header auction. An obvious consequence of this industry change for buyers who have not adapted their bidding strategy for first price auctions is higher CPMs. This problem to identify the optimal bid is difficult but solvable provided the buyer has the right technology partner. In this post, we will elaborate on AppNexus’s approach to bid on first price auctions and provide better outcomes and operational efficiency to our buyers.

Elaborating on the problem

To help define the problem further, let’s compare a few different scenarios for a buyer bidding $10 into two types of inventory, competitive and uncompetitive inventory. Competitive inventory is the inventory with a higher winning price.
Here is an illustrative table showing auction outcome in first and second price auctions if the buyer keeps the same strategy regardless of auction type.

Strategy: Bid the same
Auction type Inventory Bid Price to win Outcome Price Paid
2nd price auction competitive $10 $8.50 Win $8.51
1st price auction competitive $10 $8.50 Win $10.0
2nd price auction uncompetitive $10 $3.50 Win $3.51
1st price auction uncompetitive $10 $3.50 Win $10.0

As seen above, the buyer is not negatively impacted on submitting a $10 bid in second price auctions for both types of inventory. In fact, the buyer would not have benefited by lowering their bid on uncompetitive supply. However, the buyer overpays by a small amount in the first price auction in the competitive inventory and overpays by a lot in the uncompetitive inventory. Another Buyer strategy could be to reduce bids by a constant amount, let’s say by 30%, in first price auctions to avoid overpaying. Unfortunately, as we can see below, the outcome isn’t great either.

Strategy: Reduce bids by 30%
Auction type Inventory Buyer Price to win Outcome Price Paid
1st price auction competitive $7.0 $8.50 Lose $0.0
1st price auction uncompetitive $7.0 $3.50 Win $7.0

Our Solution

Clearly, the best strategy for the buyer is to bid with the optimal price and differently on each type of inventory. In real life, a trader is buying from thousands of different websites and the optimal price on the same inventory is changing all the time which makes this task of finding the optimal price in first price auctions laborious and challenging, if not impossible. A task clearly meant for machines.

That’s why AppNexus has built Bid Price Optimization (BPO) to solve this challenging problem. BPO applies machine learning algorithm and engineering at scale to find the optimal price to bid on first price inventory. It tests multiple bid prices at a regular cadence on each piece of inventory on AppNexus platform to find the optimal price for each inventory. In other words, BPO runs millions of bidding strategies on the entire AppNexus exchange inventory to find the optimal price for every auction.

BPO does not replace AppNexus Programmable Platform optimization which does bid valuation to achieve campaign goals. Instead, BPO works on top of it to ensure that a buyer does not overpay in first price auctions.

Under the Hood: How Bid Price Optimization works

At a high level, Bid Price Optimization works by (a) dividing historical inventory bid price into ranges (b) learning the best strategy in each range, and (c) mapping the buyer bid to inventory bid price range.

Dividing historical inventory bid price into ranges: Historical bid price range on the inventory is divided into several bid ranges. BPO uses Market Rate Estimation to divide the inventory bid price range into range 1, range 2, range 3,.., range N. This is done because the winning strategy is different for a low bid (e.g. $1) compared to a high bid (e.g. $10).

Learning the best strategy in each beta range: In each range, BPO then applies multiple exploratory bid strategies to find the winning strategy. Internally, we refer to the factor by which the bid is reduced as beta (a value between 0 and 1). Here is an illustration of the evolution of winning beta value in subsequent algorithm runs.

Mapping the buyer bid to inventory bid price range: The buyer bid for an inventory is then mapped to the inventory bid price range and the associated winning beta strategy for that range. The shaded buyer bid submitted to the auction is the multiple of buyer bid and beta.

In summary, Bid Price Optimization is a reinforcement learning algorithm that discovers the beta values that result in lowest winnable bid price on every piece of inventory. It adopts the strategy that performs the best while exploring less successful but potentially promising strategies.

Reporting Bid Reduction

To help our customers see the benefits of Bid Price Optimization, we have added bid reduction metric in Advertiser Analytics and Network (Buyer) Analytics reports. The metric, named "Avg Bid Reduction" in reports, captures the average percentage difference between the buyer bid submitted before bid price optimization to the auction and the paid media cost.

The metric is for both first price and second price auctions but represents the bid reduction due to Bid Price Optimization in a first price auction and the bid reduction up to the second highest bid price or the reserve price in a second price auction.

The metric is available for RTB impressions and the data is available from January 17, 2018, onwards.


If you are APP trader, then Bid Price Optimization brings the following benefits
Just Works - APP automatically reduces the bid such that you do not overpay in a first price auction while maintaining your win rate.

Does not interfere with campaign strategy – Apply your bidding strategy to achieve your campaign KPIs without being concerned about the underlying auction type.

Reporting – Track the bid reduction that you are getting across your campaigns.

If you want to learn more about APP Bid Price Optimization or if you have any questions, please reach out to your Account Manager or drop us a note through our support portal and add #bpo to the subject.

Ashish Chandola

Product Manager at AppNexus

Subscribe to AppNexus Product Blog

Get the latest posts delivered right to your inbox.

or subscribe via RSS with Feedly!