A number of people I’ve met at conferences or during job interviews ask me what we do at Criteo Research, and especially how our work compares to that of an academic researcher or a machine learning engineer. In this post, I’ll attempt to address some of the oft-repeated questions.
What is the mission of the Criteo Research team?
Actually, it turns out that there is a broad continuum of activities that are part of the mission of the team.
On the one hand, you can have external impact by advancing the state of the art in different aspects of Machine Learning. This is done by publishing papers, giving talks, organizing workshops, serving as conference committee member etc. And – despite what you may think at first – participation in the external community makes a lot of sense for Criteo whose business is driven by machine learning at its very core: no ML community, no product and no money!
On the other hand, you can also have a big impact on production systems by optimizing key components of the workflow: e.g. proposing new models for predicting quantities such as sales, structuring the way we take part in billions of (repeated) auctions per day, improving the relevance of our product recommendations etc. Such impact is intrinsically rewarding as we get to witness the direct impact of the work we do at scale!
In practice, how much we contribute to the theoretical work versus the applied work is flexible and one can operate at any point in this spectrum.
What are the types of projects the team works on?
A Research Scientist at Criteo works both with fellow researchers and other internal teams. Depending on the level of maturity or applicability of the project to Criteo’s strategy, the work naturally shifts from mostly academic research to a more applied mode where you seek to test the application of your research ideas in the real world. We have examples of projects that took a few months to a couple of years of early-phase research before being applicable to an open problem on the business side. Conversely, some of the researchers are tackling applied problems and for some hard ones it may take a few quarters to find a relevant, useful formalization that makes scientific optimization possible.
A natural question then is how do we match researchers to projects. Since the Research team is constantly growing, we are organized around topics e.g. bidding and recommendations. These are, in fact, fluid groups of people that work on projects that share common ground, be it theoretical or practical. But no one is stuck to a specific group and topical moves are perfectly ok. Given the number of open problems we have, it is easy for us to match a new hire to a topic of interest.
Let’s finish with what makes working at Criteo interesting for a researcher.
Why do I like working at Criteo Research?
Data: Criteo is a company with access to tons of data (some of which which we release as open data sets for the academic community) and a great processing infrastructure that matches that scale. Good quality data is central to all the work that is done at Criteo and our data collection strategy includes various types of exploration that make many research applications possible.
Challenges: Research challenges include advancing the state of the art in key fields like auction theory, reinforcement learning, recommender systems all of which is at web-scale. But we have also specific cases where a slight change in the constraints of the problem might give way to different solutions and creative thinking.
People: Finally, the main reason for which I enjoy working at Criteo is because it is populated with smart, fun people. It’s very common to find ML PhDs in the engineering teams but also sometimes in the Product group! Most people you interact with are very literate in Math/Stats/ML and there is very little gap in the way we see research ideas interact with the product we build – all of this in a fun and laid back atmosphere!