About the Client
An Israeli company that helps web publishers increase revenue from web ads. The company possesses a proprietary technology that frees users from getting into the details of Ad-Tech and Ad-Operations, allowing them to focus on content.
Our client resells Google AdWords banner placements to its customers, sharing the profit.
But here is the trick: Google uses a specific model for banner placement that allows accepting or rejecting the price offered for each banner placement.
The price varies from $0.1 to $10.
Defining the highest price that will be accepted by Google means increasing profit dramatically.
We developed a solution that attempts to define the best price based on end-user information and history of dealing with Google.
Having enough information about users from web browsers, we trained a model that simulates Google’s algorithm with high accuracy.
The model shows that in 60% of cases, you could offer a higher price, and Google would agree to it.
Based on these calculations, it provides an estimated price Google will approve.
Also, we provided our client with the research results that contained information about the factors influencing the price.
During this project, we used the CRISP-DM methodology.
Our team explored the Google Adwords pricing model in detail.
The client has enormous volumes of data that are collected in a data lake developed by our company several months ago. The Quantum R&D team brainstormed the features Google may use to set the best price for each placement (country, device model, gender, interest, etc.) and defined the data sources that are potentially valuable for model building.
At this stage, Quantum prepared data for future manipulation. We encoded country names, deleted columns with valuable data like IDs, etc.
The model was integrated as a part of the pricing model service that increased the revenue of the customer. It was a 6-month project that started with processing a small percentage of transactions.
First, we worked on a model that predicted Google AdWords advertising behavior. Our input data set consisted of Google’s answers for estimated prices. At the end of this stage, we had a trained model that could predict if Google would accept your offer or not.
The next stage was about training our model to predict the highest price to sell a banner place to Google. We split the range of prices into smaller pieces to get balanced data to train our model.
We visualized the way our model worked to understand the process better.
The Quantum team created a REST API service that took user information as an input, ran preprocessing steps and model’s price prediction to give the price as an output.
All the code was written in Python. The libraries we used for visualization were MatPlotLib and Seaborn.
At the first stage, we used a Random Forest Classifier model trained using the SciKitLearn library in Python. It used a preprocessed dataset with informative user features only (e.g., device and browser information, location). The Pandas and NumPy libraries were used for data preprocessing.
At the second stage, we used an XGBoost regression model trained using the SciKitLearn library. And, once again, the Pandas and NumPy libraries were used for data processing and preprocessing.