Online advertising is the process of app or website publishers offering advertising opportunities to buyers at a massive scale. Advertisers receive hundreds of thousands of requests per second from publishers (usually from an exchange) and must evaluate each bidding opportunity within 100ms.

During this process, a bid request is sent to a DSP’s bidder in order to determine if there’s an ad that can be shown for that incoming request. If the bidder determines that the incoming request matches a given targeting criteria a bid is returned along with the bid price.

Targeting is a critical part of the process, audience availability can vary upon many things such as desired geographical region, device vendor, publisher, creative attributes, etc. In the process of pitching a campaign to a brand, marketers must be able to determine how quickly a budget can be spent given the brand’s targeting criteria. Marketers need to be able to predict the audience availability for specialized campaigns that they pitch.

Bidder operators can easily give their sellers, marketers, and users, the ability to specify a targeting criteria and determine historical bid requests that matches that criteria and how well certain campaigns are expected to perform. By tapping into Druid to analyze bid requests, and Superset to build specialized dashboard, we’re going to show you how to provide these reporting tools to your team and users.

A perfect example of this kind of functionality is Facebook Advertising’s platform. Within their platform, a user uploads a creative, and as they are setting up the campaign’s targeting criteria, they can visualize the size of the audience they’ll be able to reach.

In this post we’ll setup some basic tools and data schemas that can give us the foundation to build powerful features such as Facebook’s campaign planner.