Обсудить проект
Нажимая на кнопку, вы даете согласие на обработку персональных данных и соглашаетесь c политикой конфиденциальности.
КЕЙС INNERVATE
Как убедить клиентов перестать
возить грузы через Суэцкий канал?
Панель мониторинга «Шанхай-Москва за 20 дней» для FESCO Transportation Group

Разработка power bi, разработка отчетов в power bi, power bi отчеты, power bi графики, внедрение bi, бизнес аналитика. power bi reports

В этом кейсе расскажем о том, как мы настроили панель мониторинга в Power BI для отслеживания результатов эксперимента «Шанхай-Москва за 20 дней» в логистической сфере.
предыстория
Наш клиент — транспортная группа FESCO. В конце 2016 года FESCO запустила проект «Шанхай-Москва за 20 дней» для оптимизации сроков перевозки контейнерных грузов.
До старта проекта среднее время было существенно дольше. Для того, чтобы выполнить перевозку из Шанхая в Москву в такой срок, необходимо выявить все узкие места процесса, оптимизировать информационные потоки и усовершенствовать взаимодействие между различными видами транспорта.
Для выявления узких мест, а также отслеживания прогресса перевозки, клиент составил презентацию-ТЗ:
Задача
Настроить панель мониторинга, которая покажет ситуацию по выполнению сроков во всех этапах перевозки Шанхай-Москва и позволит проконтролировать их, точечно выявив проблемы в задержках. И, главное, панель должна обрабатывать данные автоматически, без ручного труда экспертов.
Kick-off meeting
Собираемся всеми вовлеченными в проект и делим сферы влияния — определяем, кто будет объяснять нам подробности формирования того или иного отчета. Назначены эксперты для каждого их этапов:
Хорошо, идем дальше. Детально прорабатываем первый этап — перевозку по морю. Исходное ТЗ, сформированное клиентом, понятно только собственным программистам, которые знают структуру данных основных информационных систем Заказчика — нам же требуется объяснение:
Заказчик
— Антон, ТЗ непонятно. Давай по-другому: ты же как-то отчитываешься на ваших планерках по своему этапу?
Антон
— Конечно, отчитываюсь: мы к каждой планерке готовим специальный отчет.
Заказчик
— Вручную?
Антон
— Да, вручную, выгружаем из системы данные, немного причесываем их и в Excel рисуем графики.
Заказчик
— ОК, супер, можешь нам показать, как вы готовите этот отчет?
Антон
— Ну конечно :)
Идем на рабочее место к эксперту, наблюдаем за выгрузкой данных, уточняем возникающие по ходу объяснения вопросы.

Просим прислать подробное пошаговое описание того, что делает ответственный сотрудник с данными. Натыкаемся на немое непонимание — зачем? Объясняем:
— Представьте, что завтра выходит на работу новый сотрудник, который за вас будет делать этот отчет. Он очень исполнительный и обязательный, но пока, как и любой новый сотрудник, не понимает всей вашей специфики. Давай напишем ему пошаговую инструкцию, чтобы он как обезьянка повторил её — и получились соответствующие графики.
— ОК, хорошо.
Поручаем манипуляции с данными Power BI
Получили инструкцию по графику
«Транзитное время по морю»:

