PIM - система управления продуктовым каталогом
О том, как создавалась PIM, о ее внутренней структуре и основных преимуществах рассказывает Георгий Хотьян – начальник разработки бэк-офис систем «Детский мир».
Система PIM (Product Information Management system) предназначена для хранения и обработки больших объемов контентных данных о товаре:
- основных – название, артикул, штрихкод;
- дополнительных – специфичных для каждой категории, которых могут быть тысячи. Это может быть цвет, материал, состав ткани одежды и прочие;
- медиаданных – фото, видео, документы, инструкции;
- логистических – вес, размер и так далее.
Как появилась система
Писать программу начали с нуля, а предыдущее решение проработало 13 лет. Когда оно перестало удовлетворять требованиям, решили переосмыслить подход. Поясним, почему пришлось это сделать.
Почему решили разрабатывать свой продукт PIM:
-
Имеющееся в ДМ решение технологически устарело (работало 13 лет);
-
Использовавшийся в ДМ продукт имел иностранных владельцев;
-
При увеличении ассортимента в интернет-магазине ДМ наблюдалась нестабильная работа системы вендора;
Перед реализацией проекта изучили ряд существующих готовых решений, но решили не останавливаться на них. Основной проблемой стала потребность в сильной кастомизации, интеграции с нашими текущими системами. Была очерчена главная задача – встроить PIM без их существенного изменения.
Мы работаем с несколькими торговыми площадками. Их список представлен на рисунке:
На всех площадках «Детский мир» (Казахстан, РФ, Беларусь) ассортимент одинаков, но требуется различный подход к публикации. Например, товар может продаваться только в одной стране. В «Зоозавре» ассортимент иной, чем в «Детском мире», но он пересекается с дискаунтером «Еще». В какой-то мере товары «Детского мира» также пересекаются с дискаунтером. Отделу контента удобнее работать с ассортиментом, не задумываясь, где он будет продаваться, но при этом данные о товарах должны попадать на соответствующие площадки.
Отдельно идет портал поставщика (личный кабинет), с которым тоже должна быть тесная интеграция. Поставщиков у нас более 4 000, поэтому это большие объемы информации. Одна из главных задач PIM – дать им возможность вносить все характеристики товара самостоятельно, без последующей обработки нашего отдела контента. Сейчас они заполняют набор данных, одинаковый для всех категорий. Идея в том, чтобы передавать поставщику для заполнения динамическую систему каталогов. Это упростит работу контентщиков, ускорит обработку данных.
За что отвечает система
PIM – система данных, на которых строится витрина. Поэтому стоит подробнее рассказать о витрине и за что отвечает PIM:
- поиск;
- категорийное дерево (на рисунке под цифрой 2);
- сортировка – по популярности (по умолчанию), новизне и другим критериям;
- медиаданные;
- динамические фильтры – собственно, новшество PIM. Для каждой категории динамически настраивается порядок самих фильтров и порядок атрибутов внутри фильтра. Это возможность, которую не давала предыдущая система;
- карточка товара.
В товарной карточке PIM отвечает за:
1. Известные «хлебные крошки» - товар может вноситься в разные категории, но все данные о нем система формирует в одну основную категорию.
2. Наименование товара. Поставщики вводят свои названия одного товара, а PIM, согласно шаблону, формирует единообразное наименование (например, в одежде обязательно будет присутствовать размер и цвет).
3. Медиаданные.
4. Бренд с соответствующим логотипом (идет отдельным справочником).
5. Характеристики товара.
Все это повышает конверсию. Возможность просмотреть информацию в структурированном, отсортированном виде, отфильтровать то, что нужно посетителю, побуждает совершить покупку.
Внутренняя структура
Мы пошли по пути упрощения внутренней системы категорий, с которой удобно работать поставщикам. Например, внутри PIM существует единственная категория «Детская одежда», которая на сайте может трансформироваться во что угодно (например, «Платья для девочек», «Детские новогодние костюмы» и т. д.).
Инфомодели
К каждой категории привязана инфомодель PIM, а атрибуты привязываются уже к инфомодели. Например, набор атрибутов инфомодели «Игрушечный транспорт» может наследовать множество категорий – «Машинки», «Самолетики» и прочие. Такое наследование дает большую гибкость при работе с категориями. Создание инфомоделей способствовало достижению первой цели – ускорению наполнения товарного контента.
Управление фронт-категориями
Следующей целью стало быстрое заведение категорий, категорийных деревьев.
Мы пошли по пути обобщенной структуры, которая с помощью правил маппинга преобразуется в свои категорийные деревья для «Детского мира», «Зоозавра», дискаунтера. Например, «Детская одежда» по возрастной группе может трансформироваться в «Одежду для малышей», по сезону – в «Летнюю одежду». Категории на сайтах теперь наполняются автоматически, работающие с контентом сотрудники об этом не задумываются.
Управление карточками
В маркетплейсах зачастую несколько поставщиков предлагают одинаковый товар. Мы реализовали возможность работы с одним товаром, привязав к основной товарной карточке партнерские.
Административная панель
В PIM предусмотрена панель с удобной настройкой представления. Возможность работы с файлами Excel способствует быстрой обработке. Если нужно добавить 10 000 товаров, добавить атрибут, мы кастомизируем листинг, выбираем нужные параметры, выгружаем в Excel, вносим изменения, загружаем обратно. Это отдельный пример выполнения массовых операций.
Массовые операции
Массовые операции – функционал, ускоряющий и облегчающий работу. Это может быть множественная публикация или снятие с публикации на отдельных или всех площадках. Через массовые операции осуществляется и загрузка фотографий. Изображения выбираются из фотоархива, достаточно применить определенный шаблон наименований. Аналогично происходит загрузка файлов.
Другой функционал
- История изменений – позволяет отследить объем работы внешних подрядчиков, что необходимо для расчетов.
- Аналитика по системе
- Ролевая модель
· Интеграции со всеми системами «Детского мира» – основной смысл разработки новой системы. Так, интеграция с медиасервисом позволяет оперативно представить покупателю фото товара еще до выгрузки на сайт текстового описания.
Заключение
Перечислим вкратце особенности системы:
Это дает следующие полезные эффекты:
Вопросы и ответы
Сколько времени уходит на индексацию каталога для отображения пользователям?
При отправке всего массива данных (обработке миллиона товаров) с использованием SOLAR индексация проходит за час. Если ежедневно отправлять только изменения, позиций будет в сотни раз меньше, и индексация существенно ускорится – займет ориентировочно до пяти минут.
Был ли смысл писать продукт «с нуля»?
Мы рады, что приняли такое решение, поскольку процесс до сих пор в работе. Сейчас развиваем интеграции, этим занимается та же команда.
Сколько специалистов было задействовано для написания и поддержки продукта?
Наша команда состоит из трех бэкенд- и двух фронтенд-разработчиков, двух тестировщиков, аналитика. Несколько раз привлекали девопсов со стороны для кратковременных работ.