Русский
Русский
English
Статистика
Реклама

Розница

Из песочницы Как я спрыгнул с платформы ЭВОТОР, почему и чего это стоило

24.10.2020 20:17:25 | Автор: admin
Очень давно (более 20 лет назад) я написал учетную систему на базе 1С версии 7.7 для небольшой розничной сети из 30 магазинов. В течении этих лет потихоньку ее поддерживал. Руководство компании звезд с неба не хватает, особых пожеланий не имеет и вообщем все шло хорошо, пока Пока не наступил 54ФЗ обязывающий всех представителей розничной торговли обзавестись (за свой, разумеется, счет) онлайн-кассами с целью передачи данных из них, на одну из площадок ОФД. И все завертелось

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

Но делать нечего. Закон есть закон.

Принялся обозревать рынок онлайн-касс. На тот момент (октябрь 2017-го) это было душераздирающее зрелище. Вариантов было два:

  1. Покупать в каждую точку полноценный компьютер, к нему лицензию на Windows, к нему лицензию на 1С, к нему проводить интернет или покупать 3G/4G модемы, настраивать неподъемную 1С Розницу со своими выкрутасами. Ну и опять же. Учитывая формат магазинов (мелкие павильоны), в них просто не было места куда все это добро поставить, включая клавиатуру и мышь.
  2. Купить многообещающую платформу ЭВОТОР (ЭВОлюция ТОРговли). Которая обещала много и сразу. Самое главное все в одном флаконе. Что она собой представляет. Планшет на базе Андроида. К нему в комплекте и в одном корпусе ККТ с ФН. Все это обмазано своей оболочкой. Оболочка вполне себе дружелюбная, но как и любой стратап болеющая кучей детских болезней.

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

Купленный первый ЭВОТОР вполне оправдывал ожидания. К нему можно было подключиться удаленно через личный кабинет. Помочь продавцу советом или действием. Напоминаю, что проект был очень сырой и глюки сыпались как из рога изобилия.

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

По результатам испытаний и внедрения на одной розничной точке было принято решение о закупке на все остальные точки ЭВОТОРов. А что? Дешево и сердито.

Весна 2018-го года ушла на покупку, настройку и внедрение этих аппаратов.

Вдохновленный первыми успехами, я влился в стройные ряды разработчиков ЭВОТОР. Написал обработку для 1C 7.7, которую использовал только для своей компании, загружающую данные в ЭВОТОР с ценами и выгружающую из облака ЭВОТОР данные о продажах. Регулярно писал багрепорты. Общался с разработчиками. Часами сидел над аппаратом воспроизводя т. н. перемежающиеся ошибки. Вообщем энтузиазм пер!

Ну а далее аппетит приходит во время еды. Имея данные о продажах, руководство компании решило перейти от устаревшей системы суммового учета к количественно-суммовому и далее к количественному по мере совершенствования системы.

Тут следует небольшое отступление. На тот момент, эта работа не была моей основной. Обычная подработка. Я трудился на местной ТЭЦ в качестве программиста, потом в компании по продаже оборудования и программ ресторанам. Но потом от руководства компании, описанной здесь, получил предложение, от которого не смог отказаться, и перешел на полноценную деятельность в ней.

И тут все завертелось во второй раз.

Решение руководства о переходе на количественно-суммовой учет в розничных точках требовало кардинальной переработки программного обеспечения. Напоминаю, что компания работала на программе 1998-го года выпуска.

Придя в компанию на полный график 1-го октября 2019 года, принял решение о переходе на 1С 8.3 собственной разработки с ноля. Это отдельная история (может быть напишу, если кому интересно будет), но к 1-му февраля 2020 года программа была написана и запущена.

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

Но не тут то было.

А в это время в далекой, далекой галактике (зачеркнуто) в главном офисе руководства ЭВОТОР созрел план. То ли кому то не хватало на новую яхту, то ли на новый остров на Багамах, то ли руководство ЭВОТОРа поняло, что первая волна ажиотажа ОФД прошла и новых продаж не хватает Неважно. Они начали закручивать гайки.

