Ads Auctions and Bids

How Promoted calculates insertion bids and supports multiple auction types

Promoted provides a full suite of capabilities for native ads allocation. When an ad slot is available and needs to be filled per the Delivery request, Promoted runs an ads auction that uses bids set by the advertisers. The max bid (sometimes called the "event bid") is the maximum price the advertiser is willing to pay in the auction.

Insertion Bid

The max bid is used to create an Insertion Bid, which considers pacing, quality controls, value without the ad (e.g., if the item already appears in the organic results), and other factors. A simple example of an insertion bid in a CPC (cost-per-click) ads system could be p(click|insertion)*MaxClickBid, where p(click|insertion) is the probability of a click given an insertion and the MaxClickBid is the maximum bid per click, chosen by the advertiser. In reality, this formula takes additional metrics into account; see below.

📘

Bids are placed on insertions, not actions.

The ad system cannot control user actions like impressions, clicks, conversions, or objectives (e.g., average cost per action). Bids are only placed on insertions — whether to insert the ad and make it potentially viewable to the user. Promoted uses advanced models to maximize the likelihood of a click and conversion.

Regardless of ad optimization and bidding interface (e.g., CPC, oCPM, Video), all ads have the same “unit” of “insertion bids.” Then, they can be allocated together. In some systems, non-ads also have an insertion bid and are allocated together with ads for increased control and efficiency.

Optimizing insertion bids

The structure of an insertion bid is the advertiser bid + complementary bid.

Promoted's insertion bids account for click predictions, budget pacing, and marketplace quality, among others.

Promoted's insertion bids account for click predictions, budget pacing, and marketplace quality, among others.

Advertiser bid

The advertiser bid factors in these three values:

  • Event bid. The max bid, or the maximum price the advertiser is willing to pay.
  • Event Prediction. Click, impression, or other predictions generated by Promoted's machine learning models.
  • Pacer. An Auto-Bidder that adjusts insertion bids of an ad over time to account for opportunity costs given a limited budget for delivery from the advertiser. This budgeting is typically implemented as a target “opportunity curve” of expected cumulative allocation opportunities per day. A pacer tries to spend a daily budget to track this opportunity curve, and uses strategies to spend more slowly and optimally. This may be implemented as a probabilistic pacer (drops out of auctions at a certain probability) or a discount pacer (continuously adjusts a bid multiplier, usually using a PID controller).

Complementary bid

The Complementary Bid is a competing bid from the platform to control for user experience and other considerations like diversity or query relevance. It is essentially the expected marketplace or user value of an insertion — like the marketplace bidding for its own interest.

The complementary bid is calculated as the exchange rate multiplied by the quality score.

  • Exchange rate. A control for how much to value the marketplace’s interests relative to the advertiser’s interest. It has three dimensions of control:
    • Relative ad economy. The marketplace ad economy compared internationally. E.g., the US will have a higher exchange rate than Mexico.
    • User-specific quality tolerance. Some users require a higher investment than others.
    • Strategic platform objectives. E.g., short-term vs long-term revenue optimization.
  • Quality Score. This is marketplace-specific and usually includes components like predicted user engagement, query relevance, review score, diversity penalties, new product subsidies, new advertiser experience, and others.

Auction

The ads auction refers to the entire process of pricing and allocating an ad. Three main auctions are used in practice:

AuctionPricingDescriptionImplementation complexity
First-price auction (FPA)Price is the highest bid in the auctionThe highest bid wins, and the advertiser pays exactly what it bid. This maximizes platform revenue from the available bids, but the system may feel "gameable" by advertisers, resulting in constant testing of lower bids to get lower prices.Less complex
(Generalized) second-price auction (GSP)Price is the second-highest bid in the auctionOverall similar to FPA, except that the advertiser pays the amount of the next bid (in decreasing price order). It obfuscates some of the relationships between price and bid, making it less obvious how lowering bids results in lower prices. GSP permits adding a Complementary Bid to make poor-quality ads more expensive. GSP pricing cannot be used without a strictly ordered ad allocation; there must be a clear "next" ad. Note: For a single ad slot, VCG and GSP behave the same.More complex
Vickrey–Clarke–Groves auctionPrice is the bid, minus the "harm" inflicted by the advertiser's participation in the auction. This is calculated by comparing the auction results with and without the advertiser's participation.An analytical pricing solution that makes the optimal bid the "true value" of winning, theoretically disincentivizing advertisers from playing with bids to try to win lower prices. (This is called a dominant strategy.) Advertisers don't necessarily know their "true value," so they may still continually adjust bids to see if they "like" the result. Furthermore, ad delivery systems have many repetitions; repeated VCG auctions don't have the "bid true value" property. It can be used for any allocation method.Most complex

📘

When allocating only one ads slot, the VCG auction is just the second-price auction.

VCG is most useful for platforms that need to allocate multiple ads slots per request. Most platforms fall into this category (e.g., having more than one sponsored listing in the search results).

Reduction and Filtering

Promoted supports reduction, which is a method of choosing which ad, SKU, part, seller, or version of an item or ad to show when there are multiple competing choices for that same item but only one or few of them can be selected for insertion. The implementation depends on the client and the details of the ads system.

Further, Promoted performs trimming and filtering to remove irrelevant or poor quality ads from the auction, typically before the allocation algorithm. It can technically be modeled as setting an ad's insertion bid to zero.

Billable actions

Billable Actions are user events that result in a fee billed to the advertiser when the action is attributed to the ad. For example, for cost-per-click (CPC), the billable action is a click. Other common billable actions include insertions, impressions, and purchases. If the price was computed as "per insertion," then the price billed to an advertiser may need to be converted to a price "per billable action." For example, divide by the pCTR used to compute the insertion bid in the winning auction to get the billable click price. This conversion isn't necessary using a simple CPC design that doesn't convert click bids to insertion bids.

This contrasts with Optimized Actions, which are the user events the ad is designed to maximize. This is typically implemented as an event prediction for that action used in calculating the insertion bid. For example, if the optimized action is "conversion," then a conversion prediction is used in the insertion bid. The optimized action is not necessarily the billable action. For example, "oCPM" ads from Facebook as optimized for conversions

🚧

Documentation Under Construction

Check back for additional information on Promoted's ads allocation system.