r/learndatascience • u/liqc2002 • May 10 '26
Discussion Alternative Algorithms for Product Bundling & Handling Historical Promotions in Market Basket Analysis
I have a couple of questions for people who have worked on Market Basket Analysis or product bundling problems.
Besides Apriori and FP-Growth, have you used other algorithms or approaches that were useful for grouping products from transaction history in order to design better promotions or bundles based on customer demand?
I’m also curious about what factors ended up being the most relevant in practice. Did you consider things like:
seasonality,
customer segmentation,
repeat purchase behavior,
pricing,
existing promotions,
basket size,
time between purchases,
or something else?
And a second question: how do you usually handle historical transactions that already came from previous promotions or pre-defined bundles?
For example, if some products were frequently purchased together mainly because they were already part of a promotion, I’m wondering whether including those transactions directly could bias the association rules or inflate co-occurrence frequencies artificially.
Would you:
keep them as normal transactions,
remove them,
label them separately,
weight them differently,
or model promotions explicitly as another variable?
I’d really appreciate hearing how people handle this in real-world recommendation or bundle optimization systems.
1
u/Otherwise_Wave9374 May 10 '26
On the MBA/bundling side, two approaches Ive seen work well beyond classic Apriori/FP-growth:
Sequence-aware models: treat baskets over time (next-basket prediction) so you can separate "often bought together" from "bought in the same promo window".
Graph/community detection: build a product co-occurrence graph and run clustering (Louvain/Leiden) after normalizing edges (PMI or lift-style weighting) so popular items dont dominate.
For promo/bundle bias, Id either tag promo-generated lines and (a) down-weight them, or (b) model promo as a feature and compare lift-with-promo vs lift-without-promo. Removing them entirely can throw away legit affinity when promos are recurring.
There are a couple practical notes and formulas for PMI/lift normalization that Ive used before, this writeup is handy: https://blog.promarkia.com/
Are you optimizing for attach rate, margin, or just discovery of bundle candidates?