Giter Site home page Giter Site logo

soopark0221 / auction-gym Goto Github PK

View Code? Open in Web Editor NEW

This project forked from amzn/auction-gym

0.0 0.0 0.0 5.74 MB

AuctionGym is a simulation environment that enables reproducible evaluation of bandit and reinforcement learning methods for online advertising auctions.

License: Apache License 2.0

Python 34.16% Jupyter Notebook 65.84%

auction-gym's Introduction

AuctionGym: Simulating Online Advertising Auctions

This repository contains the source code for AuctionGym: a simulation environment that enables reproducible offline evaluation of bandit and reinforcement learning approaches to ad allocation and bidding in online advertising auctions. A research paper accompanying this repository was accepted as a contribution to the AdKDD '22 workshop, co-located with the 2022 ACM SIGKDD Conference, and received a Best Paper Award.

Offline evaluation of "learning to bid" approaches is not straightforward, because of multiple reasons: (1) observational data suffers from unobserved confounding and experimental data with broad interventions is costly to obtain, (2) offline experiments suffer from Goodhart's Law: " when a measure becomes a target, it ceases to be a good measure ", and (3) at the time of writing and to the best of our knowledge -- there are no publicly available datasets to researchers that can be used for this purpose. As a result, reliable and reproducible validation of novel "learning to bid" methods is hindered, and so is open scientific progress in this field.

AuctionGym aims to mitigate this problem, by providing a unified framework that practitioners and research can use to benchmark novel methods and gain insights into their inner workings.

Getting Started

We provide two introductory and exploratory notebooks. To open them, run jupyter notebook in the main directory and navigate to src.

" Getting Started with AuctionGym (1. Effects of Competition) " simulates second-price auctions with varying levels of competition, visualising the effects on advertiser welfare and surplus, and revenue for the auctioneer. Analogosuly, " Getting Started with AuctionGym (2. Effects of Bid Shading) " simulates first-price auctions where bidders bid truthfully vs. when they shade their bids in a value-based manner.

Reproducing Research Results

This section provides instructions to reproduce the results reported in our AdKDD paper.

We provide a script that takes as input a configuration file detailing the environment and bidders (in JSON format), and outputs raw logged metrics over repeated auction rounds in .csv-files, along with visualisations. To reproduce the results for truthful bidders in a second-price auction reported in Fig. 1 in the paper, run:

python src/main.py config/SP_Oracle.json

A results-directory will be created, with a subdirectory per configuration file that was ran. This subdirectory will contain .csv-files with raw metrics, and .pdf-files with general visualisations. Other configuration files will generate results for other environments, and other bidder behaviour. See configuration for more detail on the structure of the configuration files.

Citing

Please cite the accompanying research paper if you use AuctionGym in your work:

    @inproceedings{Jeunen2022_AuctionGym,
      author = {Jeunen, Olivier and Murphy, Sean and Allison, Ben},
      title = {Learning to Bid with AuctionGym},
      booktitle = {Proc. of the AdKDD Workshop at the 28th ACM SIGKDD Conference on Knowledge Discovery \& Data Mining},
      series = {AdKDD '22},
      year = {2022}
    }

Security

See CONTRIBUTING for more information.

License

This project is licensed under the Apache-2.0 License.

auction-gym's People

Contributors

olivierjeunen avatar dependabot[bot] avatar lastavro avatar amazon-auto avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.