How to get started

General steps

  • Register, of course, for free to receive access to the login area.
  • Start developing your algorithms and test that they run without errors and reasonably fast.
  • During the training phase we perform nightly competition runs, you can access and see your performance results in the login area. There you can also upload new algorithms.
  • Submit your final algorithms before the deadline for the ultimate competition simulation.

Algorithm requirements

  • Your code will be executed in a docker container with the latest Python 3.7 Anaconda distribution, if you need additional packages, please contact us and we will add them to the container.
  • The container in which your code runs has 1 CPU and 512 MB of memory and your code is not allowed to use the local file system to save your own log files or anything like this. Further, there is no need for printing out things in your functions, we are not logging your output.
  • When uploading your algorithms on the platform, please name the pricing algorithms “duopoly.py” (1-airline case), “oligopoly.py” (2-retail) and “dynamic.py” (3-ecommerce). This is essential for the competition setup on AWS.
  • The competition setup expects that each of the main scripts contains a function p(.), which we will call, the function is expected to return the price(s) and the information dump.
  • The information dump allows you to pass yourself any kind of information from one time period/iteration to the next.
  • You can use supporting python scripts by importing them in your scripts from the current working directory.
  • Your algorithms need to return a price response on average within 0.2 seconds per time period/iteration and the maximum time for a single price response is 5 seconds. Further, the algorithm needs to be error free in 99% of the price requests.
  • In case we do not receive a valid price response (>0) from your function, we will use your old price from the previous time period. In case your function is not working on the first period in the selling season, we will draw a random price and use that.

Testing

Cloud testing environment

We are currently developing a new version that allows you to debug and test your algorithms in the cloud. You will find more information on this in your the login area.

Local testing environment

In order to test whether your algorithm is correctly handling input/output, we have developed a local testing environment that you can run on your local machine to test your code before submitting . While the local testing environment does not test your code using the real demand behaviors, it still gives an indication of whether your submission is able to perform in the actual competition with reasonable speed. 
Please download the testing environment here and see the usage manual here.

During the training phase

  • You can upload daily new algorithms.
  • We build a new docker container with your code.
  • At night all containers are started, the competition matches are randomly drawn among the competitors.
  • The simulations are performed, performances are logged and evaluated.
  • You will find your ranking and performance statistics in your login area. There you can also download .csv files with simulation data (your prices, competitor prices and your demand realization).

How it all got started

Curious to know how it all began? Check out the paper below on the very first edition of the competition in 2017.

case study first page