Skip to content

Releases: donghun2018/adclick-simulator

v0.2.1 -- Bugfix: revenue_per_conversion in policy_info xlsx output

Choose a tag to compare

@donghun2018 donghun2018 released this 04 May 15:15
b2f5cd0

Bugfix

  • Revenue_per_conversion in policy_info xlsx output was often smaller than what it is actually.
  • Info given to policies was also affected. This may have affected policies to perform suboptimally.
  • Cause: mean(revenues) is not the same as sum(revenues)/sum(conversions) when revenues contains 0.0 when some conversions are zero.
  • Now the correct information is computed, provided to policies, and printed to xlsx.
    • Thanks to pbchen for bug reporting

Ad-click simulator v0.2.0 released

Choose a tag to compare

@donghun2018 donghun2018 released this 03 May 20:31
793ed4e

v0.2.0 is here.

This update introduces significant changes in the simulator. Some policies may experience incompatibilities. Please read on.

New feature

Finer bidding space

  • Now bids can take values from 0.0 to 10.0 in increments of 0.1
    • Bid values are now in float instead of integers. This may lead to some incompatibility issues in policies.

Multiple ad slot placement

  • More than one ad slots can be placed. So non-highest-bidders now have chance to win clicks.
  • The highest bidder gets the top slot, which is most visible and has the highest click probability
  • Bidders with lower bid will get lower slots than bidders with higher bid.
  • Tiebreaking takes place randomly
    • If all bidders bid the same, their ad placement order is randomly assigned.
    • Lower bidders will not be included in the tiebreaking.

Example: Bidders = [A,B,C,D,E,F] with bids = [3,4,5,5,4,3], with 3 ad slots.

  • Bidders C, D has highest. Their ad may be placed on first or second slot. Each click will cost 4.
  • Bidders B, E has next highest bid, but there is only one slot left. Either B or E may be placed on the third slot. Each click will cost 3.

New information available: winning_bid_avg

  • this is average of actual bids from the bidders who got the clicks
    • this is different from winning_bid, which is the highest bid.
      • discrepancy is due to multiple ad slot placement, as bidders can get clicks without absolutely winning the auction with the highest winning bid.
    • reported per iteration, and provided to all policies.
    • also printed out in policy output xlsx files.

add number-of-impressions + simulator parameters are tuned

Choose a tag to compare

@donghun2018 donghun2018 released this 02 May 19:50

New feature

number of impressions

  • The policy output now contains another column named num_impressions. It contains the number of impressions from which the clicks are generated.
  • Actually, these values are approximates to keep simulator runtime low. Exact tracking for impression counts is a future task (needs rework in simulator loop structures).

time spent by simulator and policies

  • A new output file, output_time_spent_in_seconds.xlsx , contains cumulative time spent for simulator and each policies.
    • Each row corresponds to each iteration.

Bugfixes

  • Fixed unnecessary repeated line prints in some of policy output xlsx files, which may happen with last attribute tuple.
  • Simulators run up to number of iterations defined by max_t parameter given in the init xlsx file. This max_t value is the same as the max_t provided to policies.

Simulator parameters tuned

  • The auction generating parameters are modified to result in much more frequent auctions, clicks, and revenues to make statistical learning faster.
  • The variance of revenue random variable is reduced to make statistical learning easier.
  • The init file used for the first run is included (auction_ini_01.xlsx updated).