Proportionality Lotteries

When requesting a multi-winner placement, you can also set a proportionality property that modifies the lottery selection algorithm used to make a decision. The proportional lottery algorithm chooses multiple ads in a single decision. This multi-ad decision preserves relative proportions of share of view or share of voice between ads, and absolute share of view when possible. Overall, it achieves optimal allocation of inventory.

The proportional lottery algorithm selects ads from lottery priorities in an optimal way based on the number of ads desired (the count property) and the percentage goals of the flights in the lottery priority. The ad selection performed in a single operation. This is different from the "normal" multi-winner lottery algorithm, which selects ads by conducting a series of separate lotteries.

Proportional Ad Serving Behavior

Absolute share of view is preserved whenever possible. For example, given a lottery priority containing flights with goals of:

  • 100%
  • 50%
  • 25%
  • 25%

And a count of 4:

  • the first flight will serve for every request
  • the second flight for exactly 50% of the requests
  • the third and fourth flights for exactly 25% of the requests each.

In this case, the selection algorithm optimizes inventory allocation by returning two ads for each request, not zero ads sometimes and four ads other times.

When demand outstrips supply, absolute share of view can not be achieved. This happens when more "share" has been allocated in percentage goals than there is "view" available.

Consider a request with a count of 2, for instance. In this case, there are two available slots for ads, so the flights in the priority are allocated shares of those two available slots according to their percentage goals. If the sum of the goals is greater than 200% then something has to give because there is not sufficient inventory -- the two available slots -- to fulfill all of the goals.

In this situation, the proportional lottery algorithm continues to preserve the relative share of view between flights. Ads from a percentage goal flight that is twice the percentage goal of another flight will serve twice as often as ads from the other flight.

For example, given a lottery priority containing flights with goals of:

  • 100%
  • 100%
  • 50%
  • 50%,

And a count of 2:

  • the first and second flights will serve for 2/3rd of all requests each
  • the third and fourth flights for 1/3rd of all requests, each.

(Note that 2/3 + 2/3 + 1/3 + 1/3 = 2, the number of available slots.) The selection still optimizes inventory allocation by always returning exactly two ads.


Just like for other multi-winner placements, proportionality placements will not always return the full number of ads requested in the count. The response will contain the number of ads able to fulfill the proportion set by the weight of the flights.


Percentage goals over 100% are treated as 100% in proportional lotteries.

Setting Proportionality

To set proportionality for a response:

  • Add the proportionality parameter to a Decision API multi-winner placement
  • Set proportionality to true.

See the example on the right.

  "placements": [
      "divName": "multi-winner",
      "networkId": 1234,
      "siteId": 12345,
      "adTypes": [
      "count": 2,