Comments 5
пельмени лежат рядом молоком
Бытует мнение (не мое) что товары, которые чаще всего покупают в паре, должны быть максимально далеко друг от друга. Можете подтвердить или опровергнуть?
Я тоже не маркетолог, но слышал, что это применимо только к товарам, которые покупают ежедневно. Самый типичный пример — как раз хлеб и молоко. По моим наблюдениям, в крупных супермаркетах они всегда максимально удалены друг от друга. Логика здесь в том, что покупатель в любом случае купит оба продукта, так пусть по дороге захватит что-нибудь еще. А вот с товарами не столь регулярного спроса уже работает логика соседства. Например, в отделе с пивом часто можно увидеть стеллаж с закусками
Продвинутый анализ: когда больше двух товаров
А вот тут у вас не лучшее, ну или во всяком случае не универсальное, решение. Потому что вы заявляете "больше", но используете хардкод - ровно три, ни больше ни меньше. В то время как я лично ожидал увидеть универсальное решение - подходящее и для двух, и для трёх, и для четырёх, а в оптимуме - ещё и одновременно. Это было бы красиво...
Жаль, что у вас не Постгресс, он позволяет создать такое универсальное решение достаточно эффективным - на основании данных из отдельных транзакций сгенерировать все возможные сочетания (скажем, в формате массива идентификаторов продуктов), затем по вхождению связать, агрегировать, и провести анализ показателей для полученных групп. Для SQLite и SQL Server придётся делать то же через CSV или там JSON, что будет не так эффективно.
Посмотрите цикл лекций "Специалиста" имеющиеся в открытом доступе, а именно пару лекций Федора Самородова "Реляционное деление":
https://www.specialist.ru/center/video/417/relyacionnoe-delenie-v-sql-chastj-2
https://www.youtube.com/watch?v=WugkIMlnIk8
Там именно об этом, с разных сторон, и подробно.
SQL: Разбор задачи «Анализ покупательской корзины» на примере ритейла