IdukkiIdukki
Strategy

Personalization pitfalls: over-fitting to a customer's last purchase

A personalization engine that treats the latest order as the whole customer gets gifts, one-off needs and shared accounts badly wrong. How to spot the purchases that lie, weight patterns over recency, and let shoppers correct you.

She bought a gift for her mother, one single, out-of-character purchase, and spent the next three months being shown nothing but products for women twice her age, because the algorithm had confidently decided that one order was who she was now.

In this article

She bought a present for her mother: one out-of-character order. For the next three months every email, every "recommended for you" rail and every retargeting ad assumed she was now the customer for that product. Nothing in the data was wrong. The model simply decided that the latest order was who she was.

This is the most common way personalization embarrasses itself, and it is fixable with a few rules rather than a new engine. The rules below apply whether you run a recommendations app, a hand-built Klaviyo flow or a UGC gallery that reorders by what a shopper looked at.

Why a single order is weak evidence

A purchase tells you that someone, on some day, for some reason, paid for a thing. It does not tell you who it was for, whether they liked it, or whether they will ever want anything like it again. A pattern across several orders answers those questions far better: the same size four times, the same colour family, the same price band.

An illustrative example. A customer has bought four pieces in neutral linen over eighteen months, all size M. Her fifth order is a bright children's raincoat, shipped to a different postcode in November. A recency-weighted engine now leads with children's outerwear. A pattern-weighted engine files the raincoat as probably a gift, keeps leading with linen, and waits to see whether a second children's order follows.

The five purchases that lie