Сначала был урезан бесплатный удаленный доступ к ЭВОТОРу через личный кабинет. Теперь он составлял 1 час в месяц. Мы были к этому готовы. Оснащенные бетонобойными бабушками в качестве продавцов, которые прошли и крым, и рым, способные руками перебрать и запустить холодильник в магазине, мы с улыбкой смотрели на отсутствие удаленного доступа.

Потом бесплатный удаленный доступ был отрезан навсегда. Мы посмеялись еще раз.

Потом стало не до смеха. Нам отключили доступ к облаку ЭВОТОР с мотивировкой несанкционированный доступ к данным облака. Напоминаю. Я состоял в команде разработчиков, разработал систему обмена данными из облака со своей же программой и далее со всеми остановками.

Требовали 300р в месяц за каждую точку (31 точка). Худо бедно удалось договориться о 150. Доступ восстановили.

Дальше больше. На багрепорты перестали реагировать от слова СОВСЕМ. ЭВОТОР потерял данные продаж за предыдущие сутки? А у ВАС есть премиум подписка? Ах нет? Обращайтесь к разработчику обмена данными. То есть они мне предлагали обратиться ко мне же с этим вопросом. Хотя API честно говорил данных о продажах нет.

Потом потерпела крах идея о количественно-суммовом учете в розничных точках. По одной банальной причине. ЭВОТОР не способен выдать суммовой результат инвентаризации. По той причине что некорректно подсчитывает продажи в течении дня и его данные о наличии товара в точке не соответствуют действительности.

Товар не может быть возвращен поставщику потому что его нет на остатке по данным ЭВОТОРа. Качество данных см. выше.

Возврат поставщику можно оформить только если товар приходовался на самом ЭВОТОРе. О наличии у клиента собственной системы учета разработчики ЭВОТОРа не подумали ни разу.

При списании товара цену списываемого товара надо каждый раз вводить вручную по той же причине.

Подключение весов к ЭВОТОРу постигла та же участь. Заплатив 5000 рублей за драйвер весов (Драйвер нужно покупать на каждые весы в точке) мы увидели, что ЭВОТОР не позволяет вводить вручную, вес ВЕСОВОГО товара вопреки федеральному закону, который гласит если на упаковке весового товара указан вес производителя, то именно он должен быть указан в чеке не взирая на показания весов. Вес от весов или на упаковке должен идти в пользу покупателя.

Попытка подключения к ЭВОТОРу онлайн-банковских терминалов славного Сбербанка заслуживает отдельной истории. 6 месяцев мы мучались. С точек рапортуют терминалы не работают. Произвольно выключаются, произвольно перезагружается сам ЭВОТОР. Все попытки найти виновных потерпели полный крах. Сбербанк кивал на ЭВОТОР. ЭВОТОР кивал на Сбербанк. Кто сшил костюмчик? Решительно не понятно. Пришлось перейти на оффлайн банковские терминалы. Сколько добрых слов я услышал тогда от продавцов и руководства. Но делать было нечего.

Отдельной истории заслуживает Проверка оборудования. О! Сколько крови и пота она стоила. В произвольный момент времени ЭВОТОР высвечивал Проверка оборудования и все Все попытки привести его в чувство заканчивались ничем. Была разработана целая инструкция. Процитирую ее дословно При появлении ошибки Проверка оборудования выключить терминал, отключить его от сети 220 вольт. Закрыть магазин. Ждать 5-15 минут. Включить. При появлении ошибки снова сделать все заново. На запросы техподдержки неизменно следовал ответ У вас есть премиум подписка? Нет? это ваши проблемы.

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

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

А дальше все было просто. Выбрали другую платформу. Не буду тут ее указывать, чтобы избежать обвинения в рекламе. Написал под нее свою систему и завтра, 23.10.2020 года наступит момент когда ПОСЛЕДНИЙ ЭВОТОР в нашей компании отправится на свалку. С каким же удовольствием я разобью его кувалдой на заднем дворе нашего склада

