Solution Background and Business Value
Buy-it-again recommendations enhance customer experience by making relevant products easily accessible while also driving business growth. These recommendations:- Increase repeat purchases by reminding users of past buys.
- Boost customer retention by keeping users engaged.
- Optimize marketing campaigns by personalizing push notifications, in-app recommendations, and emails.
Data Requirements and Schema
To develop an effective Buy-It-Again recommendation model, we need three core tables: Users, Items, and Transactions. While this is the minimum dataset, Kumo AI allows us to enhance the model by incorporating additional signals. Core Tables-
Users Table
- Stores user details.
-
Key attributes:
-
user_id
: Unique identifier (Primary Key). -
join_timestamp
: When the user joined. -
age
,location
,other_features
: Optional user attributes.
-
-
Items Table
- Stores product details.
-
Key attributes:
-
item_id
: Unique identifier (Primary Key). -
item_name
,category
: Product metadata. -
start_timestamp
/end_timestamp
: Item availability. -
price
,color
,other_features
: Additional item features.
-
-
Transactions Table
- Stores user purchase history.
-
Key attributes:
-
transaction_id
: Unique identifier (Primary Key). -
user_id
: Foreign Key linking to Users. -
item_id
: Foreign Key linking to Items. -
timestamp
: Purchase date. -
total_amount
,payment_method
,other_features
: Transaction metadata.
-
Predictive Queries
One challenge in buy-it-again recommendations is differentiating repeat purchases from one-time buys. A simple model using only past repeat purchases misses out on important behavioral signals. We train a general item-to-user recommendation model and apply filters at prediction time, ensuring:- The model learns overall user-item affinity.
- The user receives only buy-it-again recommendations.
- Predicts the top 50 distinct items a user is likely to buy again.
- Looks at a future X-day window.
- To avoid empty recommendation sets after filtering, we limit predictions to active users who have made at least N purchases in the last D days.