This is a fully agent-based sponsored search auction (SSA) simulator. The simulator takes multiple bidding policies as agents participating in the auctions, and emulates 2nd price auction for sponsored search advertisement placing similar to Google's Ad-click system.
This simulator has been utilized in the following publications and educational projects:
- Optimal Learning (ORF 418) class offered in Princeton University. Spring 2018 semester. Course Webpage
- Meta-learning of Bidding Agent with Knowledge Gradientin a Fully Agent-based Sponsored Search Auction Simulator, AAMAS 2019 PDF
Downloadable zip and tar.gz files are here. Also, you may clone this repository.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
This software was tested with Python 3.6 running on Windows 10 and Ubuntu 16.04.
Anaconda is an easy way to get a working python. Get it here.
The initial version of the simulator is tested on 64-bit python 3.6 as follows:
Python 3.6.1 | packaged by conda-forge | (default, May 23 2017, 14:21:39) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
The packages required by the simulator are:
- numpy: used for pseudorandom number generator and many useful functions
- openpyxl: used for Microsoft Excel xlsx input/output functionalities
You may get these using conda
$ conda install numpy openpyxl
or using pip
$ pip install numpy openpyxl
Download the source codes by
$ git clone https://github.com/donghun2018/adclick-simulator.git
And try running
$ python simulator
This should generate several .xlsx files in the same directory. Now you have a running simulator, and you may add your policies by adding a new policy file in Policies/ subdirectory.
- An introductory slideshow PDF file is available here
- This material is used as a guide to a Princeton undergraduate class offered in 2018.
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
Please see VERSION.md for details.
- Donghun Lee (d.lee at princeton dot edu): created initial version
See also the list of contributors who participated in this project.
- Weidong Han for many useful feedback, suggestions, and contributions to improve the software
This project is licensed under the MIT License - see the LICENSE.md file for details.