С уважением.
Подробнее..

Свершилось ценники, которые всегда актуальны, пилот на 79 тысяч штук в магазине

22.04.2021 10:12:30 | Автор: admin
image
(фото из зарубежного проекта вместо текущего по просьбе безопасников)

До этого в России были внедрения электронных ценников в рознице (МАН, Магнит и так далее), но использовались устройства без сетевой связности, то есть нужно было ходить и обновлять их с помощью программатора либо выставлять на них цену кнопками, как на электронных часах. Плюс прошлые поколения ценников были с жидкокристаллическими дисплеями и суровым bluetooth, а новые с e-ink и сильно переделанной версией IEEE 802.15.4 с поддержкой сна и невероятно экономичных по питанию транзакций. То есть прошлым надо было менять батарею раз в три-семь дней, а новые уже держат два года (по заявлению производителя, пока не было шанса проверить, но аналогичные устройства LORA мы начали использовать лет десять назад, и один-два года похоже на правду), причём год это в секции холодильников, где аккумуляторы должны чувствовать себя зябко.

Собственно, я участвовал в одном из первых в России аналогичном проекте и потому хорошо представляю тот ад, который тогда творился. КРОК 15 лет занимается розницей, и мои коллеги тоже знают, что первые модели были, скорее, прототипами. Но всё равно даже те электронные ценники были лучше, чем резать бумагу и наклеивать скотчем с точки зрения скорости обновления цен в магазине после пересчёта базы на 300-400 позиций за ночь.

Новые ценники имеют управляющий сервер, который обновляет ценники мгновенно, как только в 1С или SAP поменялись цены. Точнее, лаг есть он равен промежутку между сеансами связи оконечных устройств, но это не больше нескольких минут. Каждый ценник привязан к конкретному товару в базе и на полке.

Пока накрыто два крупных магазина федеральной розничной сети, там 79 тысяч ценников. Если этот проект проживёт полгода успешно, через год ждите такое почти по всей России и наконец-то пропадут проблемы про мы не успели переклеить и акция уже кончилась. Но, возможно, будут новые с тем, что в 18:30 алкоголь будет дороже, чем в 7:00.

Что за устройства


Каждый отдельный модуль представляет из себя экран e-ink с несколькими вариациями цветов (это не RGB, а, скорее, примерный аналог CGA) + управляющая плата + радиоустройство + две плоских батареи C2R2 (в ценниках больше батареи другие).

image

Больше деталей про ценники вот здесь.

Крышка с батареями меняется целиком, то есть можно поколупаться один раз в тёплой уютной админской, а потом уже выдать батареи человеку, который пойдёт менять их. Ну или можно выколупывать-выколупывать их на месте. Устройство умеет предупреждать про низкий заряд батареи примерно за три месяца, чтобы можно было заранее спланировать замену в нашем случае это особенно важно, потому что при 79 тысячах устройств, включённых примерно одновременно, это примерный аналог инвентаризации в торговом зале по объёму труда. С предупреждением можно менять разом, а можно постепенно.

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

Радиомодуль


Используется протокол ZigBee. Это надстройка к IEEE 802.15.4, созданная специально для медленных IoT с низким потреблением питания. Особенности очень устойчивая сеть с mesh-топологией (хотя у нас это больше похоже на просто звёзды до точек доступа), самовосстановление сети и гарантированная доставка пакетов, даже если устройство надолго выпало из сети или отказал один из опорных узлов. Большую часть времени радиомодуль спит, но иногда просыпается, ждёт апдейта и снова спит, если его нет. Диапазон 2,42,48 ГГц (стандарт позволяет и другие, но это базовый), заявленная скорость 250 Кбит/с в лабораторных условиях, фактическая около 58 Кбит/с (это не сюрприз). Пакеты апдейта цены обычно как раз на секунду.

