Frequently Bought Product

Frequently Bought Product

Subscription: PRO

The Frequently Bought Product module identifies products that individual users purchase frequently based on their transaction history. It enables personalized reorder suggestions and replenishment campaigns by analyzing purchase patterns over a configurable time period.

Key Requirements

Before setting up the Frequently Bought Product module, ensure that:

  1. The PRO subscription is active.

  2. Purchase/transaction engagement data is available via web tracking.

  3. A product feed is configured with product IDs that match the product IDs in your transaction data. This is essential for linking purchase history to the correct products.

  4. If your catalog contains product variants (e.g., different sizes or colors of the same product), ensure these are identifiable via a variant ID, parent ID, or similar identifier so the module can correctly group variant-level purchases.

  5. For CDP delivery: CDP credentials (Tenant ID, Event Type ID, and Access Token).

How It Works

The module analyzes a user's purchase history and calculates what percentage of their transactions contain each product. Products that appear in a high enough percentage of transactions are flagged as "frequently bought" for that user.

Processing steps:

  1. Transaction scoping — Filters purchases to a configurable lookback window (default: 365 days)

  2. Frequency calculation — For each user-item pair, calculates the percentage of the user's total transactions that include that item

  3. Threshold filtering — Only products exceeding the minimum percentage threshold are included

  4. Diversity filtering — Optionally limits the number of products from the same category or attribute

  5. Change detection — Identifies users whose frequently bought products have changed since the last run

  6. Publishing — Delivers results to the CDP as personalization events

Configuration

General Settings

Property

Description

Default

Schedule (Cron)

How often the module runs

Disabled

CPU

CPU allocation (500m, 1000m, 2000m)

500m

Memory

Memory allocation (4Gi, 8Gi, 16Gi)

4Gi

Transaction Scoping

Property

Description

Default

Lookback days

Number of days of purchase history to analyze (1–1825)

365

Engagement until

End date for transactions to consider

Today

Frequency Configuration

Property

Description

Default

Threshold percentage

Minimum % of transactions that must contain the product (0–1.0)

0.8 (80%)

Minimum transactions

Minimum number of purchases a user must have to be analyzed (0–10000)

4

Maximum items

Maximum number of frequently bought products per user

50

Product Diversity (Optional)

When enabled, diversity filtering limits how many recommended products can share the same attribute value (e.g., category, brand). This prevents recommendation lists from being dominated by one product type.

Multiple diversity rules can be configured, each specifying:

  • The attribute to group by (e.g., category, brand)

  • The maximum number of recommendations allowed per attribute value

CDP Integration

Property

Description

Default

Delivery method

How results are delivered (none, batch)

batch

Event type ID

CDP event type for publishing results

Example

A user has made 5 purchases over the past year:

  • Purchase 1: Coffee, Milk

  • Purchase 2: Coffee, Sugar

  • Purchase 3: Coffee, Milk, Bread

  • Purchase 4: Coffee, Milk

  • Purchase 5: Coffee, Bread

With a threshold of 80%:

  • Coffee appears in 5/5 = 100% → Frequently bought

  • Milk appears in 3/5 = 60% → Not included

  • Bread appears in 2/5 = 40% → Not included

With a threshold of 50%:

  • Coffee (100%) and Milk (60%) would both qualify

Use Cases

  • Replenishment campaigns — "Time to restock your coffee!" reminders based on individual purchase patterns

  • Personalized reorder suggestions — "Buy your favourites again" in newsletters or on-site

  • Subscription recommendations — Identify candidates for subscription models based on repeat purchases

  • Loyalty programs — Reward customers for their most-purchased products

Output

The module produces a table with the following information per user:

Field

Description

userId

User identifier

frequentlyBoughtItemId

Product ID

rank

Position in recommendation list (1 = most frequently bought)

percentageTransactions

% of user's transactions containing this product

Results are delivered as personalization events to the CDP, including product details (name, category, image) for use in campaigns and web personalizations.