1
Выгружаем файл из SoftShip.
Инструкции по выгрузке во вложении. Образец файла во вложении.
2
Колонка BG (Place of Receipt)
фильтром выбираем все значения, где есть слово Shangai
3
Колонка BH (Place of Delivery)
фильтром выбираем все значения, где есть слово Moscow
4
Колонка D (Cont. Number)
убираем все пробелы и выполняем сортировку по имени.
5
Колонка BZ
функцией «СОВПАД» находим повторяющиеся номера контейнеров в колонке D и удаляем «задвойки».
6
Колонка CA
функцией «ВПР» выбираем дату постановки на склад из «Сводки ЖДО», о которой писал А.Тараненко.
7
Колонка СС
из CA (Дата постановки на склад) вычитаем BF (Statistic Period).
8
Колонка CD
определяем в категории «До 5 дней» и «Свыше 5».
Транзитный срок ≤5 дней 95% от общего количества контейнеров в рамках заданных параметров отбора
Транзитный срок > 5 дней 5% от общего количества контейнеров в рамках заданных параметров отбора
9
Строим сводную таблицу.
См. «Лист 1» файла «Блок Транзитное время по морю (для WebProfy)»
10
Определяем долю каждой категории
строим график
Параллельно попросили ИТ-эксперта клиента сгенерировать нам соответствующую процедуру в MS SQL Server для получения данных. В SoftShip — одном из программных продуктов, используемых FESCO — это делается за считанные минуты.
Далее начали каждый этап полученной от клиента пошаговой инструкции реализовывать в Power BI
Вот выжимка из нашей сопроводительной документации клиенту, которую мы готовили по ходу реализации:
ТЗ клиента
1. Выгружаем файл из SoftShip. Инструкции по выгрузке во вложении. Образец файла во вложении.

Как это сделано в Power BI
Подключаемся к MS SQL к функции PrivateOffice_fGetInboundBLDetails, указывая firma=TQT; POL=CNSHA; POD=RUVVO; DateFrom=Date.AddDays (DateTime.LocalNow (),-70)
ТЗ клиента
2. Колонка BG (Place of Receipt) — фильтром выбираем все значения, где есть слово Shangai

Как это сделано в Power BI
Так как идет речь о фильтрации данных SoftShip, то добавил фильтры на уровень страницы отчета

Проблемы/вопросы
Это более жесткое условие, по сравнению с POL=CNSHA и POD=RUVVO. Нужно ли в отчетах Юлии и Антона учесть такое же жесткое условие?

Объяснение клиента (Алексей)
Да, нужно указывать обе комбинации фильтров (POL+POD+Place of Receipt). И в отчете Антона и Юли тоже
ТЗ клиента
3. Колонка BH (Place of Delivery) — фильтром выбираем все значения, где есть слово Moscow

Как это сделано в Power BI
Добавил соответствующий фильтр на уровень страницы отчета

Проблемы/вопросы
1) Это более жесткое условие, по сравнению с POL=CNSHA и POD=RUVVO. Нужно ли в отчетах Юлии и Антона учесть такое же жесткое условие?

Объяснение клиента (Алексей)
В отчете Алексея — да, в отчете Антона и Юли — нет?
ТЗ клиента
4. Колонка D (Cont. Number) — убираем все пробелы и выполняем сортировку по имени.

Как это сделано в Power BI
Номера контейнеров в SoftShip разделены пробелом, надо удалять его оттуда. Сделано в отдельном столбце «Concatenated Cont. Number», формула в Note к этой ячейке
ТЗ клиента
5. Колонка BZ — функцией «СОВПАД» находим повторяющиеся номера контейнеров в колонке D и удаляем «задвойки».
Как это сделано в Power BI
Count (Distinct) спасет отца русской демократии? Проверить

Проблемы/вопросы
1) Каков физический смысл этих задвоек? Как еще можно обойти необходимость такого удаления данных? Например, мы можем связать данные с ФИТ/1С или выгрузкой ТДГ, по какому-либо составному/вычисляемому ключу, как это делаем в графиках Юлии/Антона

Объяснение клиента (Алексей)
В SS одна строка = коносаменту, который является документом на груз в контейнере. На один контейнер может быть выписано два и более коносаментов, если внутри груз от двух и более отправителей. В отчетных данных у нас единица учета контейнер. Если не удалять данные, то получится, что мы статистику вносим одну и ту же единица два и более раз. Как не удалять не знаю, иначе давно бы исключили эту операцию.
ТЗ клиента
6. Колонка CA — функцией «ВПР» выираем дату постановки на склад из «Сводки ЖДО», о которой писал А.Тараненко.

Как это сделано в Power BI
Добавляем расчетный столбец в данные из SoftShip, формула справа:
ТЗ клиента
7. Колонка С С — из CA (Дата постановки на склад) вычитаем BF (Statistic Period).

Как это сделано в Power BI
Добавляем расчетный столбец в данные из SoftShip, формула справа:
ТЗ клиента
8. Колонка CD — определяем в категории «До 5 дней» и «Свыше 5».