Архитектура выглядит так:

image

Снаружи откуда-то берутся данные о ценах (обычно из 1C-выгрузки), которые принимает управляющий сервер. Он смотрит на то, что нужно обновить, превращает это всё в команды конкретным устройствам, закрывает ключом и транслирует на точки доступа-гейтвеи. Устройства просыпаются, кушают апдейт и засыпают снова. Управляется всё это с мобильного телефона администратора магазина или отдельного компьютера в магазине, есть и удалённый доступ для админа.

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

Расширенные возможности


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

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

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

На сервере можно посмотреть сводку по устройствам их уровень сигнала и уровень батареи на основании данных протокола.

Сам ценник можно брендировать по рамке под компанию, выбирая её цвет.

Как шло внедрение устройств


Основная масса устройств ценники с экраном 2,9 дюйма с двумя батареями C2R2. Полностью процедура замены крышки с батареями занимает 2540 секунд в зависимости от того, насколько вы опытны (и не обгрызли ли вы ногти). Предполагается, что после вставки батарей ценники себя находят в сети сразу и даже как-то базово определяют своё геометрическое положение относительно базовой станции.

В нашем случае порядка к 4-5 % пришлось подносить программатор (устройство ближнего радиодиапазона) и давать ребут. После такого пинка устройства находились сразу.

image

Полноценное радиообследование магазина не делали, но подозревали, что сложности будут на железных шкафах и в ряде мест с товарами хозназначения из металла. Диапазон выбирался между 1,9 до 5 ГГц, остановились на каналах чуть выше 2,4. На помехи им, в общем-то, плевать из-за протоколов доставки он-деманд, то есть по факту получения сообщения. А оно доставляется всегда, это тоже в протоколе. По-хорошему обследование на таких проектах нужно, это в перспективе означает меньшее энергопотребление оконечных устройств. У нас же была готовая карта расстановки, которую рекомендовал вендор на основе планировки магазина, но вендор до этого не знал, как у нас охраняют колбасу, поэтому в молочку и в мясной отдел мы понатыкали примерно в два раза больше точек. В прикассовой зоне устройства начали создавать помехи друг другу: там мелкие товары, большая плотность устройств, тоже пришлось раскидывать по диапазону шире.

Около двух тысяч ценников были размером побольше, среди прочего 200 штук размером с лист А5. В магазине были заменены все без исключения ценники на электронные, кроме акционных на горках товара и в овощах это где плакаты. Плакаты А4 и больше остались бумажные.

Весь немаленький магазин накрыли за пять дней:

  1. Затяжка кабелей (для точек доступа).
  2. Установка креплений.
  3. Установка самих точек доступа.
  4. Конфигурация сети и подключение оконечных устройств.
  5. Проверка работы, перезагрузка, где это требуется (почти везде!).

Но потом кое-что пошло не так.

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

Завод предоставил гайдлайн, как демонтировать и складировать. Дальше мы так и делали. При этом важно помнить, что батарейки при соприкосновении могут произвести очень большую батарейку и воспламениться! Чтобы этого избежать мы складывали непригодные батарейки на улице в коробки, прокладывая внутри слоями полиэтилена.

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

Следующей проблемой было то, куда утилизировать столько батареек. Спросили в Икее, возьмут ли они по своей программе, но быстро сходили лесом. Несмотря на экономические издержки, мы решили утилизировать правильно, бережно для экологии. Обратились в итоге к компании, занимающейся утилизацией АКБ в промышленном масштабе, а у нас как раз вышло примерно 136 тысяч батареек, это три полных багажника.

Итог


image
Подробнее..

Как мы сделали программу лояльности для 300 магазинов У Палыча на open source iDempiere ERPCRM

25.04.2021 16:15:44 | Автор: admin

Что такое iDempiere?

iDempiere ERP/CRM - это бесплатное ПО с открытым исходным кодом. Имеет функционал Tier II ERP, CRM, SCM, POS, Promotion, Campaign management и, в принципе, много чего ещё.

