Skip to main content

Transformative insights through personalisation: Part 2

HyperFinity’s building blocks of data-led personalisation…

In our blog, “Build it, and they will come: how building a personalisation engine leads to transformative insights in every area of your business“, we introduced the concept of data-led personalisation being used to improve multiple business areas, not just serving personalised experiences on a website, which is a common misconception.

In the second blog of our series, we delve into HyperFinity’s building blocks of data-led personalisation; Affinity Analytics, Attributes and Need States.

These three components are created as a by-product of building a recommendation engine. Understanding affinity analytics, attributes and need states well can create new value across many use cases.


Affinity Analytics

Affinity is defined as “a similarity of characteristics suggesting a relationship” and for our purposes is essentially a measure of how strongly related things are, be that the relationships between customers, products, stores, or web browsing sessions.

Affinity can be measured in a variety of ways. How many customers buy the same products, share the same attitudes, have the same demographics, or browse the same holidays before picking their destination.

Measures of affinity are essentially created through unsupervised learning algorithms which form additional levels of meaning within your data. Simply fire up your analytical tool of choice, tip in your transactional data and get ready to do A LOT of processing!

Netflix, for example, might measure the strength of the relationship between two movie titles, in terms of how much of the customer base would watch both, one, and neither title. Doing this for a matrix of all movies or products is known as creating item-item pairs.

We would also want to measure the strength of relationships between customers, otherwise known as user-user pairs, in terms of ALL the titles/products they have interacted with.

Collaborative filtering can take advantage of these user-user and item-item affinity-based relationships by filtering for customers “like” you ahead of making relevant product recommendations for items you haven’t previously engaged with.

Simply put, knowing which things are related to each other and to what degree forms the basis of delivering personalised experiences.


Attributes are defined as “a quality or feature regarded as a characteristic or inherent part of someone or something”, and in our context they are ways of describing affinity based relationships and painting that rich view of the consumer, product or service. They provide a common language to describe the relationships created through affinity analytics.

We can categorise and label various parts of our customer journey with relevant attributes:

  • Product attributes – “this shirt is slim fit”
  • Customer attributes – “this customer in interested in fitness products”
  • Store attributes – “this store caters for more affluent consumers”
  • Need state attributes – “this customer is shopping for a 60th birthday present for their Dad”

Attributes can be generated in a variety of ways:

  • Rule based examples – attributes can be derived from your existing product hierarchy, such as Brand, Tier, Weight, Material, and any other descriptive labels you might have about products.
  • Analytics based – profiling affinity using other data sources like customer geodemographic variables might help us create customer attributes – for example “young couples with disposable income”.
  • Natural language processing (NLP) can be used to mine product descriptions for key attribute tags buried deep in reams of textual data such as customer feedback and reviews. This is especially important because you can capture more intuitive attributes that have extra meaning for the customer experience.
  • Human curation or consumer research can also help describe relationships, often in novel ways that computers struggle to understand. The smartest AI in the world will still struggle to tell you that a laundry powder “smells like freshly cut grass”.
  • Affinity based rolling ball – we start out by picking a seed list of products which we feel represent a given attribute, for example the attribute we’re creating is “retro fashion”. We can use affinity algorithms to search for other products bought much more often by customers shopping for those “retro fashion” products. These newly discovered products are added to the seed list and the algorithm goes again, growing the list of “retro fashion” until it reaches a point where there are no items to add that show statistical significance.
  • Aggregating other attributes – lower level attributes can allow us to create higher level attributes through aggregation and segmentation. For instance, products labelled with the attribute “low priced”. We can aggregate how many items were bought by each customer, how many were “low priced”, and segment customers into their likelihood to buy low priced items, which can create the “budget shopper” customer level attribute.

Netflix use the intersections of movie attributes to create super granular genres like “Romantic Revenge Dramas Based on Classic Literature”, a category that the human brain alone would struggle to define!

We can start to see how a combination of affinity analytics and attributes starts to get to a scarily accurate intersection of a customer interests and motivations. Just make sure you use these superpowers for good guys…

Need States

We’ve already mentioned Airbnb grouping similar properties into “consideration sets”, and at HyperFinity we use a slightly different term, “need states”.

Need states are the groups of products which vie to fulfill the same customer need. These products have the same or very similar attributes, they have high affinity with each other, and are substitutable, meaning if you remove one product or it sells out, other products in that need state will pick up at least some of the customer demand.

Needs states are dynamic and individual to what you know about a customer from every interaction they’ve had with your business. They should, were possible, react in real-time to the cues a customer is giving you.

In the example of an eCommerce website, we want to combine our existing knowledge of the customer, maybe that they buy clothes with the “slim fit” attribute, with real-time cues such as searching for “shirts”. In this example we obviously want to surface “slim fit shirts” that are tailored to the customer’s size, price preference, or obtain that information from lookalike customers.

Having introduced HyperFinity’s three building blocks of data-led personalisation, the final blog of our three-part series will focus on specific business applications of personalisation. See you next time…




Visit HyperFinity Get In Touch

Join the discussion One Comment

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.