Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tenmax/simumax
The is a very simple simulater to simulate the win price at the DSP's point of view.
https://github.com/tenmax/simumax
Last synced: about 2 months ago
JSON representation
The is a very simple simulater to simulate the win price at the DSP's point of view.
- Host: GitHub
- URL: https://github.com/tenmax/simumax
- Owner: tenmax
- Created: 2015-06-28T05:29:44.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2015-06-28T11:19:17.000Z (over 9 years ago)
- Last Synced: 2023-03-10T11:02:51.946Z (almost 2 years ago)
- Language: Java
- Size: 148 KB
- Stars: 4
- Watchers: 4
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 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](https://en.wikipedia.org/wiki/Generalized_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
> ./gradlew installAppand the application will be installed at `build/install/simumax/`
# Run the simmaxUsage
simumax
Here is an example> cd /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
> ./gradlew distAppand 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`