Affinity Profile and How It Works

Created: 27/02/2023

Updated: 07/03/2023

Author: Polina A.

General Information

The affinity profile of each individual user is compiled based on:

  • Events

  • Affinity attributes of products

We collect all of the user’s interactions with products and calculate the user’s affinity towards selected properties of a product (e.g. colour, brand, style, etc.). The affinity score depends on the amount of interactions and the user’s intent, for example, a user viewing a product has a lower value than the user adding the product to their cart, which in turn has a lower value than the user purchasing the product. Additionally, the recency of the interaction is taken into consideration.

Affinity is collected based on the following events:

  • Product View

  • Add to Cart

  • Purchase

Product Feed and Attributes:

  • By default, the Affinity Score is calculated based on the 'categories' field of the product feed (the entire category tree). Other attributes for calculating the Affinity Score can be added through the team working on your project.

  • To calculate the Affinity Score for additional product properties, it is necessary to define the list of required product feed columns (no more than 10 affinity columns in the feed, optimally — 5).

Events and Evaluation

Each user's interaction with the website or application signals about their interests, preferences, and intents. These interactions include adding a product to the cart, filtering a category, viewing a product, and making a purchase. Properties of these products, such as colour, brand, style, and others, inform the system about the user's preferences. By combining the type of interaction and product attributes, as well as the recency of a specific interaction, the platform can identify user preferences both over a period of time and in real-time.

Affinity Scores:

  • Viewing a product = 2 points

  • Adding a product to the cart = 4 points

  • Purchase = 6 points

  • Filtering products = 2 points

How is the product score calculated based on the type of action?

The score is calculated as the sum of multiplications, according to the formula: "(number of product views X coefficient X action weight) + (number of the cart additions X coefficient X action weight) + (number of purchases X coefficient X action weight)". For example, in case of the colour “green”, its final score will be: (4*2*1)+(1*4*20)+(1*6*60) = 8 + 80 + 360 = 448

Action
Coefficient (automatic)
Action Weight
Colour: Green — number of interactions
Colour: Blue — number of interactions

Viewing a product

1

1*2

1*2*4

1*1*2

Adding to cart

20

20*4

20*4*1

20*4*0

Purchase

60

60*6

60*6*1

60*6*0

Total Score:

448

2

How is the product score calculated based on the interaction timeframe?

In this case, the calculation takes into account the action weight, the number of interactions, and the coefficient for the recency of the interaction.

Coefficients are distributed as follows:

  • Up to 2 days = 8

  • Up to 30 days = 2

  • Up to 180 days = 1

Let's assume the user visited the site twice: 15 days ago and today, and performed a series of actions.

Calculation formula: "coefficient of age[1] X (action weight X number of actions) + coefficient of age[2] X (action weight X number of actions)"

Recency
Action
Action Weight
Colour: Green — number of interactions
Colour: Blue — number of interactions

Previous session (15 days), coefficient: 2

Viewing a product

2

4

2

Adding to cart

4

1

0

Score

2*(2*4)+2*(4*1)=24

2*(2*2) = 8

New session (up to 2 days), coefficient: 8

Purchase

6

1

0

Score

8*(1*6) = 48

0

Total Score:

72 (sum of two scores)

8

Where is the Affinity Profile Used?

  1. As one of the conditions for creating audiences based on affinity towards a particular product features;

  2. In the affinity recommendation algorithm;

  3. In personalization cases that take into account the user's preferences for specific product attributes.

Clarifications and Limitations

  • Affinity is based on your product feed. Only attributes with discrete values (a limited list) can be used to build affinity.

  • Data on affinity for each user is collected from the moment the user starts taking action on your platform.

  • Data retention — 180 days.

How to Prepare the Feed for Affinity Work?

  1. It is necessary to determine the product properties to be used for affinity calculations. These could include attributes like colour, size, brand of the product, and any other characteristics relevant to your business.

  2. There are two major requirements for field content:

    a. Data uniformity: Values such as "White," "white," and "01 white" are considered three completely different colours by the system. Therefore, it is essential to standardize values to a single, consistent format.

    b. Information availability for products: It is best practice to use affinity attributes that have information available for a large number of products in your feed.

Last updated

Was this helpful?