Designing Personalization in 2017
What is this blogpost (not) About?
This is not about why you should use personalization, a lot of great articles already cover that topic (such as this one). It is not about what personalization is either, again, tons of articles will explain that.
What I will cover, however, is how UX designers can work with personalization in the design process, both before and after the actual algorithm is developed. Usually, personalization ends up being implemented without any input from the users. I would argue, that if you can find the time to user test in the development of the personalization algorithm, the resulting experience will be far superior to those that don’t. Below you will find a summary of the 2017 study on Personalization, as well as a step-by-step guide to successful implementation.
An Update on Current Research
Buzzwords like anticipatory design have been circulating a lot, but research shows that users are still uncomfortable with having the service make choices on their behalf. The most important lesson is that users are ok with anticipatory design as long as they opt-in. In every scenario where anticipatory design made a choice on their behalf that they had NOT accepted in advance, it resulted in a negative experience. You should instead have a few hidden bonus services ready, that only appear to those users that the data show might benefit from them.
"Be aware that most users are still wary about giving away that much information about themselves when they can’t see the purpose of sharing them."
It is also worth noting that truly great anticipatory design requires a lot of data to truly understand a user’s needs and motivations. That is not to say that you should completely avoid it, but be aware that most users are still wary about giving away that much information about themselves when they can’t see the purpose of sharing them.
You need tons of Users or tons of Metadata
HBO underperforms when it comes to the users’ experience of personalization. Netflix is pretty good (they say their personalization made them $1 billion in revenue), but according to the users, it is actually still far from perfect, and YouTube nails it even better. So why is that? Well, Netflix has more meta-data than HBO, because they basically track everything and even let the user data generate their shows. They’ve been collecting data since they sent out VHS’s and DVD’s via snail-mail, and are by no means new to data-gathering. This, plus their huge amount of users gives them the edge over HBO but doesn’t explain how Youtube beats them at their own game.
Well, this is actually quite interesting, because YouTube has terrible metadata on their content compared to Netflix. Each uploader has their own way of describing and labeling the content if they even care enough to write anything. So instead of relying on this, YouTube uses a method called Nearest Neighbor.
It finds users whose viewing history is most in sync with yours and starts recommending the videos in those users' history that you haven’t watched yourself.
This method, mixed together with trending topics, channels you follow, and an extreme amount of active users, makes for a very effective personalized experience. Long story short, you either need to excessively label your content like Netflix, or have enough user engagements to implement a nearest neighbor based algorithm.
Have these Parameters in mind
To make a great experience, the users need to trust that your algorithm actually knows you well enough to make informed recommendations. If that is not the case, users will just ignore the recommendations as they fear it is going to be a waste of their time. There are two parameters that will influence a users’ trust in the algorithm: transparency and control.
Allowing your users to express their feelings about content will make them aware that the service knows what you prefer. Most services allow you to like or dislike, rate, or otherwise inform the service of what you want more or less of. Some users want as little of this as possible, they expect the service to “just work”, while others enjoy expressing why they dislike that particular content (for example unsubscribe forms in emails allow the users to express why they don’t like that particular content).
Too much control can be overwhelming though, so strike a balance. In theory, the number of available feedback options could even be personalized individually, based on how much and how often each user interacts with it. A user on Netflix that often dislikes, and sorts through content, could get an expanded field, with the option to tick off why he/she dislikes it.
Allowing users to inspect what behavior triggered a certain recommendation or UI change can be a very powerful trust generator. It can especially restore some faith in the service when a user feels that a certain recommendation or change doesn’t match their preferences, as long as an equal amount of control is provided. This way the user can either approve or disprove of each change, allowing the system to continuously improve. Take a moment to think of the last time you were frustrated with a service. Did they provide you with a way to adjust your experience for future use? Would it have made you more comfortable to continue using their service, knowing that this issue would probably be improved the next time? Of course, transparency and especially control also demands that you can actually follow up on the requests and feedback from the users. There would be nothing more annoying than telling a service that you don’t want to see x, only to find that x is still there the next time you log in.
On one hand, you don’t want your personalization engine to be a black box, but at the same time, some users don’t want to be reminded how much data the service has on them. I would recommend not putting that kind of detailed information up front, as it most of the time isn’t relevant for the user to look at, as long as the recommendations make sense. It is only when the service offers a recommendation that makes no sense to the user, that they will feel the need to inspect how it reached this conclusion and correct whatever mistakes it made. Make sure that when users are looking for it, they will find it, but they are not forced to look at it in their daily use of the service. The way you frame the data can have a huge impact too. Netflix used to have a category named “Because you like x, we think you will like y”. Some users didn’t like to be reminded that Netflix keeps track of everything they do, so instead they changed it to “other users who liked x, also liked y”. This actually made a difference to many of the users, who no longer felt like they were personally being tracked, and didn’t mind that other users were being tracked.
To make the users trust you, you need to find a balance. If your recommendations are too precise, and the user has no idea how you get your data, it can get creepy, but if the recommendations are vague and often wrong, they might as well not be there (they actually have to be very precise for the user to even register that personalization is going on though). This is what the aspect of trust is about. A user needs to trust that its recommendations are worth checking out, but at the same time feel comfortable that the service isn’t spying on their private life and collecting data it shouldn’t.
A Guide to Designing a Succesful Personal Experience
1) What do you want to Personalize?
You can make this as generic or interesting as you want. If for example, you are building a streaming platform you could personalize the “recommendations” part of the site (generic, but none the less a must). You could also do something more experimental though, like personalizing the interface. There are lots of ways to do this, remember though, personalization ≠ customization. It is not allowing your user to pick the color of the menu (a.k.a. user-driven). It is about translating whatever data you have about them into meaningful optimizations (a.k.a. system-driven). If you were to design a streaming platform for teenagers, it would look and perform significantly different from a platform designed for elderly users.
If you were to design a streaming platform for teenagers, it would look and perform significantly different from a platform designed for elderly users.
Today all sites look pretty much the same to all of its users, and there are still lots of space to innovate in this area so if you have the budget, try to think outside of the box and do something unique with personalization (after all, that’s why UX designers could be interesting to add in this process).
It is important that your own data, the metadata on whatever you want to personalize is streamlined, and includes all the relevant parameters. If you own a video-streaming service, you want to access as much data as possible on each video. Actors, genres, themes, locations, moods, anything really, that can be tied to a user’s preferences. If your own metadata isn’t “deep” enough and you only have access to a limited amount of parameters, you may never uncover the patterns of why users like and interact with the content that they do, and thus their experience will be sub-optimal.
2) How Will you Collect the Data?
This all sounds really interesting you say, but how can I know all this about a newly created user? You can’t. Plain and simple. This is what’s known as a cold start. You can fix this in two ways. Either you have them log in with an account from another site that contains an extensive amount of data on them, that they are willing to let you use, or you will have to use an introductory flow where your users fill in a form about themselves. None of those are optimal, as both of them can feel rather intrusive. Furthermore, users don’t trust you from day one. They won’t give you access to their private data before you have proven that you can give them something valuable in return. Your best option is to adjust their experience over time, as you learn more about their habits and behavior.
Be careful though, mixing different sources of data can be tricky. You are not the same user on Google, as you are on Facebook or Youtube.
I would recommend that you provide users with the option to link with their other accounts in the settings (as an opt-in, not as a requirement!). This will give you access to a ton of data, that the user has then actively agreed to give you. Be careful though, mixing different sources of data can be tricky. You are not the same user on Google, as you are on Facebook or Youtube. What you watch on Youtube usually differ from who you follow on Facebook, and that usually differs from what you search for on Google. Needless to say, you will most of the time not need more than one or two sources to start building your own profile on the user, so think wisely about what integrations that can give you the data you need to improve your users’ experience.
3) How Do you User Test? (This Part is Tricky for UX Designers)
Imagine you would like to examine how precise your users prefer their recommendations to be. You would have to know their actual preferences beforehand and optimize the wireframes and mockups to each individual user test (very time consuming).
Mock data (Not Recommended)
If you just use mock-data, it would not make any sense, because you have no way of knowing which elements that feel more precise to the users (if you make two versions. One with generic content, and one with personalized content, how would you distinguish the content in those, when you don’t know what each user prefers?).
- Personas (Not Recommended)
You could also give them personas: “You are now Bob, who has these interests, and loves to do this and this”. Then you would present them with a few screens, with one obviously catering more to Bob’s interests than the others. The user will point to the screen that is most in line with Bob’s preferences. So far, so good, but what value would that give you? Of course, they will choose the one that is catered the most to Bob, because they can’t know what level of precision Bob wants. And even if you told them that, you would still just confirm your own bias. Personas are unfortunately a dead-end when working with personalization.
Long story short, there are no shortcuts.
Long story short, there are no shortcuts. I would recommend finding a few users that you learn about and continuously test on. Send out a survey beforehand to learn about the users (ask about anything that will be relevant for the personal experience). Then make the content in the wireframes and mockups match each individual user’s actual interests and preferences. This is, unfortunately, the most reliable way to research personalization without having an actual algorithm to test on. If you are fortunate enough to actually have a working algorithm that you can experiment with, then by all means, save yourself the trouble and use that one for the user tests.
4) How do you Design the Algorithm if you are not a Coder?
Personalization algorithms can be very unwelcoming to visual designers, but it is important that we have a way for designers to alter the functionality, as this is a huge part of the user experience. A way to make it more down to earth is to introduce a point system.
In the example of Netflix, it could be that hitting the like translates to +3 points in the algorithm. Every episode viewed is +1 point. This is the difference between explicit data (a user hit the like button) and implicit data (we can track that the user watches this show a lot). It makes a lot of sense to discuss how you value different inputs.
- What if I watch only half of the episode, does that still award 1 point or only a half?
- What if I just watch a few minutes, does that mean I didn’t like it, and therefore it should have a negative value in the algorithm?
- And how many points do we award the different metadata?
- The series itself, 3 points, the genre, 2 points, the actor 1 point?
- What if a user likes everything he watches, should that devaluate the points given?
- and if another user only hits like on one single show, does that mean it’s the user’s absolute favorite and should be awarded 20 points?
You can keep tweaking these numbers and carry out user studies till you reach an experience that resonates with the users.
Remember, users are people, and no one is the same throughout life, we change constantly.
Note: Remember to Pin Holes in the Filter Bubbles
There are a lot of pitfalls that you have to be aware of when working with personalization. The most common one is trapping the user in a filter bubble. Remember, users are people, and no one is the same throughout life, we change constantly. What your users preferred a year ago, might not be the same that they prefer now. This goes for both content, interface, and any other type of personalization you can think of. This is where you have a responsibility as a designer. Make sure that you allow your users to change over time, and to challenge their status quo. Make sure to peak your users’ interest from time to time, with something that is different from what they are used to. This way your site or product will stay fresh and interesting over time. When your user feels that the site or product grows together with them, that’s when you have succeeded.
5) How can you Measure if the Personal Experience is a Success?
Personalization is a service, which means that it is an intangible, complex, non-visible part of your product, hence, it can be rather difficult to measure. It really depends on what you want to achieve, as personalization can be a very flexible tool. Netflix for example, have a 60-second rule. If the user can’t find something that they want to watch within 60 seconds, their personalization has failed. This wouldn’t make sense to apply on Youtube though, as 60 seconds on the Youtube front page is an eternity, and something along the lines of 10 seconds would probably be a better success criteria.
My point is, you will have to devise your own criteria, instead of basing it on what other sites use.
My point is, you will have to devise your own criteria, instead of basing it on what other sites use. That being said, there are three overall criteria that your personalization in most cases should improve upon:
- Efficiency: Can the user find relevant content faster than without? This could be a matter of measuring the seconds a user spends before finding a product to buy, an artist to listen to, an article to read or whatever your service offers.
- Precision: Are the recommendations actually relevant to the user (most of the time)? Measure the CTR of the recommendations compared to how the users interact with the generic content.
- Satisfaction: Are the users happier with the personal experience than before? Surveys, interviews, and other traditional methods of getting feedback will make sense to measure this. If you want to quantify it, you should use a survey with scales (1-10 or similar).
Personalization is the future of most services, but there is no such thing as just adding “personalization”. It is extremely adaptable, and you should spend some time to tweak your service’s personalization to make it uniquely fit your business and your users if you want to stand out from the rest.
Having designers work in collaboration with developers on tweaking the experience can result in outstanding performance and user satisfaction, in the long run. Just make sure you come up with a thorough strategy before you implement it and take your time to know not just why you want to use it, but also how. Rome wasn’t built in a day, nor should your personalization effort be.
That's all, thanks for your time!