ADR-0020 Product Recommendations

Publication Date2021-05-25
Last Update2021-05-25


Mallzee is tasked with building a system for delivering product recommendations to the Magic Mirror and Dress Me Up Applications. Details on how the recommender should work were needing clarification as product recommendations can be done in multiple ways. This document details the choices made that the recommender should support for each application.


Magic Mirror

In the magic mirror application the recommender should be trying to select products that are more suited to the users preferences similar to how Netflix curates content for a user.

To achieve this we will look at the users profile starting with age and gender we will also take into consideration the following events that happen inside of the app.

  • view product
  • like product
  • buy product

We will also attempt to include seasonality trends into the decision making

Dress Me Up

In dress me up the recommender should be trying to select products that fit the users profile again working with the age and gender. If the user had data from the magic mirror application we can also attempt to use preference data from the events to enhance the recommendations.

A nice to have would be to take into consideration the users body shape. The data is not currently available to perform this recommendation but the team will investigate the feasibility of it once the core tasks are done.

Cold start

Both applications have a problem with cold start recommendations. How do we know what to recommend without knowing anything about them?

An initial product selection process will be investigated to try and quickly get preference information on the user to start performing recommendations.

Event stream

It was suggested that the Unity analytics stream could be used as the source for in app events that the recommender will have to lift data from. This system needs more investigation to see if extracting what we need is simple. The backup plan is to provide an endpoint to send event data to to capture specifically for recommendations.


With the basics in place the system will be able to provide customised recommendations for the users of each platform. The unknowns are in the body shape data and how that can be used to enhance the system.