So you want to set up an online recipe kit delivery company, offering choice and flexibility to busy Londoners? Great idea!
People are super-busy, so it sounds really convenient to get the boring hard bits of cooking – menu choice and ingredient buying and collection – out of the way so they can get to the fun bit, the stirring, sautéing and presenting for their loved ones.
But here’s the problem, as managers at Gousto quickly found – human food consumers like you and me love choice, but too much of it can quickly faze us out and prompt us to hit the pizza speed-dial once again.
Or as a core member of Gousto’s 5-person strong internal Data Science team, Irene Iriarte Carretero, puts it:
The more recipes we have on the menu, the kind of more difficult it becomes to navigate. We don’t want a customer to come onto our website and be overwhelmed by the choice.
Obviously, the answer’s trivially clear – you need to have a great recommendations to track user choice and activity and tailor up the options they see.
But as you’re not Amazon, and don’t have its AI or resources to do that, you’re gonna have to do it the old-fashioned way – and write some clever code.
The good news is that it looks as if Iriarte Carretero and her colleagues have done just that in pursuit of the ‘Holy Grail’ of personalization. She explains:
What we mean by personalisation is when and how can we tailor our service to you. We want to say, ‘Hey, yes, we have 25 recipes – but actually, we think these top five are for you. If you want to scroll down that’s fine, but if you don’t, here is what we think is important to you.’
Note that use of ‘important’. Gousto has found that users don’t just want something that sounds more-ish for tonight. Parents may be looking to introduce a variety of foods into their family diets, there may be dietary or medical constraints on what they are prepared to purchase or they may have very different levels of tolerance for difficulty or unfamiliar ingredients or textures.
But to be able to offer attractive options, you need to be able to work with recipe similarity – that this dish looks different but is actually made of nearly everything you used for this, bearing in mind that Gousto also has to source raw materials in a way that makes sense for it as a commercial operation.
In other words, getting this right is not at all trivial as Iriarte Carretero explains:
We make everything about easy ingredients, but where I might be happy to try something with pickled red onions, I assume that might be a little bit harder to get past a kid. Recipe similarity is super hard to capture, because there’s a lot of subjective things that goes into those decisions.
The fruit of all this initial challenge from the market was a decision by the company to build a sophisticated recommendation engine to do what she says is taking into account “the subjective aspect” of cooking:
People have quite strong emotions about food. We wanted to create something that actually allowed us to capture those slightly subtler things.
Collaborative and content filtering
To do so, it has combined a classic concept from Philosophy – ontology – and the power of Neo4j’s graph database, software claimed to be particularly adept at capturing subtle interconnections in data. The data model came first:
What we basically wanted to do was map out recipe and our ingredient data and see how everything connected. When we first started this we had no idea what ontology was, but it’s a formal naming definition of the types, properties and interrelationships of the entities that fundamentally exist for a particular domain.
Then came an unusual but appropriate attitude to the software needed to implement this new hierarchical model of making tonight’s dinner. Says Iriarte Carretero:
Cooking is messy, and we wanted to reflect that. We can easily give an attribute to one ingredient without having to worry that we don’t have it for other ingredients. Or a dish that we used to wonder if to tag it as Japanese or American? Now we can just join it to both. This really allowed us to think about it in a less strict way, as well as to create inferences from the data attributes and the ingredient attributes.
In practical terms, what Gousto now has out of ontology and graph is what she styles as an evolving hybrid recommendations system that combines the best of both collaborative and content filtering approaches to finding similarities in ingredients and dishes.
The result is a much more scientific way of sourcing ingredients in a sustainable way (so not wasting food, nor needlessly driving up cost) for the company – and much more tailored ways of helping those busy Londoners have more interesting diets. As an example, Iriarte Carretero cites:
Thai salad. These dishes do really well for us, but we only offer three of them. We’re looking at the data to help us decide if we need to make a bit more of them, or determine if the combination of its two main ingredients is always the winner.
The verdict seems to be that while cooking remains a very personal thing, but that the use of smart software can certainly make it that much easier to make even the most expert cook’s life that little easier.
Image credit - Gousto
Disclosure - Iriarte Carretero was speaking at the European end of graph vendor Neo4j’s ‘GraphConnect’ user conference series.