Although offline recommendation approaches had already been used, they did not incorporate the latest user behavior. Our task was to implement a system that would generate accurate, real-time recommendations in response to users’ most recent activities in the app.
We approached the problem by creating a framework based on the accumulators – objects that transform raw events into meaningful data that can later be used by machine learning models. We proved the power of this method by winning the 2019 RecSys challenge. Having data prepared, we gathered existing offline recommendations with newly generated online ones, giving us a large set of potentially suitable products. The final step was to rank those products from the most to the least relevant and present the user only a couple of the best ones.