Реализация омниканальной стратегии и создание интернет-магазина на платформе 1С Битрикс: Enterprise для самого крупного ритейлера обуви в стране
> 2 млн
посетителей ежемесячно
x3,5
рост количества заказов за год
50%
повторных покупок
x2,5
рост конверсии за год
Коротко о компании
Kari - сеть обувных магазинов, создана в 2012 году бывшим владельцем «Эльдорадо» Игорем Яковлевым. Насчитывает 856 магазинов в России, Казахстане, на Украине, в Белоруссии и Польше и 11 РЦ в России. По итогам 2015 года оборот компании составил 23,6 млрд рублей.
Эдгар Гусейнов, директор по продукту Aero (ЭГ), Андрей Рождественский, руководитель интернет-проекта kari (АР)
В чем заключалась основная задача проекта?
ЭГ: Кari пришли к нам с очень амбициозными планами. За полгода надо было запустить 4 интернет-магазина: для России, Казахстана, Украины и Беларуси. Планировалась нагрузка порядка 3000 пользователей, одновременно находящихся онлайн на сайте, 2 млн просмотров и 5000 заказов в сутки, с увеличением в периоды пиковых нагрузок втрое.
При этом нужно было отображать актуальный ассортимент, остатки, цены не только по городам присутствия Kari, но и по конкретным магазинам. Сделать так, чтобы менеджерам было удобно работать с ассортиментом на сайте — на момент начала работы над проектом в каталоге Kari было 30 000 моделей или 120 000 SKU, сейчас — уже более 80 000 (о разработке онлайн-канала для fashion-ритейлера читайте также в кейсе сети «Джинсовая Симфония»).
Изначально мы запланировали три больших этапа:
Запуск сайта в виде витрины
Организация возможности самовывоза
Запуск доставки и подключение рекомендательных сервисов
Можно поподробнее о витрине — в чем ее специфика?
ЭГ: Даже при отсутствии возможности онлайн-заказа, обязательным условием была возможность увидеть актуальную информацию о наличии товара в том или ином магазине.
АР: На момент старта проекта у Kari было около 500 офлайновых магазинов и более тысячи дополнительных складов хранения обуви. От Aero требовалось сделать так, чтобы остатки формировались «на лету» по городам, по магазинам, с возможностью фильтрации. Все это должно было работать очень быстро, а информация по складским остаткам — обновляться раз в 15 минут.
ЭГ: Сложность в том, что kari в качестве ERP-системы использует Dynamics Axapta. В ней программными способами крайне сложно сформировать «дельты» — расхождения остатков на разное время. Axapta может сформировать только полноценный отчет о том, что есть в наличии в определенный момент времени. Из-за этого сразу не было возможности начать работать с дельтами, и мы делали только полный импорт остатков.
Это приводило к повышенным нагрузкам?
ЭГ: Да. На самом старте от нас требовалось каждые 15 минут импортировать 7 000 000 строк только остатков из БД. При этом происходил очень быстрый и неравномерный рост объема данных: например, только за одну неделю количество импортируемых строк выросло с 7 до 8 миллионов. Как только со стороны ERP был реализован механизм выгрузки, мы переключились на импорты дельт, и стало значительно проще.
Для того, чтобы обеспечить такую производительность с учетом прогнозируемого роста возможных нагрузок, мы разработали кластерную архитектуру из семи серверов: два сервера приложений, два сервера баз данных, балансировщик, который распределяет нагрузку, и по одному серверу под кеширование данных и поисковой движок Elasticsearch.
Джинсовая Симфония
Реализация омниканальной стратегии и разработка интернет-магазина для одной из крупнейших мультибрендовых fashion-сетей России
20
городов присутствия
> 50
эксклюзивных брендов
Предпроектные исследования
В 2015 году рынок fashion eСommerce составлял 20% от всего рынка онлайн-ритейла России (по объему продаж) и 32% (по числу заказов). Такая разница объясняется низким средним чеком (3200 рублей при 4050 рублей в среднем по всем сегментам). В 2015 году, по оценкам Data Insight, объем сегмента составил 145 млрд рублей (без учета трансграничной торговли и универсальных магазинов), при этом ТОП 10 крупнейших интернет-ритейлеров генерируют 60% от общих продаж всех онлайн-магазинов. У большинства интернет-магазинов сегмента fashion конверсия составляет менее 1,5%.
Цель и польза проекта
Запустить онлайн-каталог с актуальным ассортиментом, ценами и информацией о наличии товара в магазинах
Добавить возможность резервирования товара в магазинах, расчета скидок, акций и бонусов для планируемой покупки
Добавить возможность осуществления заказа с доставкой по России
Расширить географию разработанных решений на все страны присутствия
Подготовить API для мобильного приложения
Главная страница
Какая нагрузка на сайте сейчас?
АР: Сейчас на сайте одновременно находится в среднем 3000 посетителей, а за месяц приходит 2 миллиона человек.
Сколько суммарно интеграций с разными системами потребовалось провести при создании сайта?
ЭГ: Всего на старте мы насчитывали 7 базовых, критически важных интеграций. Делать отдельные интерфейсы для работы с каждой системой было нерационально, поэтому мы развернули промежуточную базу данных, в которую все системы выгружают данные, где они постоянно обновляются.
АР: Эта структура не идеальна, но для проекта такого масштаба — вполне рабочее решение. Основная проблема заключается в том, что Axapta и сайт постоянно работают с одной и той же базой данных, поэтому возникает «конфликт интересов», что снижает скорость работы. Решается это блокировками и «семафорами», которые позволяют ограничить максимальное число потоков, одновременно работающих с базой.
Какие еще сложности были с запуском?
ЭГ: Это прозвучит странно, но даже с учетом всех интеграций самые большие проблемы на сайте были с меню.
Меню? Необычно. И в чем была проблема?
АР: Сложно было договориться, что «вытаскивать» на первый уровень меню. Сначала мы разместили там основные разделы: «Мужчинам», «Женщинам», «Для мам и малышей» и так далее. Потом кто-то пришёл и сказал: «Давайте вытащим отдельно «Спорт». Потом кому-то пришла мысль добавить раздел «Пьер Карден». Потом «Распродажи». Идеи продолжали поступать, получилось уже не меню, а непонятно что. В итоге всё-таки смогли договориться.
Еще одна сложность была связана с тем, что в разных городах — разные товарные остатки. А логика работы системы предусматривала отображение в меню только ассортимента, доступного в городе покупателя.
ЭГ: ...а городов, где у kari есть свои магазины, очень много. При этом, мы сразу запускались на четыре страны: Россия, Казахстан, Украина, Беларусь.
А почему нельзя было сделать одно меню для всех городов?
ЭГ: Бывает, что какого-то товара нет во всем регионе. Мало того, иногда отсутствует вся товарная категория. Нам необходимо было сделать так, чтобы для покупателя из региона или города, в котором нет товаров соответствующей розничной группы, этот пункт меню скрывался. Живой пример — категория «Игрушки», которая постепенно появлялась в ассортименте разных городов.
Как считаются остатки?
ЭГ: Для каждой из четырех стран используется сложная система расчета остатков. Мы считаем, что товар присутствует в городе, если его можно купить хотя бы в одном магазине. Если в городе нет ни одного магазина, а значит, ни одного товара, но он есть на складах субъекта выше уровнем (область, край), то он показывается как присутствующий в регионе. Отдельная история - анклавы или сложные конгломерации. К примеру, поселок Яблоновский фактически является пригородом Краснодара, расположенным к центру города ближе, чем некоторые спальные районы, а относится к другому субъекту - республике Адыгея. Не говоря уже про хитросплетения взаимного учета остатков магазинов Москвы, Московской области, Зеленограда, Химок и Долгопрудного.
Фактически для каждого города в четырех странах у нас есть, в результате, свое индивидуальное меню со своей логикой учета товаров. И все эти меню должны обновляться автоматически каждые 15 минут. Такие же особенности есть и при построении и наполнении каталога товаров, или формировании динамических фильтров в категориях - эти фильтры автоматически генерируются по свойствам товаров, которые доступны в текущей категории.
Как увеличить производительность сайта в несколько раз с помощью Elasticsearch
Задачи
Запустить интернет-магазин с актуальными остатками на всех типах складов
Организовать возможность работы с ассортиментом каждого магазина (собственные и франчайзи)
Поддержать уникальную для каждого магазина ценовую политику
Разработать и внедрить омниканальную программу лояльности
Разработать систему обмена данными с кассовым ПО конечных магазинов Организовать возможность выполнения одного заказа в разных магазинах и складах
Минимизировать участие системы "Битрикс" в управлении мастер-данными
Поговорим о втором этапе работы — реализации возможности самовывоза. Какие тут потребовались интеграции?
ЭГ: В компании не предполагалось создания отдела для обработки интернет-продаж, а колл-центр работает только с проблемными заказами. В связи с этим мы приняли решение интегрироваться непосредственно с кассами в розничных магазинах.
Как именно?
ЭГ: Заказ интернет-магазина отправляется напрямую на кассу, для чего пришлось сделать специальный интерфейс работы с кассовыми терминалами. Теперь, когда клиент оформляет заказ самовывозом, в магазине на терминал в отдельную вкладку «интернет-заказы» попадает задание на сборку. Продавец открывает вкладку, видит все заказы, которые поступили через интернет, идет на склад или в торговый зал, берет товар, сканирует его с помощью сканера штрихкода. Получив таким образом обновление статуса для одного товара, мы понимаем, что весь заказ переведен «в сборку» и запускаем соответствующий процессинг.
После того, как отсканированы все товары внутри заказа, он помечается как «собранный», а клиенту уходит SMS и email о готовности. С этого момента товары можно забрать в магазине. Параллельно в промежуточную базу данных записывается информация о том, кто и когда собрал заказ. Это нужно для анализа работы менеджеров касс.
А как покупатель выбирает магазин, где забрать заказ?
ЭГ: Покупатель может пойти двумя путями: либо его интересуют конкретные товары, либо конкретный магазин. В первом случае он находит нужный товар, а потом, на этапе оформления заказа, мы даем ему возможность выбрать удобный магазин из тех, где товар есть. Причем, если все товары можно купить в каком-то одном магазине, то на экране покупателя появляется кнопка с информацией об этом. Если же заказанные товары находятся в разных магазинах, то клиент может для каждого из них выбрать свою точку самовывоза.
Второй путь: клиент еще в каталоге выбирает фильтр по конкретному магазину и видит только те товары, которые есть в этом магазине.
Не было ли проблем интеграции с кассами в магазинах?
АР: Да, была интересная накладка. В один прекрасный момент мы обнаружили, что наши кассы отправляют огромное количество запросов. Кассы обращались к веб-сервисам с запросом: «Я – касса такая-то, дайте мне обновление статуса моих заказов». По регламенту кассы должны это делать раз в пять минут, но получилось так, что каждая касса посыла сотни обращений в минуту, а у нас их 1800: по 2 в каждом магазине. Это был настоящий кассовый DDOS! Вся система напрочь зависла, и было непонятно, что происходит. Выяснилось, что обычный сбой кассового ПО. Пришлось быстро обновлять его и проводить доработку.
Тренды, аналитика, кейсы, вакансии eCommerce в нашей рассылке
Отказоустойчивая схема обмена данными с ERP с возможностью перехода в автономный режим работы
Независимые импорты по всем типам данных
Настраиваемое отображение цен в каталоге (федеральные, региональные, цены магазина и цены франчайзи)
Поддержка неограниченного количества складов и цен
Обмен заказами напрямую с кассовыми аппаратами в магазинах без участия CRM
Настраиваемые сценарии переходов статусов товаров и заказов
Интерфейс тикетной системы обработки заказов для касовых аппаратов магазинов
Работа с бонусными картами: просмотр баланса, начисления, списания
«Тонкий клиент» для сотрудников колл-центра
Как проходило взаимодействие и интеграция с системой лояльности?
ЭГ: У kari картами лояльности являются не обычные карточки с номером, а полноценные платежные карты MasterCard. Чтобы получить эту карту, не нужно даже предъявлять паспорт, достаточно номера телефона.
А что с безопасностью таких карт?
АР: Пластиковые карты значительно увеличивают требование к безопасности. Эмитентом карт является Центр Финансовых Технологий (ЦФТ).
ЭГ: Интеграция с ЦФТ была сложной: требовалось использовать 4 разных API под разные действия в программе лояльности. Сейчас интеграция завершена процентов на 70: мы сообщаем клиенту, сколько баллов есть на карте, сколько спишется, если он получит скидку, выводим конечную стоимость товаров, участвующих в акциях.
А как предоставляются скидки?
ЭГ: Это очень сложная система. Cкидка может работать как на страну, так и на регион, на город и даже на конкретный магазин. Директора магазинов имеют возможность самостоятельно принимать решения о запуске или прекращении акции. Поэтому в сети необходим свой сервер расчета скидок. Он был реализован на уровне системы терминалов, в Wincor POS.
Как работает эта система?
ЭГ: При покупке в розничном магазине, касса отправляет на сервис расчета скидок запрос, который содержит всю информацию о покупке: в каком магазине совершается заказ, какие товары покупаются. Сервис возвращает конечную стоимость каждого отдельного товара и всего заказа, с учетом всех скидок, предоставляемых на товары, содержащиеся в заказе. Аналогично на сайте - в тот момент, когда клиент переходит в корзину на сайте, мы формируем аналогичный запрос и обращаемся к сервису расчета скидок для получения окончательного чека, такого же, какой получился бы при покупке в магазине выдачи.
В kari есть франшиза. Насколько она усложняет разработку?
ЭГ: Самая серьезная задача, которую пришлось решать — это отображение актуальных цен, которые могут отличаться от магазина к магазину. Более того, некоторые магазины работают по франшизе и устанавливают свои собственные цены. Изначально планировалось, что цены будут разниться только по городам, а в рамках одного города будет действовать одна цена на одни и те же товары. В результате все пришлось менять, поскольку даже в соседних магазинах могут быть разные базовые цены, и это без учета скидок.
Как образом вы решили проблему разных цен на один и тот же товар в разных магазинах?
АР: Есть «федеральная цена», которая не привязывается к рознице, и есть отдельные цены для каждого конкретного магазина сети. Если в городе нет магазинов — мы оперируем федеральной ценой. Если магазины есть, то в каталоге отображается максимальная цена в городе. А вот когда покупатель выбрал конкретный магазин, то в каталоге, карточке товара или корзине он видит уже финальную, точную цену.
Расскажи немного об интеграции с СМС и email-рассылками.
ЭГ: Самое простое — это СМС-оповещения. Они используются для подтверждения контактных данных покупателя, верификации карты лояльности и рассылки статусов заказа. Для рассылки используется сервис Devino Telecom. Мы разделяем сообщения по типам, исходя из их важности или срочности. Важные и срочные сообщения стоят для компании дороже, но гарантированно оперативно доставляются. Остальные сообщения, вроде смены статусов заказа, — менее срочные, поэтому они отправляются по условиям другого тарифа. Кроме того, если клиент пользуется Viber, мы пытаемся сначала передать информацию о заказе через него.
А делали ли вы что-то для сотрудников колл-центра kari?
ЭГ: Сейчас функционал колл-центра простой: операторы работают с проблемными заказами — теми, от которых клиент отказывается или хочет перенести на другую дату. Поэтому мы сделали специальный «тонкий клиент» — набор служебных интерфейсов, которые открываются во фрейме в ПО колл-центра и дают оператору выполнять только базовые действия, которые ему необходимы, без возможности изменить то, что не касается его прямых задач. Риск что-нибудь случайно испортить сведен к нулю.
Планируется ли делать мобильные приложения?
ЭГ: Да, мы уже на 80% закончили разработку API для мобильного приложения. Мы делали его совместно с компанией из Санкт-Петербурга. API построено на стандарте обмена коммерческой информацией commerce XML и построен на основе стандартного модуля выгрузки в Яндекс.Маркет. Нас это решение не в полной мере устраивает, так как Яндекс не позволяет выгружать разные остатки для каждого магазина в городе, а оперирует только городом. Мы будем совершенствовать эту систему.
Что планируется делать в ближайшее время?
ЭГ: Интерфейс оформления заказа пока достаточно сложный, мы его будем оптимизировать. Планируется провести интеграцию с Retail Rocket для тестирования персонализации рассылок.
АР: Будем делать персональные рекомендации на сайте, в email-рассылках. Есть и еще проект, который мы пока не раскрываем. Цель — чтобы каждый наш потенциальный покупатель получал персональное предложение, которое сможет «выстрелить» с наибольшей вероятностью.
Отзыв клиента
Андрей Рождественский, руководитель проекта:
«Мы работаем с агентством Aero с 2014 года, и все это время компания обеспечивает нас решениями в области электронной торговли, от первичной разработки интернет-магазина до постоянного внедрения нового функционала и вывода проекта на новые рынки. Наша компания развивается очень быстро: с 2012 года мы открыли 900 магазинов в 4 странах, а онлайн-каталог насчитывает уже почти 500 тысяч торговых предложений. Хотелось бы отметить высокую компетенцию сотрудников Aero, умеющих работать в быстроменяющихся условиях, находить общий язык с нашими подрядчиками и партнерами, держать высокие нагрузки и при этом оставаться комфортным подрядчиком на личном уровне.
На текущий момент мы продолжаем работу, непрерывно осуществляя плановый ввод в эксплуатацию нового функционала сайта и совместно решая возникающие задачи и проблемы нашего большого и амбициозного проекта.»
Общий результат
Запущены 4 национальных сайтa с поддержкой мультиязычности: Россия, Беларусь, Украина, Казахстан
Организована поддержка 900 магазинов и 1600 складов учета
Оптимизирована работа под высокие нагрузки: 75.000 активных SKU, 2 млн. визитов в месяц
Платформа и интеграции
Платформа «1С-Битрикс»
ERP: Microsoft Axapta
Кассовое ПО: Wincor Nixdorf POS
Лояльность и финансовые инструменты: «Центр Финансовых Технологий»
Мы подбираем индивидуальные условия и схемы работы под конкретный проект, продукт и набор ИТ-систем.
Расскажите о целях, задачах, сроках и бюджете вашего проекта как можно подробнее. Это поможет нам лучше вникнуть и сделать вам предложение намного быстрее.
Физическое лицо, оставляя заявку на веб-сайте www.aeroidea.ru
через форму «Обсудим ваш проект» и форму подписки на e-mail рассылку, действуя свободно, своей волей и в своем интересе,
а также подтверждая свою дееспособность, предоставляет свое согласие на обработку персональных данных
(далее — Согласие) Обществу с ограниченной ответственностью «АЭРОКОМ» (ООО «АЭРОКОМ»)
(ИНН 9705136776, info@aeroidea.ru, +7(495)120-12-38, +7 968 900-23-45),
которому принадлежит веб-сайт www.aeroidea.ru
и которое зарегистрировано по адресу 111024, г. Москва, вн.тер.г.муниципальный округ Лефортово, ул. Авиамоторная, д.50, стр.2, этаж 2, помещ.XI, комната 25, офис А79,
на обработку своих персональных данных со следующими условиями:
Данное Согласие дается на обработку персональных данных, как без использования средств автоматизации, так и с их использованием.
Согласие дается на обработку следующих моих персональных данных: персональные данные, не относящиеся к специальной категории персональных данных или к биометрическим персональным данным: адрес электронной почты (e-mail); имя; сведения о месте работы; номер мобильного телефона.
Цель обработки персональных данных: обсуждение возможного проекта.
В ходе обработки с персональными данными будут совершены следующие действия: сбор; запись; систематизация; накопление; хранение; уточнение (обновление, изменение); извлечение; использование; передача (предоставление, доступ); блокирование; удаление; уничтожение.
Третьи лица, обрабатывающие персональные данные по поручению ООО "Аэроком” для указанной в согласии цели:
АО "АМОЦРМ", 21205, г. Москва, вн.тер.г. Муниципальный Округ Можайский, Тер Сколково Инновационного Центра, б-р Большой, д. 42 стр. 1
ООО "Яндекс", 119021, г. Москва, ул. Льва Толстого, д. 16
Персональные данные обрабатываются в течение 30 дней с момента отказа в дальнейшем обсуждении проекта или с момента принятия решения о заключении договора на проект в соответствии с ч. 4 ст. 21 152-ФЗ, смотря что произойдет раньше.
Согласие может быть отозвано вами или вашим представителем путем направления ООО "Аэроком” письменного заявления или электронного заявления, подписанного согласно законодательству Российской Федерации в области электронной подписи, по адресу, указанному в начале Согласия.
В случае отзыва вами или вашим представителем Согласия ООО "Аэроком” вправе продолжить обработку персональных данных без него при наличии оснований, указанных в пунктах 2 — 11 части 1 статьи 6, части 2 статьи 10 и части 2 статьи 11 Федерального закона № 152-ФЗ «О персональных данных» от 27.07.2006 г.
Настоящее согласие действует все время до момента прекращения обработки персональных данных, указанных в п. 6 и п. 7 Согласия.
eCommerce стикеры №1
Мы нарисовали первый eCommerce стикерпак, чтобы вам было еще проще обмениваться своими эмоциями!