Введение в MDM- и PIM-системы на примере Akeneo и Pimcore

7.4.2020

Содержание

MDM- и PIM-системы помогают крупным e-Commerce-проектам и производствам экономить на обработке данных о товарах. Рассмотрим, какие задачи способны решать эти системы.

  1. MDM- и PIM-системы: что это такое и зачем они нужны
  2. В каких случаях бизнесу нужна PIM-система
  3. Akeneo и Pimcore для сложносоставных продуктов
  4. Функционал Pimcore и Akeneo

Redirector

"По мере роста предприятия разрастается хаос в данных. Иногда он начинается с информации о продуктах (например у торговых компаний), но может начинаться и с клиентских данных, с дублирования информации об инфраструктуре (для телекома) и т. п. Рано или поздно встаёт вопрос о повышении качества данных (т. е. повышении корректности, удалении дубликатов, стандартизации).

Мы в kt.team часто консультируем клиентов на предмет качества данных, и настало время рассказать про то, с чего обычно начинают наши клиенты в области торговли, — с PIM-систем".

MDM- и PIM-системы: что это такое и зачем они нужны

Классическая MDM-система — это система, которая знает про разные источники данных и отвечает за качество данных, т. е. содержит «золотую запись» данных. Например, ваши пункты продаж обладают одной информацией о клиентах, интернет-магазин — другой, маркетинговые сервисы — третьей. MDM-система может привести все адреса и имена клиентов к единому стандарту, найти одних и тех же клиентов, записанных по-разному, и устранить ошибки на основании разных алгоритмов.

MDM-системы управляют разными областями данных, которые часто называют доменами (домен «клиенты», домен «продукты» и т. д.).

Сегодня можно сказать, что PIM-система — это MDM-система по домену «продукты».

Благодаря MDM в едином пространстве содержатся валидаторы на изменения, интеграции с другими системами и правила, по которым эта информация выгружается в другие системы.

Все возможные атрибуты, всё-всё-всё о каждой сущности — всё сосредоточено в MDM.

Понять суть MDM-систем намного проще, если в качестве примера рассматривать PIM-системы. Поэтому далее поговорим именно про них.

PIM-системы позволяют сосредоточить всю информацию от операторов, фотографов, поставщиков, а также различные правила по продуктам. С помощью PIM-систем можно управлять разными представлениями товаров на маркетплейсах и в соцсетях.

Базовый список возможностей PIM-систем:

  • определить все атрибуты для ваших товаров и их обязательность для канала (например для сайта картинка может быть обязательна, а для выгрузки в «1С» — нет);
  • определить категории товаров в разных источниках;
  • оценить качество данных о продуктах по критериям полноты и достоверности с помощью как простых валидаций, так и сложных алгоритмов;
  • настроить алгоритмы работы операторов, ответственных за информацию о картинках. Например, подсказать им, какие продукты нужно заполнять в первую очередь. При размещении осенне-зимней коллекции в августе можно установить главный приоритет для источников «собственный сайт», далее — для источников «маркетплейс», а после этого — для остальных атрибутов и категорий товаров;
  • иметь в одном месте выгрузки на все сторонние источники вроде систем ERP, WMS и CMS, дистрибьюторов или даже на маркетплейсы (Wildberries, OZON, «Яндекс.Маркет» и т. д.) с некоторыми оговорками по ценообразованию;
  • определять рабочий процесс по верификации информации о продукте (например чтобы информацию перед публикацией проверил бренд-менеджер);
  • для PIM-систем с DAM можно определять рабочий процесс по файлам, связанным с продуктом (т. е. по картинкам и документам), а также по метаинформации о картинках (когда сделано фото, какой тип съёмки, является ли этот документ сертификатом, какие у него дата выдачи и срок действия и т. п.);
  • управлять маркетинговым представлением продукта (в Instagram картинка и описание одни, на сайте — другие, в рекламе для сегмента «мамочки» — третье). Как правило, такие системы гордо называют PXM-системами.

Как правило, PIM-системы также имеют возможность настройки статусов продукта («Валидация менеджером», «Готов к публикации» и т. д.) и инструменты массовой обработки товаров (быстро загрузить что-то из файла XLS, обновить общий атрибут для группы товаров и т. п.).

Наиболее продвинутые PIM-системы включают в себя DAM-системы (или PLM-системы), т. е. системы управления файлами и картинками, которые могут иметь собственные атрибуты.