Purchase typeSignals you can usually seeHow to treat it
GiftGift message or wrap, different ship-to address, seasonal peak (December, Mother's Day), size or gender outside historyExclude from taste profile; optionally use for an annual "last year you sent..." reminder
One-off practical needReplacement part, event-specific item, category with no repeat historyRecommend accessories for a short window, then expire
Shared or household accountSeveral sizes or genders in one account, very different price bandsDo not merge into one profile; lean on stated preferences
Sale or impulse buyDeep discount, clearance collection, bought alongside a free-shipping thresholdWeight lightly; price sensitivity is the signal, not the product
Genuine change in tasteSecond and third orders in the new direction, browsing that matchesUpdate the profile once confirmed; this is the case recency should win
Out-of-pattern orders, how to recognise them, and what to do with each.

The last row is what makes this hard. The same observation (a recent order that doesn't match history) can mean "ignore this" or "update everything". The engine cannot tell the difference from one order, so the right move is to wait for a second signal rather than guess.

The fix: pattern weight over recency weight

Recency still matters, just not as the dominant term. The workable structure has three parts: every signal decays over time, consistency across orders adds weight, and a single out-of-pattern order is capped until something corroborates it.

A personalization pipeline that survives gifts

  1. 01

    Collect

    Orders, viewed and saved items, and any stated preference (size, style, quiz answers).

  2. 02

    Classify

    Flag probable gifts, one-offs and sale buys using the signals in the table before they touch the profile.

  3. 03

    Weight

    Score categories by how many orders agree, with a decay so old signals fade.

  4. 04

    Confirm

    Hold a new direction at low weight until a second order or matching browsing confirms it.

  5. 05

    Override

    Anything the shopper told you directly beats anything you inferred.

  6. 06

    Expire

    Every behavioural boost has an end date measured in days or weeks, not "forever".

Each step is a rule you can implement in a recommendations app, a CDP segment or a hand-built email flow.

A worked scoring example. Using the illustrative customer above, give each order one point to its category, halve the value of anything older than six months, and cap a single-order category at one point until confirmed. Linen scores 3 (two recent orders at one point each, two older ones at half a point); children's outerwear scores 1, capped. A pure last-order rule would have scored outerwear highest. Nothing about this needs machine learning, only the discipline not to let one row win.

Let explicit signals override inferred ones

The cheapest fix is to ask. Amazon's "Improve Your Recommendations" page lets customers exclude purchases, "for example, gifts you purchased", from being considered in their recommendations, which is a public admission that even the largest recommendation system on the web cannot reliably tell a gift from a preference by itself.

  • At checkout. A "this is a gift" checkbox is useful for gift messaging anyway; route its value into your customer data so the order is excluded from the taste profile.
  • In the account. A "don't use this for recommendations" option on order history, even if few customers use it, gives the ones who notice a bad rail a way to fix it.
  • In preference centres. Size, fit and style preferences a shopper states should be read before any behavioural score, and shown back to them. See personalization without creepiness for label wording.

Gartner's 2025 research points the same way: it recommends shifting "from passive inference to active customer involvement", after finding that 53% of customers had a negative experience with personalized marketing and were 44% less likely to purchase again afterwards.

Don't recommend what they just bought

A close cousin of over-fitting is recommending the item a customer has just purchased. For durable goods (a sofa, a pair of boots, a coffee machine) the purchase closes the need, and the next useful recommendation is a complement or care product, not a second one. Consumables are the exception, where the right message is a replenishment reminder timed to typical usage. Split your catalogue into "repeat" and "one-and-done" categories and treat them differently in every flow. The UGC email retention playbook covers post-purchase sequences built around that split.

How to audit your own recommendations in an afternoon

  1. 1Pull twenty customers whose latest order sits outside their usual categories.
  2. 2Look at what your site, emails and ads currently recommend to each of them.
  3. 3Count how many recommendations are driven by that single latest order.
  4. 4Check whether gift messages or alternative ship-to addresses are available in your customer data at all. If not, that is the first thing to fix.
  5. 5Find the decay setting (or its absence) for each behavioural signal your tools use.
  6. 6Test any change with a holdout rather than a before-and-after comparison; the A/B testing guide explains the setup.

Where UGC galleries fit

Galleries of customer photos and videos have an advantage here: they can reorder rather than exclude. Idukki's widget uses that approach. With retargeting enabled on an embed, UGC tagged to products a shopper recently viewed or saved is boosted up the gallery, but nothing else is filtered out, and viewed-product signals expire after a window the merchant sets. A shopper who glanced at a one-off gift still sees the rest of the catalogue's content, and the nudge fades on its own. The broader case for segment-level ordering is in personalizing UGC display by shopper segment, and the data foundation in first-party data after cookies.

Frequently asked questions

  • Why do my recommendations keep showing products for someone else?

    Most likely a gift or a shared-account purchase has been treated as a change in taste because it was the most recent order. Exclude probable gifts from the profile and require a second signal before shifting recommendations.

  • How long should a purchase influence recommendations?

    It depends on the category, but every behavioural signal should decay. Durable one-off purchases should influence complementary recommendations for weeks, not months; consumables should drive replenishment timed to usage.

  • How can I tell if an order was a gift?

    Look for a gift message or wrap, a ship-to address different from the customer's usual one, seasonal timing, and a size or category outside their history. The most reliable signal is simply asking with a "this is a gift" option at checkout.

  • Should recency be ignored in personalization?

    No. Recency is how you notice a genuine change in taste. It just should not outweigh a consistent pattern on the strength of one order. Decay old signals, and let recent ones win once they are corroborated.

  • Do explicit preferences really beat behavioural data?

    For deciding what to show someone, yes. A stated size or style is unambiguous and the shopper can see why you used it. Behaviour is useful for filling gaps, not for overruling what a customer told you.

Sources

  1. 1Amazon Customer Service: Improve Your Recommendations · Customers can exclude purchases, such as gifts, from being used for recommendations.
  2. 2Gartner (2025): Personalization can triple the likelihood of customer regret at key journey points · 53% negative experiences; 44% less likely to repurchase; recommends active customer involvement over passive inference.
  3. 3Gartner (2025): Redefining personalized digital interactions with customer-shared data
  4. 4Idukki: Personalizing UGC display by shopper segment, not just by product
#personalization#ecommerce-strategy#recommendation-engines

Continue reading

1 piece in this cluster

These long-form pieces on the Idukki blog link back to this article, go deeper on the cluster.

More from Rohin Aggarwal

We use cookies

We use essential cookies to run this site and optional analytics cookies to understand how it’s used. You can change your choice anytime in our privacy policy.