CTR полезен как диагностический сигнал, но для корзины он может обманывать. Пользователь может кликнуть на любопытный товар и не купить, либо купить без клика, если товар добавляется прямо из блока. Поэтому primary metric должна быть ближе к бизнес-действию: incremental add-to-cart, order conversion, items per order, AOV, GMV, margin или retention.
Offline можно считать recall@K/nDCG на co-purchase или add-to-cart labels, но важно помнить про bias старых показов и популярность. Нужны slice metrics: новые товары, long-tail, категории, регионы, price bands.
Guardrails: уже добавленные товары, unavailable items, diversity, repeated category rate, complaints/hide, returns/cancellations, latency, empty response rate, fallback share и coverage каталога.