Guillaume Roels of the Anderson UCLA created a 2008 case study on ad serving used in his MBA courses.
The case studies a 90 day period in the life of an adserver matching supply and demand. There are three associated data elements:
- Traffic data for the four inventory zones. This gives expected "supply" on a daily basis in the form of ad unit requests (impressions) per zone per day on average.
- A set of booked orders with flight dates, budget and impression allocation limits per zone.
- A set of proposed orders with the same data elements as orders.
For convenience I have put the data from the case study in an excel file as well as CSV files.
There are many interesting questions to ask with the case:
- How much daily or weekly surplus/unsold inventory is available per zone?
- How many of the booked orders will be completed at a given level of supply?
- How much total revenue results from fully completed orders?
- How much total revenue results if partial credit is given for incomplete orders?
- How many of the proposals should be accepted such that they will complete?
- If the orders and proposals were treated equally which of the total set would complete?
- How much revenue results given either completed and/or partially complete orders?
- (advanced) Is there an optimal serving schedule (other than price order) that would result in more total revenue or more completed orders?
While the MBA student might approach this with a spreadsheet analysis, writing code is likely a better approach. When implementing the simulation in code one has to make a few assumptions:
- ASAP pacing of orders versus even pacing of volume per day across the flight dates.
- Which traffic level to use per day (low/baseline/high).
- The mechanism to decide the priority of orders to be served in a given day/zone.
This problem relates to both "matchmaking" and "mechanism design" in economics. It is also a simple example of the problems one might solve in software in "computational advertising". See below for a course with lecture slides touring the discipline.