Главная 📦 Складские услуги 🚛 Доставка 🎁 Копакинг 🌍 Таможенная логистика 📈 Оптимизация логистики 🏙 Городская логистика Отрасли О компании Блог Контакты
📞 +7 (495) 108-04-84 ✉️ mail@logangels.com
✈️ Telegram 💬 WhatsApp 💫 Max 💬 WeChat
🇷🇺 RU 🇬🇧 EN 🇨🇳 ZH 🇫🇷 FR 🇩🇪 DE
Оставить заявку

День восьмой: NULL в каждой строке и дыра в 17 миллионов

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

Баг, который обнуляет всё

Помните дашборд с рейтингом операторов? Тот, где разница между лучшим и худшим — в 34 раза? Мы строили его на данных ТСД — терминалов сбора данных. Каждое сканирование привязано к сотруднику. Или так мы думали.

IT-специалист полез глубже — в таблицу tsd_selections, где фиксируются операции отбора товара. Это ключевая таблица для оценки производительности: кто собрал заказ, сколько позиций, за какое время. И обнаружил: поле employee_id — NULL. Не в некоторых записях. Во всех.

Каждая операция отбора записана. Время, ячейка, товар, количество — всё на месте. Но кто это сделал — неизвестно. Система просто не сохраняла ссылку на сотрудника.

Представьте бухгалтерию, где все проводки записаны, но ни на одной нет подписи. Деньги двигаются, но кто их двигает — загадка.

Расследование

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

Вторая гипотеза — данные есть, но в другой таблице. Прошерстили связанные таблицы: tsd_operations, tsd_inventory, warehouse_tasks. В tsd_operations employee_id заполняется корректно — операции приёмки, перемещения, инвентаризации привязаны к людям. А вот отбор — нет.

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

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

Финансовый отчёт: цифры, которые отрезвляют

Параллельно с расследованием бага — финансовый аналитик собрал отчёт за апрель. Цифры серьёзные.

Выручка — 22,3 миллиона рублей. Звучит неплохо, пока не сравнишь с целью: 39,6 миллиона. GAP — 17,3 миллиона. Почти половину плана не добрали.

Почему? Несколько факторов. Сезонность — апрель традиционно слабее марта. Уход двух крупных клиентов в конце первого квартала — минус 4-5 миллионов в месяц. Задержки с онбордингом новых клиентов — договоры подписаны, товар ещё не завезён.

Но самое тревожное — структура расходов. Овердрафт по ИП — 94,8%. Это значит, что кредитная линия практически исчерпана. Ещё один слабый месяц — и буфер закончится.

Дебиторка: деньги, которые должны нам

Отдельная боль — дебиторская задолженность. Клиенты должны компании значительные суммы. Часть — текущая (срок оплаты не наступил). Часть — просроченная.

Финансовый аналитик разбил дебиторку по возрасту: до 30 дней, 30-60, 60-90, свыше 90. Самая опасная категория — «свыше 90 дней». Это деньги, которые с каждым месяцем всё менее вероятно получить.

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

Связь между багом и деньгами

На первый взгляд, NULL в employee_id и финансовый GAP — разные проблемы. Но если посмотреть шире — они про одно: компания не видит, что происходит внутри.

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

Каждый «невидимый» процесс — это деньги, которые утекают незаметно. Не в один момент, а по капле, каждый день.

Что делаем

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

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

Следите за блогом — завтра расскажу, как мы разделили рекламный бюджет на два сайта и перестроили воронку. А если вашему бизнесу нужен фулфилмент с прозрачной аналитикой — оставьте заявку на logangels.com.

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Прокрутить вверх