Workspace Digital Awards 2025 — успейте номинировать кейсы по льготной цене до 1 декабря. Принять участие!
Софториум
Внезапное падение продаж и отваливающиеся холодильники: как мы помогли GOODDY
Софториум
#Программирование#Разработка программного обеспечения

Внезапное падение продаж и отваливающиеся холодильники: как мы помогли GOODDY

Софториум
Софториум Россия, Кемерово
Поделиться:
Внезапное падение продаж и отваливающиеся холодильники: как мы помогли GOODDY
Клиент

ООО "МАЙ ФИТ ИТ"

Сфера

Программное обеспечение

Регион

Россия, Москва

Сдано

Июль 2023

Задача

GOODDY — сеть микромаркетов с ассортиментом из 1000+ блюд

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

Так HR-бренд работодателя растёт и процветает, поставщики увеличивают продажи, а GOODDY зарабатывает деньги на комиссиях. Все в плюсе.

IT-инфраструктура GOODDY выглядит так:

1) серверная часть — он же бэкенд;

2) холодильники с управляющей платой — устройством, которое регулирует температуру, управляет вентиляцией, освещением и так далее;

3)административная панель — управляющий софт для владельцев GOODDY, их партнёров и поставщиков. В ней можно отслеживать всё, что происходит с холодильниками и управлять мобильным приложением;

4)мобильное приложение для покупателей.

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

Решение

Рассказываем, как мы нашли причину отказа от покупок и вернули продажи на прежний уровень. А ещё избежали краж из холодильников!

1Как холодильники потеряли связь с бэкендом и отказ от PWA из-за ухода зарубежных библиотек с рынка

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

Симптоматика одна, а причин может быть множество. Долго искали, что не так — нашли целых две проблемы.

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

Во-вторых, отваливался websocket-сервер.

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

Так вот сервер переставал работать из-за того, что диск устройства был полностью заполнен логами — записями событий в системе. Новые логи формировались постоянно, а старые при этом не стирались. Память на диске переполнялась, и это останавливало работу многих сервисов, в том числе WebSocket-сервера.

Как решили проблему

Сделали функцию очистки диска, проверки статуса WebSocket-сервера и его перезагрузки в административной панели. После перезапуска настроили вывод лога с записью о последнем событии в программе, чтобы понимать, не произошёл ли какой-то баг.

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

Мобильное приложение GOODDY — нативное, то есть, по сути, у компании два разных приложения для iOS и Android. Поддержка и продвижение таких сервисов стоят дорого, поэтому у заказчика была идея отказаться от них и сделать PWA.

PWA — лёгкое веб-приложение, которое запускается и работает в браузере непосредственно в момент обращения к нему. Оно не «болтается» в памяти телефона, и им можно быстро пользоваться. Обслуживать веб-приложение намного дешевле, потому что это сайт, который визуально трансформируется в мобильный клиент.

Были сомнения, что запрос заказчика можно реализовать. Да так, чтобы PWA стабильно работало, выполняло все функции и не плодило баги. Поэтому сперва решили оценить риски и запустить прототип — на этом-то этапе и вскрылись проблемы.

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

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

И если библиотеки для Android были в свободном доступе и работали стабильно, то с iOS было сложнее. Платные библиотеки ушли из России, бесплатных было несколько, но они не работали на последних версиях айфонов — 14 и 15. Из-за этого камера не фокусировалась и не могла распознать штрих-код.

На этом эксперимент с прототипом завершили. Стало понятно, что сэкономить на PWA не выйдет: дешевле поддержать нативное приложение, чем писать библиотеки с нуля.

2Внезапное падение продаж

В мае 2023 года у GOODDY резко упали продажи. Холодильники стояли, люди к ним подходили, но покупку не завершали — в статистике было много отмен. Внимание, Софториум, вопрос: что не так?

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

Делайте ваши ставки в комментариях, откуда пошёл сбой.

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

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

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

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

