More often than not, when we talk about a recommendation system, the spotlight is on the algorithm used. However, in the last few years while working on our own recommendation and personalization system we discovered that there is more to it than meets the eye. Like any other complex and sophisticated system around us, recommendation systems are composed of a number of building blocks and moving parts. Not paying attention to each of these components can cause even the best algorithm to fail.

In this post, we would discuss the building blocks of our personalization system along with our learnings. Let’s get started!

This article was featured on Delivery Hero’s Tech Blog.

A Team of Heroes

The first and the most important building block of this overall setup is a highly-skilled, motivated cross-functional team. No wonder we call them “Heroes” @DH. In our experience, having a cross-functional data focussed team that has the autonomy to take independent decisions about the system being developed is very important. The setup that has worked for us, is a good mix of broad and deep expertise across roles and levels. To envision the system and plan, we have our own strategist (product manager). A highly skilled set of Data Scientists from varying backgrounds such as engineering, mathematics and physics keeps us grounded and enables us to challenge the status quo of ML first approaches. A quick and talented set of investigators (data analysts) who love to dig into things and are curious to the core. To make all the ML/AI magic and plumbing work seamlessly (data pipelines, APIs, storage and more), an ingenious set of software and data engineers. And finally, a business owner to help unblock a lot of operational challenges keeping the team aligned to the vision.

Interesting Fact: Even though our team is spread between Berlin and Singapore Offices, we have been able to work closely in a highly collaborative and supportive environment.