В таком случае у изображений, которые являются атрибутами товаров, могут быть свои атрибуты, например «Картинка боковая», «Сертификация». Вы не просто указываете картинку в качестве атрибута, но и эта картинка сама по себе находится в определённом каталоге, может быть переиспользована, и по ней может быть создан отдельный workflow («на ретуши», «устарело», «нужно переснять»).

В каких случаях бизнесу нужна PIM-система

  • Если у вас сложные бизнес-процессы по продуктам (например собственный фотопродакшн или большой штат сотрудников, поддерживающих информацию и контент),
  • если у вас много информации о продуктах (производство, бренд-менеджеры, продажи — каждый генерирует свои XLS-таблицы, и уже ими жонглируют),
  • если у вас большое количество информационных систем,
  • если в текущих информационных системах вроде «1С» ваши операторы тратят очень много времени на рутинные операции,


то MDM/PIM-система вам, скорее всего, нужна.

Вы сможете упростить все бизнес-процессы и разгрузить другие источники от ненужной информации. Например, зачем «1С» хранить картинки для сайта и категорию, в которой этот сайт находится?

Давайте рассмотрим те две системы, в разработке на которых мы наиболее экспертны: Akeneo и Pimcore. С точки зрения технологического стека они очень похожи: это PHP / Symfony 4, MySQL и Elasticsearch. Но по подходу это две очень разные системы.

MDM/PIM-система Pimcore

Pimcore — это MDM-система. Несмотря на то что в её названии звучит PIM, де-факто в ней просто есть раскладка, которая позволяет работать с продуктами. Там же есть и CRM (раскладка, позволяющая работать с клиентами), плюс можно создавать любые другие сущности, которые нужны для решения бизнес-задач.

Это не означает, что PIM-функционал там слабый. Наоборот, он очень сильный, ещё и с возможностью пользоваться дедупликацией.

Просто хочу подчеркнуть, что Pimcore изначально заточена не только под управление информацией о продуктах. В связи с этим объясняется и высокая сложность конфигурирования системы, и её максимальная универсальность (как в части атрибутов, так и в части API для этих сущностей).

PIM-система Akeneo

В отличие от универсального Pimcore, Akeneo — это только PIM-система, т. е. узкоспециализированный инструмент.

Есть две версии этого продукта: Enterprise и Community. В архитектурном плане это одна система (одно ядро) с разным набором модулей. Версия Enterprise отличается тем, что в ней больше модулей и по большей части они связаны с управлением продуктами в крупных организациях (там, где много согласований, сложные права доступа, где у операторов большая иерархия и т. п.).

Мощная иерархия атрибутов, как в Pimcore, тут отсутствует. Атрибуты делятся на атрибуты, группы атрибутов и семейства. Нет возможности создать «абстрактную сущность», от которой можно отнаследоваться. Например, нет возможности создать «Мебель» со своими атрибутами, а потом расширить её с помощью «Дивана» и «Стола», которые будут добавлены в качестве атрибутов «Мебели».

Основные задачи PIM-систем

1. Позволять вносить всем заинтересованным сторонам необходимые изменения и дополнения в данные по продукту в одной области и гарантировать доступ к обновлённым данным в других областях.

Демо: поиск и добавление товаров в Akeneo PIM.

2. Устранять противоречия между данными, которые, в свою очередь, могут оказывать существенное влияние на ведение бизнеса. Сюда входят приоритизация источников, алгоритмы действий при наличии противоречивых данных, алгоритмы стандартизации информации и т. п.

3. Загружать данные из различных источников: CMS, CRM-, ERP-систем, узкоспециализированных программ вроде САПР/CAD (например хранить в одном месте всю документацию, чертежи и свойства по продукту).

4. Выгружать данные в разные источники с контролем обязательности атрибутов. Например, если мы хотим, чтобы на сайт не попадали товары без картинок, мы настраиваем это в PIM-системе. При этом предоставляем оператору прозрачную информацию о продуктах, чтобы он видел, какие из них не попадают на сайт и по какой причине. Сюда же относится и выгрузка фидов для вендоров или централизованная отправка выгрузок на маркетплейсы вроде Wildberries, OZON, Amazon, «Яндекс.Маркета», AliExpress и т. п.

Демо: импорт и экспорт данных в Akeneo PIM.

5. Обеспечивать обработку и пополнение контента в системе с учётом политики прав и ролей в компании. Пополнять контент может любой сотрудник с соответствующим правом доступа, например маркетолог, менеджер по продажам или даже копирайтер.

