Мощность и загрузка нескольких площадок
Каждая площадка считала выход по-своему. Версии норм, рабочие графики, исключения — в разных источниках и с разными датами действия. Итоговую цифру нельзя было ни объяснить, ни безопасно поправить.
Задал единую детализацию. Развёл фактический и расчётный слои. Описал версии правил и исключения, добавил проверки и журнал решений.
Модель живёт в регулярной аналитике и в материалах для руководства. По любому критичному числу поднимается источник, правило и статус проверки.
Модель живёт и дорабатывается: правила уточняются, когда всплывают новые исключения.
Общий слой вместо десяти копий
Несколько отчётных процессов перемалывали одни и те же исходники по отдельности. Правку нужно было вносить в каждый. Тяжёлые отчёты обновлялись десятками минут.
Собрал переиспользуемый промежуточный слой на той платформе, что была доступна. Заранее нашёл её предел и описал границу будущего переезда — чтобы решение не стало тупиком через год.
Слой стал общим источником сразу для нескольких направлений.
было~20 мин
стало2–3 мин
в проверенных сценариях быстрее в 5–10 раз
Один и тот же слой теперь питает несколько отчётов: правку вносят в одном месте, а не в каждом.
Сырьевые показатели до закрытия месяца
Площадки вели свои файлы, каждая со своими правилами. Дальше это ещё раз сводили вручную. Как идёт текущий месяц, узнавали, когда он заканчивался.
Формализовал логику каждой площадки, построил динамическую модель и устойчивый импорт, отделил исходные показатели от производных.
Обновление всего контура — около десяти минут. Цифру текущего месяца видно до закрытия периода. Этими же данными пользуются финансы, планирование и качество.
Собрано на той платформе, что была под рукой: работать начали сразу, не дожидаясь бюджета на новую систему.
Техническая часть
Восемнадцать часов работы уложились в шесть минут
Мастер импорта в графическом интерфейсе показывал прогноз около восемнадцати часов. Скрипт с построчной сверкой уложился в 5,87 минуты и не потерял ни одной строки.
- Строк
- 1 374 493
- Объём
- 371,54МБ
- Полей
- 33
- Брака
- 0
мастер импорта≈18 ч
скрипт5,87 мин
в 184 раза быстрее
Отдельно: ежедневный отчёт для руководства собирался 30–60 минут, стал 10–15. Файл похудел вдвое. Процесс описан и передан другому аналитику. Работа сделана не когда она работает, а когда работает без меня.