Journal
When attach rate and discount depth pull against each other
A two-SKU bundle on a commerce app usually gets judged by attach: how often the companion left with the hero. Attach is useful. It is not enough.
Take a toner at RM 49 and a serum at RM 89. You advertise the pair at RM 99, which is a depth most beauty shops in Malaysia will recognise from 9.9 tiles. Attach can look respectable because the serum is now cheap enough that a shopper already buying toner shrugs and adds it. The extract will show a combo ID. What it will not shout is that you gave away RM 39 of serum to move a toner that was already selling on search.
On the canvas we put attach in one column and discount depth in the next, using the standalone prices you actually charged in the same dates, not the crossed-out list prices on the thumbnail. If attach only rises once depth crosses a threshold you cannot keep after the window, we mark the pairing as window-dependent. That is different from a pairing that still joins at a modest depth in a quiet week.
Grocery behaves the same way with a different texture. A 1 kg rice SKU bundled with a small sauce can show high attach because the sauce is a coin. The question is whether the sauce needed the rice thumbnail at all, or whether it should be a gift-with-purchase on a different hero. We do not average those two stories into one health score.
When you send extracts, include the advertised bundle price and the standalone prices for both SKUs. Without those, attach is a count of tickets, not a reading of the trade.