В качестве дополнительной информации о товарах можно вносить описания, изображения, видеообзоры. Текст возможно автоматически переводить внутри системы на другие языки, что значительно упрощает адаптацию данных к локальным требованиям. Если же мы поставляем товары, например, в Испанию, то переводчикам на испанский лучше дать доступ именно к испанским атрибутам и только для тех продуктов, которые отправляются в эту страну.

Демо: роли в Akeneo PIM.

Akeneo и Pimcore для сложносоставных продуктов

Допустим, ваш бизнес — услуги сотовой связи. У вас есть тарифная сетка, которая отличается большим количеством нюансов для разных районов страны. В некоторых регионах часть тарифов вообще неприменима. Ценообразование в данном случае — свойство продукта (цена далеко не всегда является свойством продукта, чаще — свойство канала продаж, но именно тут — свойство продукта).
Ваш продукт — со сложным ценообразованием, при этом вам важно знать и контролировать все факторы изменения цены.

Другой пример: вы производите диваны. Обивку для них можно изготовить из тысячи материалов разных цветов и фактуры. Они различаются габаритами, механизмом раскладывания, материалом подлокотников. Эти отличия — не просто свойства товаров, они определённым образом зависят друг от друга: диваны некоторых ценовых категорий могут иметь обивку только из определённого вида тканей и только ограниченного количества цветов, а некоторые конструкции имеют разные опции.

Давайте рассмотрим, как Akeneo и Pimcore помогают работать с данными для таких сложносоставных продуктов.

Akeneo поддерживает плоскую модель данных (с нюансами: в версии Enterprise могут быть составные атрибуты, т. е. атрибут может содержать свои атрибуты).

Таким образом, подобного рода задачи сводятся к тому, что Akeneo расширяется специальным конфигуратором — разработчики пишут модуль для управления сложной иерархической структурой в плоской структуре Akeneo.

Составной атрибут в Akeneo Enterprise и Pimcore означает, что атрибут содержит свои атрибуты. Например, атрибут «Цвет» может содержать название, HEX- и CMYK-коды и картинку, а атрибут «Ткань» — название ткани и условия её стирки/мойки.

В Pimcore эта задача решается коробочным интерфейсом: любой класс может быть расширен, и тот, в свою очередь, тоже может быть расширен. Атрибуты могут быть связью, в т. ч. многие ко многим, составными, вычисляемыми.

Наиболее интересные кейсы для понимания работы Akeneo и Pimcore могут быть такими: у бизнеса есть некая базовая продукция с базовой ценой (например базовая модель дивана с обивкой из определённой ткани), а при добавлении какой-либо конфигурации нужно автоматически изменить цену (диван с другой обивкой стоит дороже), причём сделать это по правилам (есть несколько категорий ткани, и цена для каждой следующей категории увеличивается на 100 рублей за погонный метр).

Интерфейс настройки атрибутов в Akeneo выглядит так:

В Pimcore:

Функционал Pimcore и Akeneo

Pimcore — это гибкая, удобная и многофункциональная MDM-система. Давайте познакомимся с её возможностями подробнее и обсудим, какие из них есть и в Akeneo.

Качество данных / cемантика

И Pimcore, и Akeneo поддерживают связанность и высокое качество для различных наборов данных: структурированных и неструктурированных, внутренних и внешних. Информацию можно сопоставлять, проверять и стандартизировать, чтобы всегда иметь актуальные и точные данные для операций. К примеру, можно обогащать информацию о товарах, используя другие сайты и облачные сервисы. С точки зрения управления качеством данных Pimcore богаче архитектурно, зато Akeneo — нагляднее.

Эти системы также позволяют форматировать разнообразные наборы данных на основе отраслевых стандартов, бизнес-правил, уникальных тестов, метаданных и машинного обучения. Можно менять значения данных в соответствии с ограничениями домена, ограничениями целостности данных или другими бизнес-правилами.

Управление рабочим процессом (workflow, validation workflow) и статусная модель для продуктов

Иногда нужно провести товары по статусам так же, как таск-трекер проводит задачу. Например, последовательность статусов товара может быть такой: «Новый», «На проверке копирайтером», «На проверке бренд-менеджером», «Опубликован».

Такая возможность есть и в Akeneo (Enterprise), и в Pimcore.

Вполне возможно, что в процессе проведения товара между статусами бренд-менеджер заметит неточность в части атрибутов. Тогда он сможет оставить комментарий и отправить продукт на доработку, и оператор увидит необходимость корректировок. Другой вариант: бывает нужно написать какой-нибудь валидатор.

