Regression Models for Trait Prediction Part II

Alice BezettData ScientistMore about Alice

Alice Bezett is one of our resident data scientists here at Bannerconnect. She digs deep into our vast quantities of first, second and third party data for the insights that give our clients’ programmatic advertising the edge to stand out from the crowd. She comes to us from a background in finance and academia but has found her passion for statistics renewed in programmatic. Read more from Alice on how a career in programmatic has strengthened her love of statistics here and how she found the most important factors in a campaign here

In our previous blog, we discussed the idea of being able to predict a person’s interests or demographics from the information we had on their browsing behavior. Since then, we have been putting that into practice, and in this blog, we’ll discuss how we’ve seen feature importance becoming an important factor in our models and how we can use these models in real life.

What are features and why are they important?

First, let’s talk about feature analysis. In our last blog, we noted that having a very large amount of data can lead to very large computer processing times.  This will not help us in the production part of our model when we want to feed large amounts of data through our model and predict who has which interests. In our case, a ‘feature’ of the model is a different variable or characteristic that a person may show, for example, visiting a particular website, or browsing at a certain time of day. As you can imagine, there are literally thousands of possible variables that we may see, which would make modeling our problem very difficult.

Analysing feature importance can be very helpful in this case. For most models that we could make in this situation, we can make an analysis of feature importance once we have a stable model. See for example here for a general discussion on how feature selection applies to different models, as well as the arguments for performing this. In our particular case, we are trying to model which users might be in different genders, or age groups, or interest groups. When we looked at age groups, for example, we found that ‘magazine’ type sites with forums for teenagers, and sites that discussed health problems and how to stay fit in old age were some of the most important features in the model. This means that the model was able to see that these particular sites were very likely to be used by a certain age group, and so they became ‘defining features’ that we would keep in our model, and use for prediction.

A nice theory, but where’s the proof?

While it’s nice to see results such as the above which make sense, it’s much nicer to be able to verify your results! This is where we have an enormous advantage with our tech solution, Core. Core not only keeps data from our advertising campaigns, but also data from audience surveys, where a certain set of users will allow us to form a cookie-sync between their advertising and browsing data, and surveys that they fill in on their personal data. This is an amazing resource, for example, when we want to produce a model that can study different population demographics, since we’re able to first make sure that our model is developed and works on verified data, before applying it to the general population.

Our method for doing this is to separate our known dataset into two groups: often called the train and test groups. We first use the train group to make our model, and optimize it as well as we can, through selecting out different features, or engineering some of our own (for example, related to the frequency of seeing a user). Once we have a model that we think works, we use that model to test on the ‘test’ dataset, by making the model predict who is in which category. We then use the true results to check when we were right and when we would have been wrong. This can give us a much fairer idea of how our model will perform on our general dataset since we’re seeing how it will perform on data it hasn’t seen before. After this testing process, we can either go back to the drawing board or use our model to make predictions on our general data pool.

Putting it into practice

Let’s say we’re happy with our model: what are the steps required to actually use it for our benefit? We can see that the process of designing a model will teach us many things about feature importance, and the behavior of the users behind the data. These insights can be really interesting both for us and our clients, but also for our publishers, who are always interested in the makeup of their audiences. However, the real power of building a model like this is to be able to use it on a large, general audience, and tailor our advertising to only the specific segments (demographics) of an audience that show some interest in our subject area or are in the client’s target group.

So, how do we go about this? Once again, Core comes to the rescue! To make our learnings actionable, we first make a very large data collection, of all of the features and cookies that we’ll decide are in our general dataset. From this dataset, we’ll be picking out the best users. Next, we use our model to make predictions and sort users into various groups. This could be different demographics, segments, or other high-value users (for example, those who we think have a high chance of purchasing our client’s product). The final step is to use the tools built into Core to push these audiences to our media buying platforms so that we can buy media specifically tailored to our chosen user group.

Finally, with our new segments in place, we can make an assessment of our method, based on the specific criteria associated with our campaign. Was our goal just to reach a large number of quality users? Did we have particular goals in terms of conversion numbers or cost per conversion? Doing this final assessment of the model is incredibly important so that we can learn how we can improve within an actual production environment, which of course brings it’s own challenges on top of just the theoretical ones we have when making a model.

However, while challenging, for me, the most exciting part of this entire process is seeing an audience go live – it makes the entire process of running a campaign much more exciting, knowing that you’ve specifically chosen who will see it! And hopefully, this also makes it more pleasant for the end users, who we are trying to show more relevant media, which of course is one of our key aims in the upcoming world of personalized media!

Related content