Engineering Workshops are interactive, collaborative articles that address a variety of web development topics, from big questions about how the Internet works, to more specific issues like web page processing.
Our in-house subject matter experts work hard to bring these technical, nuanced subjects to life in an engaging way, because we want to share our knowledge with anyone who’s interested in learning more about us or the services we provide. These workshops are a part of our ongoing commitment to demystifying the outsourcing process - we share what we know so that everyone we work with feels comfortable and confident at every turn.
All about you: the rise of customer experience
In an increasingly competitive digital world, designing exceptional customer experience is no longer a ‘nice to have’ - it’s an expectation. Understanding your user, and offering a tailored experience based on that understanding, is an integral part of building an engaging product. But many systems used to achieve this can often be rigid and rule-based, missing out on capturing the diversity of user needs. To combat this, some have turned to machine learning models, which can produce a more comprehensive algorithm that’s better catered to individual-level recommendations. But with machine learning being a complex construct - and a difficult area to master - many choose to stick with basic rule-based systems to form their customer experience. Or worse, opt for no personalisations at all. Luckily, there is a tool to help with this. In this engineering workshop, backend software engineer, Laura Brewis¹, presents her findings on AWS Personalize: a machine learning service that offers a way to create flexible and personalised experiences for the digital user, without the need for extensive machine learning knowledge.
Good inputs inform good outputs: knowledge is key to creating personalised experiences
In order to buy a gift for a friend that’s personal to them, it’s important to understand their likes, dislikes, hobbies and so on. In other words, you have to know things about them. Sometimes it can even go so far as knowing what they have, and don’t have, so you can complement that. If you know your friend already has a fully-functional coffee machine, you’re unlikely to buy them another coffee machine, but you may buy them coffee beans or a set of mugs to go with it. The same goes for online experiences - in order to offer the right experience, computers must know the user. AWS Personalize makes predictions and recommendations that are personal to each end user. It gathers its ‘knowledge’ through either pre-existing data for the users, or data recorded in real-time using an events tracker. There are three types of useful data that inform an experience that is relevant to each user:
User events and interactions - the activity of the user, such as their views, clicks and conversions.
Item metadata - details of what is being interacted with, such as details of an article, product, or video.
User metadata - the user’s age, location, likes and dislikes.
While it’s not crucial to collect all types of data (a personalised experience is achievable using only the user events and interactions), using all three provides more effective results. The same goes for everyday life - knowing your friend has a coffee machine can prompt you to buy them coffee beans (which is relevant), but knowing what their favourite type of coffee is will allow you to give them a product they’re guaranteed to like (which is even more relevant). Software engineer, Laura Brewis, explains more about this data here. The gathered data is then passed through to train what is known as a ‘machine learning solution model,’ prompting the relevant recommendations to be pulled through from an Application Programming Interface (API) when they are required. To put it simply, the input of data is passed through a mechanism that influences the output of recommendations. And because good quality recommendations rely on good quality data, getting this right is a crucial part of an effective user experience. Laura describes this process here.
Creating the right recipe: the right components for the right user
To train the machine learning solution model, AWS Personalize uses something called ‘recipes’: algorithms prepared for specific use cases. Much like cooking, different recipes create different outcomes. These recipes use various factors to create different types of solution models, such as the data attributes and the predefined algorithms. You’ll choose your recipe based on your desired use case, which include:
User recommendations - predicts an item a user will want to interact with. For example: “here are some articles you may be interested in.”
Personalised ranking of results - generates a list of items depending on how relevant they are to the user, such as ordered search results.
Related items - generates recommendations for items that are similar to the items you have specified. You can often see this recipe in action in the “customers also bought” section of websites.
Popularity results - generates the most popular items based on all users behavioural data, independent of who you’re making the recommendation to. Because this is more general than personalised, this is often used as a benchmark for the other bespoke recipes.
Unlike its rigid, rule-based counterparts, Personalize offers a great deal of flexibility with its recipes. In order to offer a personal experience in every session, you have to continually get to know your users, but with ever-changing behaviour - new users visiting the site, new interactions being made, and even new items being added to the site regularly - how do you ensure your offerings keep up? Luckily, the model can be retrained with any updated information to continuously provide up-to-date, relevant recommendations. It’s this flexibility that allows businesses to capture the diversity of user needs and enhance the real-time personalised experience for every individual. Additionally, while each recipe has specific parameters, these can be adjusted to fine-tune the model in order to get the most accurate results for you. In other words, you set the rules. Laura explains further here.
Comparing popularity with personalisation
You can evaluate the performance of your solution by observing the behaviour of your users and their interactions with the recommendations - such as click-through rates or conversions - but this requires you to deploy the solution first. To better inform your decision, AWS Personalize provides useful metrics during the training process to determine how accurate the solution is before you use it. These metrics also allow you to view the effects of modifying parameters, and compare different recipes, so you can make the best choice on which one to use. As mentioned earlier, the popularity recipe results are helpful to benchmark other bespoke recipes and test their accuracy. All solution metrics can be compared to one another to see which one has more accurate results, but a general rule is to compare all metrics with the popularity results as a relative baseline. When comparing the metrics, the higher numbers indicate a more accurate performance, so whichever solution outperforms the others in this area is likely to be the best fit. Ultimately, the decision of which parameters you set, and which recipe to launch, is yours. But this safety net feature offers comprehensive insights to give you the best chance at providing the right experience for your users. Laura describes how these metrics are produced, and how they can be compared, in more detail, here.
The Bottom Line
Offering a truly customised experience for users is likely a goal for many businesses - not just to stay relevant in a competitive market, but to cultivate the right relationship with the end user. But it's a goal that can be difficult to achieve meaningfully. AWS Personalize allows developers to create personalised recommendations without extensive machine learning knowledge. And by simply taking ownership of this area, the tool allows more room to focus on other expertise required to achieve personalisation, such as data management, user research, design principles, and testing. In short, working with an intuitive and flexible platform redeems the time and resources needed to successfully navigate machine learning, which can be used to concentrate on building the best possible product. Interested in learning what our experts can do for your business? Get in touch. 1. With contributions from senior software engineer, Oliver Hamlet.