Статус может быть связан с запуском процедуры импорта или экспорта данных этого продукта.

В Pimcore есть понятие валидаторов и правил отмены операции. Например, нельзя опубликовать продукт, если его цена не обновлялась более 30 дней, нельзя отправить на валидацию продукт в статусе «Заблокирован» и т. п.

Эти валидации могут быть вычисляемыми (в т. ч. можно отправить запрос во внешнюю систему для принятия решения).

В интерфейсе Pimcore workflow выглядит так:

Digital asset management — DAM (он же product content management)

В любой PIM-системе — даже без DAM — есть возможность загрузить картинки к товару.

Однако бывает нужно сделать так, чтобы файлы сами по себе были независимыми сущностями (например фотографы просто делают фото и не указывают артикул или нам нужно переиспользовать одно фото в разных продуктах). В таком случае нужен DAM. Сначала он назывался PCM, и, кажется, название взято от SAP. Теперь это просто DAM.

DAM — это системы по хранению файлов (картинок, документов) со своими атрибутами. Бывает, нам нужно не просто знать фото артикула, но и отличать, что это именно боковое фото. Не просто видеть, что это скан сертификата, но и определять срок, когда он заканчивается. Т. е. файл сам по себе обрастает метаданными и эти метаданные могут быть связаны с продуктами (например нельзя публиковать товар с истёкшим сертификатом).

Весь этот функционал можно настроить в DAM.

Как правило, DAM подключается туда, где генерируется контент (чтобы можно было использовать штатный NFS или какой-либо другой сетевой протокол доступа к «папке»), а контент-менеджеры используют файлы из DAM в своих продуктах (присваивают фото и сертификаты конкретным артикулам).

При этом если нам нужно будет отправить все сертификаты, мы сможем сделать это одним кликом (даже предоставить публичную ссылку на скачивание, чтобы не пересылать гигабайты по почте). И в выгрузку попадут только те сертификаты, дата которых актуальна.

DAM является частью и Pimсore, и Akeneo (только Enterprise, хотя к Community можно подключить любой open source DAM или даже написать свой, если требования скромные).

В Pimcore также есть простые функции работы с документами и редактирования изображений (через сторонние библиотеки).

Версионирование

Версионирование показывает, когда, кем и как именно обновлён продукт (GIT для продуктов).

Оно позволяет откатиться к предыдущей версии, отправить на согласование новую редакцию и просто понять, что если в продукте обновился один атрибут, который важен, например, только для сайта, то и выгрузить обновление нужно только на сайт, а остальным не сообщать об изменениях.

Эти функции есть и в Akeneo Community (хотя здесь функционал сильно урезан), и в Akeneo Enterprise, и в Pimcore.

Качество данных и заполненность атрибутов

Бывает необходимо знать, что у нас заполнены не все нужные атрибуты в разрезе каналов (канал — это получатель информации: сайт, маркетплейс, ERP и т. п.).

А иногда это нужно знать не просто в разрезе канала, но и в разрезе какой-либо группы продуктов. В Akeneo Enterprise можно смотреть за наполненностью и качеством данных по группе в разрезе источников — это называется Teamwork Assistant. Например: скоро осенне-зимний сезон, и мы выделяем все товары для этого сезона в отдельную группу. В результате мы видим процент заполненности по каналам с наложенным фильтром группы, и нам проще отслеживать прогресс по наполненности.

Загрузка данных о продукте из Excel и других таблиц

Кроме настраиваемых профилей импорта и экспорта, обе системы (Akeneo и Pimcore) имеют немного разный подход к данным.

Pimcore из коробки позволяет осуществлять очень гибкую работу с внешними таблицами прямо из интерфейса, причём по любым сущностям (атрибуты, товары, клиенты). Прямо в интерфейс возможно загрузить любой табличный документ и указать, какие поля и куда внести.

Akeneo заточена на работу с продуктами и имеет сервис обогащения информации (Franklin), а также достаточно простые механизмы импорта и экспорта (можно загрузить таблицу, настроив профиль импорта). Franklin собирает сведения о продукте в Интернете и умным образом объединяет их, устраняя противоречивость данных.

Предоставление информации о продукте внешними пользователями (поставщиками, производителями)

Иногда бывает необходимо сделать так, чтобы информация о продукте обогащалась за счёт завода-производителя.