Чиним геопозицию пользователя, чтобы избежать краж

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

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

Мы заменили пакет на более свежий — от другого вендора. Геопозиция заработала, но сторы отказывались заливать приложение с обновлениями. Требовали указать, для чего сервису данные о местоположении пользователя. Мы указали в специальной графе магазинов, для чего собираем эту информацию. Сейчас всё исправно работает.

Продажи через штрих-коды

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

Как всё происходит:

1. Штрих-коды для продукции формируются через управляющий софт.

2. GOODDY распечатывают их и наклеивают на упаковки.

3. Пользователь сканирует штрих-код через мобильное приложение и оплачивает товар.

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

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

3Превратили административную панель в центр управления бизнесом

Самый большой фронт работ касался административной панели. Нам предстояло сделать из уже существующего управляющего софта гибрид ERP-платформы и аналитической системы. Подробнее расскажем о каждом направлении задач ниже.

Доработка статистики и отчётов

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

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

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

Разработка системы прогнозирования поставок

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

Она собирает статистические данные по продажам:

— сколько продукции поставили;

— в какие автоматы;

— сколько товаров купили;

— по какой цене;

— какая вышла прибыль;

и другие показатели.

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

Теперь поставщикам понятно, какие товары и в каком объёме нужно привезти в конкретный холодильник.

Улучшение системы скидок и промо-акций

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

Наша команда разработала в админке функции, позволяющие:

— устанавливать скидки на конкретные позиции и категории;

— регулировать период, в который действует скидка;

— выбирать минимаркеты, которые участвуют в акции.

Push-уведомления

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

Сделали функцию, через которую можно выбрать группу людей, контекст использования приложения, написать текст уведомления и массово разослать его. Например, если пользователи не заходили в систему месяц и не совершали покупки, можно настроить для них рассылку с промо: «Зайдите в приложение и получите скидку». Более того — пуши можно рассылать не только покупателям, но и поставщикам с партнёрами.

Результат

За 9 месяцев решили много задач — всё в один материал не уместить. Исправили критические баги и сделали сервис прогнозирования продаж. Это значит, что во многих столичных офисах, где установлены микромаркеты Gooddy, жизнь офисных работников стала легче и приятнее, а прибыль владельцев выше!

Комментарий агентства

Анна Сабадаш
Анна Сабадаш

Если вы дошли до этого момента, наверняка у вас остались вопросы — пишите их в комментариях. И подписывайтесь на наш телеграм-канал https://t.me/+e3YmBK7CjcQ2ZTRi — там мы рассказываем о себе чуть больше, чем где бы то ни было. И ведем эфиры с топами бизнеса.

Отзыв клиента

Петров Алексей
Петров Алексей

основатель GOODDY

Мне понравилось взаимодействие с ребятами, спасибо им за отзывчивость и профессионализм.

Мне кажется, что важно приходить к ребятам с объёмом задач, в таком случае, они могут собрать команду именно под ваш проект.

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

Изначально мне казалось, что аутсорсинг/аутстаффинг это дорогая и не удобная модель, но это совсем не так. Мало того, что вы экономите средства на HR, лиде, который будет всем этим управлять и налогах, так вы ещё и получаете в команду проверенных ребят, которые могут затащить любую задачу, а это супер важный поинт.

Бывает так, что попадаешь на разработчиков, которые ковыряются - ковыряются, а по итогу ничего сделать толком не смогли, а часы оплачены. Так что 100% могу рекомендовать Софториум, "дяде Жене" отдельный привет ?


Стек технологий

  • JavaScript JavaScript Язык программирования
  • PHP PHP Язык программирования
  • Yii Yii Фреймворк/библиотека

Выскажите мнение
Авторизуйтесь, чтобы добавить свой комментарий.
оставить заявку

Хотите заказать похожий проект?

Софториум с удовольствием обсудит вашу задачу

Оставить заявку