Важно понимать, это не просто бизнес-приложение - это Java платформа/конструктор для low-code разработки разных, ориентированных на работу с базой данных, бизнес-приложений c web интерфейсом. Во времена, когда многие пытаются построить бизнес-приложение с нуля, хорошо помнить о том, что существуют подобные фреймворки, основанные на принципах ООП, с миллионами строк проверенного кода, "активным словарём данных", который позволяет управлять сущностями, правилами проверки, окнами, таблицами, форматами и другими настройками приложения, не прибегая к кодированию вообще или же применяя небольшие, в несколько строк, инъекции кода.

Входит в широко известное за рубежом семейство "...piere" - Compiere, Adempiere, Open Bravo, Metafresh. Отличается от одних из них полным отсутствием pay wall, от других - модульной (плагинной) архитектурой (менять функциональность системы можно на лету, обновляя тот или иной плагин OSGi).

Каждый год на Хэллоуин сообщество проекта выпускает обновлённую версию. Осенью 2020 года вышла версия 8.2.

"Кривая обучения команды по iDempiere ERP/CRM была пройдена ранее, на предыдущих проектах. За нашими плечами есть проект на промышленном предприятии: 500 активных пользователей в день, база около 500 Гб, 100-400 млн. запросов к базе в сутки."

Если верить официальным сайтам этих близкородственных систем, а также зарубежных фирм-внедренцев, данное семейство ПО используется в Ив Роше (Франция), Декатлоне (Индия), Цирке дю Солей и в тысячах безвестных фирм, от Канады до Индонезии, в разных секторах, от производства молока до банковского сектора.

iDempiere работает с PostgresSQL >=9.6 или Oracle 11G/12C. Даёт кластеризацию серверов приложений и балансировку нагрузки с помощью HAProxy и Hazelcast. Имеет write to Master & report from hot replicas, два движка автоматизации бизнес-процессов ("строгий" бизнес-процесс и бизнес-процесс для кейс-менеджмента) и мн. др. фичи, делающие её вполне пригодной для большой индустрии.

Данный "панегирик" не что иное, как благодарность данной системе в режиме word of mouth за её возможности, которыми уже не раз приходилось пользоваться, в полном соответствии с философией open source и sharing.

"300 магазинов разбросаны на площади 450 тысяч км. кв., что примерно равно площади Испании. Объезжать их все, даже на моноколесе, - дороговато."

В чем состояла задача в данном проекте?

В 300 магазинах, которые работают по франшизе бренда и в которых сложился разношёрстный ИТ-ландшафт различных POS-систем и зачастую нет постоянного айтишника, развернуть программу лояльности, которая максимально соответствует пользовательской истории Заказчика (бренда), работает мгновенно и готова к omnichannel. Часть этой пользовательской истории мы написали и переписали вместе с Заказчиком.

Вот чем в процессе этой дискуссии мы озаботились.

Почему программы лояльности вызывают скепсис у покупателя?

Еcли верить большим дядям типа Forrester, этот скепсис есть во всем развитом мире, а не только у нас. 60-70% всех покупателей являются членами хотя бы одной программы лояльности. Но быть членом это одно, а реально пользоваться - это другое. Как минимум 50% "участников" среднестатистической программы лояльности ею не пользуются. Если коротко и только о главном, то вот почему:

  • Проблемы бренда:

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

    • Если customer experience в физическом магазине бренда сильно хромает: нужного товара нет, продавец о товаре ничего рассказать не может, в магазине плохо пахнет, за разменом посылают в соседнюю лавку и т.д. Другими словами, если базовые запросы покупателя при общении с брендом не удовлетворены, то программа лояльности будет уместна, как на корове седло. Лучше уж сфокусироваться на улучшениях в торговой точке.

  • Проблемы самой программы лояльности:

    • Правила участия и получения бенефитов замороченные

    • А награда находит покупателя не сразу, а только потом - отсутствует instant gratification.

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

"Тут и объяснять ничего не надо - каждой программе лояльности нужен BI и всё тут. Для нашего проекта мы опять решили использовать open source - Metabase. Заказчику понравилось"

Какие принципы программы лояльности мы с заказчиком в итоге сформулировали?

Возможно, вам это всё покажется прописными истинами, но всё же.

Вырваться из замкнутого круга скидок и перейти к баллам

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

В центре программы лояльности - покупатель

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

Вознаграждение покупателя должно быть практически мгновенным

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

Регистрация в программе лояльности за секунды. И никаких ФИО, пожалуйста!

Понятно, что бумажные анкеты, которые "завтра обработают в офисе" это безнадёжный олдскул. Зарегистрироваться твоему покупателю в твоей программе лояльности должно быть не сложнее, чем послать 1 СМС. Ещё лучше, если это в два клика сделает продавец прямо в магазине. И, боже мой, конечно, не надо спрашивать Имя-Фамилию-Отчество! Спроси "Как к Вам можно обращаться?". Если хочет покупатель быть Василисой Прекрасной, Darth Vader или Zaya, пусть будет, мы не на пограничном контроле. Твоя задача - максимально снизить боль покупателя при регистрации, и дать возможность покупателю быть тем, кем он хочет, это лояльно по отношению к нему. Удивительно, но сколько же людей из сферы маркетинга порываются мыслить терминами "ФИО"!

Максимальная прозрачность для покупателя условий программы лояльности и его статуса в ней

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

Заранее планируй multichannel и работу множества разных акций одновременно

Даже если онлайн-магазина у тебя ещё нет, всё равно архитектуру и логику своего offer engine закладывай под

  • многоканальность (физический магазин, онлайн-магазин, приложение, бот в Телеграме и т.д.)

  • каждая торговая точка - потенциально отдельный канал (позитивно аукнется, например, при открытиях новых магазинов или при региональных промо)

  • сосуществование множества акций одновременно (в т.ч. "противоречащих" друг другу)

Акции должны быть настраиваемы для одного отдельного канала (отдельная торговая точка, интернет магазин, приложение, телеграм-бот и т.д.), либо для набора из нескольких каналов, либо для всех каналов. Что там маркетологу будет угодно.

Скорость и надёжность, само собой

Прикинь сразу максимально возможное количество транзакций в твоей программе лояльности, в пиковый день, в пиковый час. Новые торговые точки, сезонность, праздники, все дела. В нашем случае мы с заказчиком заложились на 900'000 транзакций в день.

Подарочные карты

Надо, Федя, надо. Это профессионально, поэтому, рано или поздно неизбежно. По крайней мере, заложи в архитектуру заранее.

FIFO для баллов программы лояльности

Баллы в программе лояльности начисляются, баллы списываются. Зачастую, неиспользованные баллы той или иной программы лояльности сгорают после определённого периода невостребованности покупателем. Даже если этот цинизм не про тебя, возможность иметь "партионный учёт" баллов и их связь с конкретными покупками даст тебе гибкость в политике списаний и точность в анализе.

Анализируй это!

Тут и объяснять ничего не надо - каждой программе лояльности нужен BI и всё тут. Для нашего проекта мы опять решили использовать open source - Metabase. Заказчик остался доволен.

Итак, проблемы проекта

  1. 300 магазинов разбросаны на площади 450 тысяч км. кв., что примерно равно площади Испании. Объезжать их все, даже на моноколесе, - дороговато.

  2. Да, магазины работают по франшизе, но исторически сложилось, что каждый предприниматель использует POS систему, выбранную по своему усмотрению (уже была; брат/сват уже использует и хвалит и т.д.) 99.9% всех рассматриваемых предпринимателей используют 1С разных версий и конфигураций. Затевать проект по переводу всех на один единственно правильный вариант POS, перестройке работы и переобучению всех сотрудников этой многоликой Испании, да еще в условиях пандемии, заказчик посчитал слишком дорогим по времени, а значит, по деньгам.

  3. ИТ-экспертиза в этих магазинах имеет преходящий характер. Или приходящий.

  4. НСИ только частично синхронизирована.

  5. Период полного развёртывания программы лояльности во всех магазинах был определён как 6-9 месяцев от начала до конца.

"Штатные возможности iDempiere ERP/CRM для предметной области retail & promotion были полностью в нашем распоряжении..."

Сильные стороны, или почему всё получилось

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

  2. Предприниматели, работающие по франшизе бренда, смогли мобилизовать свои скромные ИТ ресурсы на относительно локальную ИТ-пертурбацию в виде нормализации НСИ и подключения к разработанному для них API.

  3. Кривая обучения команды по iDempiere ERP/CRM была пройдена ранее, на предыдущих проектах. За нашими плечами есть проект на промышленном предприятии: 500 активных пользователей в день, база около 500 Гб, 100-400 млн. запросов к базе в сутки.

  4. Штатные возможности iDempiere ERP/CRM для предметной области retail & promotion были полностью в нашем распоряжении:

    1. Вкладка Контрагент и её разные подчиненные вкладки (Контакты, Адреса, Сферы интересов, и ещё пара десятков других) и их готовая логика;

    2. Вкладка Промоакция и её подчиненные вкладки (Условия срабатывания, Распределение количества, Вознаграждение для покупателя, Строка промоакции и др.) и их готовая логика;

    3. Вкладка Группы Промоакций;

    4. Вкладка Рекламные кампании;

  5. Плюс штатные фичи iDempiere из смежных областей, которые тоже пригодились:

    1. Сильный буржуйско-бухгалтерский функционал по GL (General ledger - Главная книга) и учёту дебиторки/кредиторки;

    2. Работа со множеством валют в учёте (баллы - это просто ещё одна валюта, пока что с курсом 1:1 к рублю);

    3. Встроенный Report Cubeи таблица Fact_Acct_Summary, хранящая балансы финансовых транзакций (отличная от таблиц, содержащих движения);

    4. Кластеризация серверов приложений и балансировка нагрузки с помощью HAProxy;

    5. Поддержка REST web servicesдля обмена через JSON формат;

    6. Schedulers - Планировщики. Штатный функционал iDempiere, RPA процессы, которые запускаются по расписанию или, с небольшой модификацией, по событию, на отдельном служебном сервере приложений и делают своё дело. У вас могут быть сотни планировщиков, если это надо. В нашем случае планировщики проводят начисления бонусов по всем необходимым таблицам движения, еженощно сжигают устаревшие бонусы по методу FIFO, отслеживают и исправляют экзотические, проблемные транзакции (возврат приходит раньше продажи, например, из-за того, что моргнул интернет в магазине).

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

    8. Write to master database, report from hot replicasстандартная настройка, позволяющая отправлять все отчёты, включая автоматические, на одну или множество горячих реплик вашей базы данных;

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

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

Как в итоге всё работает?

  1. В программе лояльности активировано уже 800'000 покупателей.

  2. 99.9% из 300 магазинов имеют ту POS, которую имели до проекта.

  3. Для магазинов был и написан, и описан минимально необходимый REST API, который и даёт почти мгновенную синхронизацию с централизованной программой лояльности.

  4. Покупатели, их контакты и адреса, их транзакции, их балансы, их промо, другими словами собственно все данные, которые и обеспечивают функционал программы лояльности - все хранятся в централизованной бэк-офис ERP/CRM системе.

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

  6. В зависимости от сценария поведения покупателя (только начислять баллы или начислять-списывать) на одну продажу приходится до 3х транзакций обмена данными. Они занимают в среднем 50, 200 и 200 миллисекунд соответственно.

  7. Бонусы, начисленные на только что состоявшуюся покупку, доступны для списания во время следующей покупки не позднее 1 минуты.

Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru