Predicted_Affinity Table

An Affinity table associates individual customers to the products they are most likely to purchase. Use an Affinity table to help deliver personalized experiences to your customers.

Note

The size of the Predicted_Affinity table in your tenant is determined by the number of qualified products times the number of customers who have purchased a product within the previous 30 days.

Note

What is the Unified_Product_Catalog table? The Unified_Product_Catalog table represents the taxonomy for your products and brands. You may apply product catalog semantic tags to any table that contains the taxonomy for your products and brands, and then use the product identifier as the basis for AmpIQ predictive modeling.

About predictions tables

Predicted models use specific columns across the following tables:

  • Merged_Customers

  • Transaction_Attributes

  • Unified_Customer

  • Unified_Itemized_Transactions

  • Unified_Transactions

The Unified_Customer table is built as part of Stitch output when data sources with customer records have profile (PII) semantic tags applied.

The Transaction_Attributes, Unified_Itemized_Transactions, and Unified_Transactions are built as part of Stitch output when data sources with interactions records have transactions and itemized transactions semantic tags applied.

The Merged_Customers table is a version of the Unified_Customer table that you must build in the customer 360 database to filter profile data. The Merged_Customers table must be updated to roll-up transactions and itemized transactions.

These tables contain fields that are important components of predicted models.

Add the Predicted_Affinity table

An Affinity table associates individual customers to the products they are most likely to purchase. Use an Affinity table to help deliver personalized experiences to your customers.

To add a Predicted_Affinity table you must extend the customer 360 database to add a table that joins the Predicted_Affinity_ProductAttribute passthrough table to the Predicted_Affinity_Audience_ProductAttribute passthrough table.

To add the Predicted_Affinity table

  1. From the Customer 360 tab, under All Databases, select the menu for the customer 360 database, and then click Edit.

  2. From the Database Editor, click Add Table.

  3. Name the table “Predicted Affinity” (or some other name that clearly identifies this table as the product affinity table for your tenant).

  4. Set the build mode to SQL.

  5. Add the following SQL:

    SELECT
      r.product_attribute AS `product_sub_category`
      ,r.amperity_id
      ,r.score
      ,r.ranking
      ,r.ranking <= s.audience_size_small AS audience_size_small
      ,r.ranking <= s.audience_size_medium AS audience_size_medium
      ,r.ranking <= s.audience_size_large AS audience_size_large
    FROM Predicted_Affinity_ProductAttribute AS r
    LEFT JOIN Predicted_Affinity_Audience_ProductAttribute AS s
    ON r.product_attribute = s.product_attribute
    
  6. Click Validate to verify the SQL runs without error.

  7. Click Next. This opens the Database Table Definition page.

  8. Add a table description. This enables a tooltip that is visible from other areas in Amperity.

  9. Verify that the db/required and db/unique database field semantics were applied to the amperity_id column.

  10. Under Version History, select Enable table version history.

  11. Click Save.

How to use the Predicted_Affinity table

Product affinity is a predictive model that identifies which customers are likely to purchase by using a combination of historical purchase data and lookalike audiences. The predicted affinity model outputs a ranked list of customers with three recommended audience sizes.

Use fields in the product affinity table to build segments that contain the right list of customers for your campaigns and are aligned to recommended audience sizes.

  1. Start by associating product affinity to a smaller audience size, and then, depending on the goals of your campaign, increase the audience size until you have reached your campaign’s circulation size and/or revenue goals.

  2. For further refinement you can compare the audience size to customer ranking. Increase or decrease the audience size by small amounts until the list of customers that fall within the desired ranking also matches the circulation size and/or revenue goals.

You may also use audience size and customer ranking independently of each other, depending on what types of segments you want to build and what types of campaigns those segments will be associated with. For example, you can build a segment that uses ranking or audience size and not both.

Recommended audience sizes are refreshed on a weekly basis.

Validate campaigns that use product affinity

The best approach to validate the successful use of product affinity modeling in a campaign is to use two segment and campaign pairs. The first pair is based on product affinity and the other pair is not. Configure each campaign for a 30% hold-out, and then send the same campaign message to both lists.

You should expect to see more revenue from a campaign that is based on product affinity.

You may observe a lower unsubscribe rate with a campaign that is based on product affinity (if you have access to a data source that can provide email response statistics). A lower unsubscribe rate on a more targeted section of your customer base can reduce the overall unsubscribe rate among your larger set of customers.

For example:

  • Unsubscribe rates without product affinity is ~5%. If you send 120k emails at a 5% unsubscribe rate, that’s 6k unsubscribes.

  • Unsubscribe rates with product affinity is ~3%. If you send 60k emails at a 3% unsubscribe rate, that’s 1800 unsubscribes and 4200 fewer than the list without product affinity.

Column reference

An Affinity table contains the following columns:

Column Name

Data type

Description

amperity_id

String

The unique identifier that is assigned to clusters of customer records that all represent the same individual. The Amperity ID does not replace primary and foreign keys, but exists alongside them within unified profiles.

Note

The Amperity ID is a universally unique identifier (UUID) that is represented by 36 characters spread across five groups separated by hyphens: 8-4-4-4-12.

For example:

123e4567-e89b-12d3-a456-426614174000

audience_size_large

Boolean

A flag that indicates the recommended audience size. When this value is True the recommended audience size is large.

A large audience is predicted to include ~90% of future purchasers, while also including a high number of non-purchasers.

audience_size_medium

Boolean

A flag that indicates the recommended audience size. When this value is True the recommended audience size is medium.

A medium audience is predicted to include ~70% of future purchasers, though it may also include a moderate number of non-purchasers.

audience_size_small

Boolean

A flag that indicates the recommended audience size. When this value is True the recommended audience size is small.

A small audience is predicted to incude ~50% of future purchasers, while including the fewest non-purchasers. Use a small audience size to help prevent wasted spend and reduce opt-outs.

product_attribute

String

The field against which product affinity is measured. For example: a category, a class, or a brand.

ranking

Integer

A ranking of customers by their score for this product. A rank that is less than or equal to X will provide the top N customers with an affinity for this product.

score

Float

The strength of a customers’s affinity for this product, shown as an uncalibrated probability.

Tip

This score is used internally by AmpID and does not directly correlate to ranking and/or audience size. Sort results by ranking, and then compare to audience sizes. Higher rankings within smaller audience sizes correlate with stronger affinity.