Skip to content
/ simumax Public

The is a very simple simulater to simulate the win price at the DSP's point of view.

Notifications You must be signed in to change notification settings

tenmax/simumax

Repository files navigation

Introduction

The is a very simple simulater to simulate the win price at the DSP's point of view. In the RTB system, DSP would receive the WinNotice while the bid price he response is the highest in an auction. The win price is determined moslty by the second-price auction. However, if the auction lose, no price information is avaialbe for this bid.

It is desirable to know or predict the win price in the RTB environment. If a DSP can predict the price accurately, he can reference this price to bid with a more profitable price.

In the SimuMax, we assume every spaces have the normal distribution pricing. Based on this assumption, we would try to generate a lot of records for data scientist. This project is not to predict the win price. Instead, it is used to generate records based on the price distribution assumption.

Components and Terms

Components

  • AdExchange: Ad Exchange issue the bid request to bidder (or said DSP).
  • Bidder: The bidder receive bid request from AdExchange. And bid with a bid price. Now we have following bidder.
    • FlatPriceBidder: The bidder bid with the same price.
  • Auction: The way to determine the auction price. There are two strategies available.
    • SecondPriceAuction: The higest price win with the second higest price as win price.
    • FirstPriceAuction: The higest price win with the higest price as win price.
  • AdSpace: An ad space has hidden variable to determine the market price. In the real world, we can regard ad space as a banner placement on the website. We have following AdSpace.
    • NormalDistributedAdSpace: the price is generated according to a normal distribution random variable.
  • Logger: The logger output the bid results. We have the following bidder.
    • ConsoleLogger: Output the results to the standard output.

Terms

  • Bid request: the Ad exchange send the bid request to DSP to ask DSP if DSP is willing to bid this request.
  • Win notice: While a DSP win a auction. The ad exchange would send the win notice to tell DSP he won and what price he won.
  • Market price: market price here is regarded as a price for a bid request in the market. In the real market, the market price would be determined by the viewability of the ad space, the audieneces who would reach the space, and the content arround the ad space. Market price can also be regarded as the highest bid price of all the DSPs other than me.
  • Bid price: The bid price the price a bidder is willing to pay for a bid request.
  • Win price: The final price of an auction. Only the winner can receive the win price.
  • Bid floor: The floor price of the bid request.

How to use

Generate binary and run app

> cd <simumax-root>
> ./gradlew installApp	

and the application will be installed at build/install/simumax/

Run the simmax

Usage

simumax <auction-count>

Here is an example

> cd <simumax-root>	/build/install/simumax
> bin/simumax 10
space, bidFloor, bidPrice, winPrice, marketPrice
A, 0.010000, 0.300000, 0.171109, 0.171109
A, 0.010000, 0.300000, 0.160264, 0.160264
B, 0.010000, 0.300000, 0.000000, 0.515374
A, 0.010000, 0.300000, 0.166272, 0.166272
A, 0.010000, 0.300000, 0.283004, 0.283004
A, 0.010000, 0.300000, 0.221209, 0.221209
A, 0.010000, 0.300000, 0.186105, 0.186105
B, 0.010000, 0.300000, 0.000000, 0.534401
B, 0.010000, 0.300000, 0.285419, 0.285419
A, 0.010000, 0.300000, 0.220888, 0.220888

Distribute the simumax

> cd <simumax-root>
> ./gradlew distApp

and the distribution assembly will be created at build/distributions/simumax.zip

Windows Users

The binary is generated by gradle. And Windows, Mac, Linux are all supported

For windows users,

  • Use gradlew.bat instead of gradlew
  • Use simumax.bat instead of simumax

About

The is a very simple simulater to simulate the win price at the DSP's point of view.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages