• Stars
    star
    102
  • Rank 335,584 (Top 7 %)
  • Language
    Python
  • License
    Apache License 2.0
  • Created about 10 years ago
  • Updated almost 10 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A benchmarking framework supporting the experiments in KDD'14 paper "Optimal Real-Time Bidding for Display Advertising"

Optimal Real-Time Bidding for Display Advertising

A benchmarking framework supporting the experiments of real-time bidding optimisation. A description of such problem and benchmarking experiment is here.

In the current version, we implemented the feature engineering for logistic regression CTR estimator and standard bidding functions as described in the above reference. The state-of-the-art bidding function proposed in KDD'14 paper Optimal Real-Time Bidding for Display Advertising is planned to be published here in Dec. 2014.

For any problems, please report the issues here or contact Weinan Zhang.

Feature Engineering Code

Please check our GitHub project make-ipinyou-data. After downloading the dataset, by simplying make all you can generate the standardised data which will be used in the bid optimisation tasks.

Run Bid Optimisation

After successfully generating the data, let's suppose make-ipinyou-data project is placed in the same folder of optimal-rtb project, just like this:

weinan@ZHANG:~/Project$ ls
optimal-rtb    make-ipinyou-data

Then under optimal-rtb/scripts/ you can simply run bash demo.sh to train a logistic regression CTR estimator for one campaign data generated in make-ipinyou-data and then perform several bid optimisation algorithms with different parameters.

After running the demo, you could find a file results/rtb.results.1458.best.perf.tsv containing the best performance for each bidding algorithm.

prop    clks    bids    imps    budget  spend   algo    para
16      51      227472  97784   2826028 2826032 const   55
16      482     614638  89408   2826028 2804895 lin     130
16      473     614638  38858   2826028 816763  mcpc    1
16      50      199209  77751   2826028 2826041 rand    100
64      16      472727  57030   706507  706508  const   20
64      471     614638  31908   706507  628971  lin     60
64      330     424901  32372   706507  706520  mcpc    1
64      14      614638  52079   706507  689611  rand    30

Here 'prop' means the proportion between the original cost in the test data and the set budget in the test environment. See our benchmarking paper for details.

Misc

The code implementation of generating features has a little difference between that in our benchmarking paper: in the orginal dataset, there could be multiple click events for one impression event. In the benchmarking paper, the multiple clicks are directly counted as the number is. In the make-ipinyou-data project, we only count for 1 click even if there are more than one clicks.