- Set up the desired configuration in
src/configuration.py
.- Choose the desired pacing algorithm by defining the
pacing_algorithm
variable, e.g.:pacing_algorithm = constants.BudgetPacingAlgorithms.MYSTIQUE_NON_LINEAR
.
- Choose the desired pacing algorithm by defining the
- Run
src/main.py
.
If you're running the simulations through PyCharm, you can use the run configurations defined in the runConfigurations
directory.
First, set up the desired configuration in src/configuration.py
, without changing the value of the pacing_algorithm
variable.
Then run the runConfigurations/All-Pacing-Systems.run.xml
compound configuration, which will run the simulation with each of the following pacing systems:
- Mystique Linear
- Mystique Non-Linear
- Mystique Linear Hard Throttling
- Mystique Non-Linear Hard Throttling
- Without Budget Pacing
The predefined run configurations set the PACING_SYSTEM
environment variable which is read by the src/configuration.py
file.
The simulation outputs the statistics into a directory, that is dedicated to the current configuration, which will be created inside the output
folder.
If you use this simulation in one of your research projects, please cite our WWW paper "Mystique: A Budget Pacing System for Performance Optimization in Online Advertising":
@inproceedings{stram2024Mystique,
title={Mystique: A Budget Pacing System for Performance Optimization in Online Advertising},
author={Stram, Rotem and Abboud, Rani and Shtoff, Alex and Somekh, Oren and Raviv, Ariel and Koren, Yair},
booktitle={Proceedings of the ACM Web Conference 2024},
year={2024}
}