Склеивание товаров
Основные тезисы.
- Одинаковый товар может быть в базе данных от разных поставщиков.
- При этом наименование товара может незначительно отличаться.
- От каждого поставщика может быть различная цена.
- От каждого поставщика может быть различный статус наличия товара.
- Наличие в базе дублирующихся товаров имеет негативные моменты:
- для посетителей сайта непонятно, какой из товаров заказывать
- если первым попадется из дублирующихся товаров с большей ценой, - это может привести к отказу от этого товара и даже к уходу посетителя на другой сайт
- Вывод:
- Все дублирующиеся товары должны быть сведены к одному
- Назовем это процессом “склеивания”
- Для каждого дублирующегося товара могут храниться свои данные, которые могли быть внесены по нему до момента склеивания. Это:
- фотографии
- описание
- технические характеристики
- опции и фильтры
- розничная цена, отображающаяся на сайте
- статус наличия
- Эти данные могли быть внесены по этим товарам как вручную, так и с помощью парсеров по различным источникам
- Из этих данных должны быть выбраны наиболее предпочтительные, например для двух найденных одинаковых товаров
- фотографии могут быть взяты как из первого так и из второго
- описание - из первого
- тех.характеристики - из второго
- опции и фильтры - из второго
- цена и статус наличия - из первого
- Подготавливаем структуру хранения данных, позволяющую:
- склеивать дублирующиеся товары,
- хранить входящую оптовую цену от каждого поставщика и его статус наличия
- Необходимые действия с товарами:
- Отображение в списке на сайте по выбранной рубрике
- сортировка по умолчанию:
- статус наличия (по убыванию)
- цена (по возрастанию)
- поля, отображаемые в списке:
- цена
- статус
- в некоторых случаях описание (или первые несколько слов описания)
- Отображение товаров в админке,
- для каждого "склеенного" товара отобразить все возможные альтернативные цены при поднесении мыши или в отдельной вкладке
- Импорт товаров
- При импорте цены склеенного товара необходимо определить правильную цену
- Поскольку поставщиков данного товара может быть несколько, то от каждого есть своя входящая цена и свой статус наличия товара
- На основании этих данных и алгоритма приоритетной цены происходит автоматическое вычисление цены для сайта
- При появлении новых товаров, которых раньше не было в нашей базе необходимо:
- запустить сканер дубликатов
- если есть дубликат товара - склеить их
- если подключен модуль парсера описаний в каталогах - запустить его и найти в настроенных каталогах описание товара, его технические характеристики и фотографии
- если подключен модуль парсера фильтров товара - запустить его
- По окончании импорта сформировать отчет, в котором отобразить:
- Количество обновленных цен товаров
- Количество обновленных статусов товаров
- Количество новых товаров
- Количество склеенных товаров в результате работы сканера дубликатов
- Количество найденных описаний в каталогах в результате работы парсера
- Сформированный отчет отправить в емайл менеджерам и записать в журнал импорта
- Отображение в заказе
- для дублирующихся товаров в заказе для менеджера необходимо отобразить данные от каждого поставщика - таблица с полями:
- название поставщика
- артикул товара от поставщика
- входящая оптовая цена
- розничная цена
- дата последнего обновления цены
- при этом менеджер может принимать решение, у какого именно поставщика следует брать данный товар
Описание структуры
- Количество поставщиков - неограничено
- от каждого поставщика сохраняем свою входящую оптовую цену,
- артикул,
- статус,
- Для склеенных товаров при импорте определяем одного приоритетного поставщика, соответственно используем его цену и статус наличия
Сканер дубликатов товаров
- помогает автоматически обнаружить дублирующиеся товары в базе
- может запускаться как вручную по требованию, так и автоматически при импорте цен с прайсов поставщиков
- не гарантирует 100% обнаружение
- при неодинаковом написании модели товара (KBO-123, KBO_123, KBO 123, KBO/123, 123 KBO )
- при перестановке слов
- алгоритм будет совершенствоваться
- результат работы сканера - список дублирующихся товаров
- отмечаем в списке пару дублирующихся товаров - идем на экран склеивания, там предлагается выбрать наиболее удачные:
- описание
- тех.характеристики
- фото (все имеющиеся фото товара могут быть объединены)
- опции и фильтры
- При склеивании для товара сохраняются:
- все артикулы поставщиков,
- входящие цены от всех поставщиков
- по алгоритму приоритетной цены определяется приоритетный поставщик, его цена и статус
- алгоритм см. ниже в импорте
Алгоритм Приоритетной цены
- Если при ручном склеивании товаров можно определить визуально, какую из цен выбрать от поставщиков, то при импорте и при работе сканера дубликатов необходимо оговорить алгоритм автоматического определения приоритетной цены.
- Анализируются и сравниваются параметры:
- цена, полученная с импортом (новая цена)
- цена, которая установлена была приоритетной до текущего импорта (текущая цена)
- статус, полученный с импортом (новый статус)
- статус, который был установлен до текущего импорта (текущий статус)
- По данному алгоритму должна быть вычислена цена, которая отображается на сайте. При этом приходится руководствоваться двумя критериями:
- цена на сайте должна быть высококонкурентной (хочется брать ту цену, которая меньше)
- при заказе и поставке товара надо обеспечить указанную на сайте цену в указанный срок
- Пример 1.
- текущая цена = 500, текущий статус - “на филиалах” (статус =1)
- новая цена = 504, новый статус - “на складе” (статус=0)
- розничная цена на сайте 550
- Разница в цене 504-500 = 4 грн
- Принимаем решение брать дороже, но сегодня, поскольку "доход" останется 550-504=46
- Пример 2.
- текущая цена = 500, текущий статус - “на филиалах” (статус =1)
- новая цена = 540, новый статус - “на складе” (статус=0)
- розничная цена на сайте 550
- Разница в цене 540-500 = 40 грн
- Принимаем решение брать дешевле, но завтра, поскольку "доход" останется 550-540=10
- Приходим к выводу:
- Приоритетность цены зависит от порога, который цена переходит или не переходит
- Цена закупки никак не может оказаться выше розничной цены на сайте, несмотря на высокий статус наличия
- Попробуем определить критерий вычисления порога. Возможные варианты:
- 1. Процент от цены, который устанавливается в настройках сайта
- например 1% от 500 составляет 5
- при превышении разницы цен в 5 - приоритетной будет меньшая цена
- 2. Ступенчатый процент, который устанавливается в настройках сайта
- цена от 10 до 100 - 3%
- цена от 101 до 1000 - 2%
- цена от 1001 до 10000 - 0.5%
- 3. Процент от цены между различными статусами
- все статусы наличия товара можно свести приблизительно к количеству дней поставки, например:
- статус 1 - 0 дней (сегодня)
- статус 2 - 1 день (завтра)
- статус 3 - ожидается поставка (2 недели)
- статус 4 - давно не импортировалось (4 недели)
- тогда в таком случае ставим к примеру такие настройки:
- между статусом 1 и 2 - 1%
- между статусом 1 и 3 - 8%
- между статусом 1 и 4 - 15%
- между статусом 2 и 3 - 4%
- и т.д.
- 4. Процент от цены по рубрикам продукции, например:
- Ноутбуки - 0.7%
- Компьютеры - 1%
- Оргтехника - 1.25%
Заметили ошибку? Пожалуйста, выделите ее мышкой и нажмите Ctrl+Enter