Транзитный срок ≤5 дней 95% от общего количества контейнеров в рамках заданных параметров отбора

Транзитный срок > 5 дней 5% от общего количества контейнеров в рамках заданных параметров отбора

Как это сделано в Power BI
Сгруппировал по полю «ФИТ.Дата постановки на склад»
ТЗ клиента
9. Строим сводную таблицу. См. «Лист 1» файла «Блок Транзитное время по морю (для WebProfy)»

Как это сделано в Power BI
Настроил график
ТЗ клиента
10. Определяем долю каждой категории.



Как это сделано в Power BI
Cтроим график
Вуаля, готово!

Остается немного причесать графики: раскрасить в фирменные цвета и убрать пустые значения
(это еще незавершенные перевозки по соответствующему этапу),
и можно переставать делать графики вручную.
Общая схема потоков данных
Подобные вышеописанным манипуляции мы проделали с каждым графиком, и в итоге общая схема получения и обработки данных получилась такая:
Первые телевизоры
Однажды мы пришли в офис клиента, и увидели свежераспакованный телевизор, на котором мы увидели свою первую версию панели :) Мы тут же ее раскрасили и получилось вот такая красота:
QR-коды ведут на динамические версии отчетов, разработанный нами личный кабинет и разработанный нами официальный сайт группы FESCO. Видео снимали не мы, но оно очень органично встроилось в эту панель.
Панель мониторинга – версия 2.0
Спустя полгода мы наконец стали получать данные напрямую из одной системы клиента в максимально удобном виде. Тогда мы сделали панель «Шанхай-Москва за 20 дней, версии 2.0»
Детальный отчет по этапам перевозки
Первый тип отчета — это детальные отчеты по каждому этапу перевозки.

Основная информация, которую мы использовали для отчетов, это даты.

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

Рассмотрим этот отчет подробнее на примере отчета по этапу Таможенное оформление.
График (1) показывает количество перевозок (в %).

Перевозки сгруппированы по длительности этапа (в данном случае этапа таможенного оформления). У определенного количества перевозок этот этап занял 1−3 дня, а у других — 4−7 дня, у третьих же — более 7 дней.
Графики (2) и (3) повторяют график (1), но у них настроен фильтр данных за последние 30 дней и 7 дней соответственно.
Слайсеры и чек-боксы (5) позволяют выбрать период дат или отфильтровать данные по другим особенностям этапа (например, типу таможенного режима или виду декларанта).
В таблице (4) можно посмотреть информацию уже по конкретным перевозкам. В ней выводится такая подробная заявка о перевозке. Первый столбец таблицы отображает количество дней, которое заняло прохождение этапа у данной конкретной перевозки. Цветовая дифференциация позволяет глазу выделить те перевозки, у которых этап занял слишком много времени.
Обнаружив такие перевозки менеджеры смогут детально разобраться в проблеме и найти ее источник — ответить на вопросы: почему этот груз так долго проходил таможенное оформление? Как можно было ускорить процесс? Может быть клиент не успел подать таможенные документы? А если клиент был не оповещен о необходимости подать документы? Как оповещать клиента оперативно?
Заключение и итоги работы
В качестве заключения приведем выдержку из пресс-релиза FESCO:
За год реализации проекта «Шанхай-Москва за 20 дней» с декабря 2016 года Транспортная группа FESCO сократила средний срок доставки грузов из Шанхая в Москву через порт Владивосток на шесть дней, с 31 до 25.
60%
контейнеров за 25 дней
Теперь менее чем за 25 дней FESCO перевозит 60% контейнеров
30%
грузов в Москву за 15−20 дней
При этом за 15−20 дней в Москву транспортируется более 30% грузов, то есть почти каждый третий контейнер
28%
грузов за 21−25 дней
Транспортируется за 21−25 дней
Ссылка на пресс-релиз на официальном сайте FESCO Transportation Group: http://www.fesco.ru/press-center/news/24 698/
Спасибо за внимание!
Контакты
+7 (495) 585-08-02
hello@innervate.ru
Ленинский проспект, 30А