Challenges and example code

Jump to our three pricing challenges:

General setup in all three challenges:

Each time period, each player posts a price, this is given as input into the unknown demand mechanism. Each player in the competition receives then their own sales realization and competitors’ prices. The demand mechanism that generates the sales based on the prices is unknown to all competitors.

Players within the same challenge are randomly selected to play against each other in small competition matches. Each match consists of multiple simulations, and the player with the overall highest generated revenue overall simulations is winning the match.

Duopoly: the airline challenge

In this challenge, you sell a finite inventory of 80 units, e.g. seats on a plane, over a selling season of 100 time periods, think of it as days. You are playing against one other competitor in the market, who also has an initial inventory of 80 units. Each time period, you post a price and then observe your own sales and your competitor’s price. The demand mechanism that generates the sales based on the prices is unknown to both competitors.

The following example illustrates a single time period. The competitors post prices of $8 and $7, which generates sales of 5 and 6 units, respectively:

one time period duopoly

This process repeats itself over the selling season of 100 time periods in total:

multi time period duopoly

After these 100 time periods, the selling season is finished. A new selling season starts and the competitors receive again a new inventory of 80 units. The two competitors play many selling seasons, usually 100. The demand mechanism is the same within a single selling season, but can change across selling seasons.

The player, who generated the most revenue over all selling seasons, wins.

Additional information:

  • a detailed explanation of this challenge can be found here.
  • a simple example algorithm can be found here
  • a more advanced example algorithm can be found here.

Oligopoly: the retail challenge

In this challenge, you compete against two to five competitors. Each competitor sells three products of which you have infinite inventory. You observe all prices, but as usual only your own sales. The following example illustrates a single time period. The red player sets prices of $8, $9, and $3 for his three products and he then receives his realized sales information of respectively 2, 5, and 1 units, as well as his competitors’ prices from the last period.

one time period oligopoli

A selling season consists of 1000 time periods.

multi period scenario 2

We will simulate multiple selling seasons. The demand mechanism is the same within each selling season, but can change across selling seasons.

Additional information:

  • a detailed explanation of this challenge can be found here.
  • a simple example algorithm can be found here
  • a more advanced example algorithm can be found here.

Dynamic: the e-commerce challenge

In this challenge you play against all other competitors simultaneously in a very competitive environment. Each competitor sells a single product with unlimited inventory. The following example illustrates a single time period. The red player sets a prices of $8 and he, after all players submitted their prices to the demand mechanism, then receives his realized sales 5 units as well as his competitors’ prices from the last period.

one time period dynamic

Like in the retail challenge, a single simulation consists of 1000 time periods.

multi period scenario 2

We will simulate multiple selling seasons. The demand mechanism is the same within each selling season, but can change across selling seasons.

Hint: as is the case in reality, some competitors will affect your demand more than others.

Additional information:

  • a detailed explanation of this challenge can be found here.
  • a simple example algorithm can be found here.