Вспоминается сервис доставки еды, в котором есть большое количество поставщиков, и все они должны поставлять информацию о продукции самостоятельно. Внутренние пользователи лишь подтверждают загрузку этой информации и проверяют её корректность.

В Akeneo Enterprise для этого есть облачный сервис Onboarder, а в Akeneo Community и Pimcore единственный вариант — использовать имеющиеся права доступа и гибко конфигурировать их так, чтобы поставщикам всё-таки был предоставлен определённый доступ.

Хотя лучше всё же настроить импорт данных из их источников (и чаще всего какой-то такой импорт уже имеется).

PIM и PXM, или пара слов о маркетологах

PXM (product experience management) — это такой PIM, который умеет предоставлять разную информацию в разные маркетинговые каналы.

Если классический PIM рассматривает информацию о продукте как «золотую запись» (да, у продукта могут быть разные локализации — языковые и т. п., — но это один набор атрибутов), то PXM рассматривает продукт как набор описаний для разных маркетинговых каналов.

Условно, если вы производите воду, то для мамочек её надо позиционировать одним образом, а для офисов — другим. Продукт один и тот же, а его маркетинг — разный.

Akeneo заявляет, что её Onboarder и Franklin вместе с самой PIM и есть PXM. На деле же и Akeneo, и Pimcore предоставляют схожий интерфейс для реальной маркетинговой активности: это вариации продукта, которые можно объединить или связями (Akeneo и Pimcore), или наследованием (Pimcore).

EDI и PIM

Если вы получаете EDI-сообщения (например от европейского производителя) и хотите автоматически загружать их в информационную систему, без разработки не обойтись.

Полезной информации там немного, но для первичного наполнения информации о продукте (который потом пойдёт по сложным workflow обогащения) вполне подойдёт.

Причины — как в многообразии EDI-сообщений и их форматов, так и в редкой надобности таких обменов.

Однако в России спрос на EDI повышается, и многообразие форматов сглаживают крупные ЭДО-центры (СБИС / «Диадок» / «СКБ Контур» и т. п.), так что эта задача преобразуется в задачу на интеграцию с каким-либо местным ЭДО-провайдером.

MDM, PIM и микросервисный подход

Немаловажным является вопрос отношения к продуктам, если в вашей компании — микросервисная экосистема.

Строго говоря, без доработок Akeneo вы не сможете управлять бизнес-процессами Akeneo PIM из вашей BPMS. В Pimcore дела обстоят чуть проще ввиду богатых возможностей доступа workflow через API. Однако мы рекомендуем не интегрировать такие бизнес-процессы и относиться к PIM как к закрытой системе, которая имеет собственные бизнес-процессы. Всё, что вы можете делать с такой системой из других сервисов, — пользоваться её API.

Иногда бизнес-процессы и продукты очень сильно переплетены. Например, когда продукт — это тарифы одного из операторов связи, которые имеют сложные бизнес-процессы, но крайне сильно переплетены с процессами акций, часовыми поясами регионов и биллингом. В таком случае лучше управлять продуктами через бизнес-процессы Camunda и иные интерфейсы, связанные с ней.

Строго говоря, чем больше и сложнее процессы, тем меньше для них подходят модульные системы (пусть и open source).

Другой вариант: разработать модуль для Akeneo или Pimcore так, чтобы интерфейсы и валидаторы получались из Camunda или jBPM, а отображались PIM-системой. Конечно, это недешёвая разработка, но такое решение позволит сохранить прозрачность бизнес-процессов из BPMS при сохранении богатого интерфейса PIM.

Вывод

Итак, мы рассмотрели возможности систем Akeneo и Pimcore со многими их сходствами и отличиями. Стоит запомнить, что Akeneo — всё же PIM-система, которая нацелена на работу с продуктами, тогда как Pimcore — более обширное решение, MDM-система.

Что касается стоимости Akeneo, то версия Enterprise будет стоить не менее 30 тысяч евро в год, и доработка Community иногда может оказаться дешевле.

Для лучшего знакомства с этой темой вам могут быть полезны эти материалы (все строки кликабельны):

Другие статьи

Смотреть все

Зачем нужна аналитическая культура?

Подробнее

Сервис-ориентированная архитектура. Цифровая копия бизнеса

Подробнее

Сколько стоит внедрение ESB-слоя и как формируется стоимость владения ESB?

Подробнее

Смотреть все

Мы используем файлы cookie, чтобы предоставить наилучшие возможности сайта

Ок

Ваша заявка отправлена успешно

Отправить снова

Ready to help you with your project

You'll be contacted by your personal manager