ДМИТРИЙ СЛИНЬКОВ
10 советов по моделированию данных
Нет такой вещи, как «перегрузка информацией». Есть только плохой дизайн модели данных.

Edward Tufte
Моделирование данных и моделирование бизнеса — не всегда одно и то же, но… Данные есть данные. О бизнесе они или о демографии неимущих слоев планетарного населения.
1
Разбейте бизнес на объекты. Если вы не знакомы с основами объектно-ориентированного программирования [1], значит… Просто разбейте бизнес на объекты.
[1] Объе́ктно-ориенти́рованное программи́рование (ООП) — методология программирования, основанная на представлении программы в виде совокупности объектов, каждый из которых является экземпляром определённого класса, а классы образуют иерархию наследования. Источник Википедия.
Объектом может быть что угодно: счета, капэшки, презентации, прайс-листы, инструкции, веб-страницы, не говоря уж о товарах и даже услугах. Человеко-час тоже объект! Первое, что вам захочется сделать, начав выделять объекты — группировать их в иерархии. Иначе запутаетесь. Второе — спросить меня: «Зачем это делать?». Отвечаю: с высокой долей вероятности все ваши объекты будут таблицами или просто некими массивами данных. Конечно, массив массиву рознь. И пояснить это мы спешим в следующем совете.
2
Если объектов (например, счетов-фактур) много, если они более-менее однотипны и (самое главное!) если они релевантны вашей решаемой сейчас задаче, значит, смело можете называть это семейство объектов измерением. Вот ровно как в нашем с вами мире существуют три измерения, так и здесь. Ваша модель может содержать измерения «статьи затрат», «товарные наименования», «персонал» и так далее. Каждая статья при этом, каждое SKU и каждый отдельный сотрудник будут играть роль элементов измерения.
3
Сложите все необходимые вам измерения в единый многомерный куб. Сложно представить, как это сделать? Читайте дальше — будет легче.
4
Определите атрибуты элементов измерений. У бюджетов бывают версии. У персонала фамилия, имя, год рождения. Все эти атрибуты являются уникальными именно для данного измерения. Бывают, конечно, такие многовариантные измерения, как «должность» — за ней кроется целая структура компании. Поэтому сама структура компании — это иерархически устроенное измерение, играющее роль атрибута по отношению к измерению «персонал».
5
Определите базовые измерения. Это святая святых вашей бизнес-модели. Самый классический пример — измерение «время». Оно иерархическое (годы, кварталы, месяцы) и неизменное по отношению к любому другому измерению вашей модели. Изменение базового измерения обычно приводит к весьма кардинальной переделке (если не к крэшу) всей модели.
6
Отразите ваши измерения в Excel. По сути, вы получите количество вкладок, равное количеству измерений. Дальше к этим вкладкам будут добавляться отчетно-прогнозные формы, которые де-факто будут являться пересечениями тех или иных измерений. Пример: отчет о продажах содержит пересечение измерений «продавец», «клиент», «товарная единица», «временной период», «категория рынка».
7
Пример измерений в самой простенькой финансовой модели (если хотите получить эту или какую-либо другую модель, упомянутую в данной книге, вступайте в Фейсбук-группу Ah!Report по ссылке):
8
Ваша многомерная модель данных в классике ИТ является OLAP-кубом. Когда вы постигните «кубическое» мышление, задача построения отчетности любой сложности станет для вас интересной и решаемой: по крайней мере на стадии составления задания на разработку.
9
Чтобы Excel не вызвал у вас отвращения, на более сложных задачах рекомендую использовать какую-либо аналитическую систему, начиная с бесплатных типа www.seektable.com и заканчивая более продвинутыми, но, увы, стоящими некоторых денег (о выборе аналитической системы будет отдельный разговор). О том, как такую систему выбрать, мы расскажем в одном из следующих разделов. Судите сами: совсем недавно автору этих строк пришлось выстраивать модель, в которой было всего пять продуктов, но… Нужно было спрогнозировать их реализацию сотням тысяч потребителей через десятки каналов. Традиционный в таких случаях Excel не выдержал еще на стадии составления прогнозного отчета о прибылях и убытках.
10
Главный признак того, что вы построили хорошую финмодель: она позволяет делать «сверление» данных. Из чего складывается сумма OPEX-затрат за третий квартал 2022 года? Клик — и вы видите разбивку по месяцам, клик — и вот уже сами затраты на то, на се предстали перед вами. И еще (то есть признаков «хорошести» модели все-таки два): вашу модель могут прочитать другие аналитики. Пожалуй, последнее очень и очень важно!
Хотите заказать разработку управленческой отчетности?
Photo by Casey Horner on Unsplash,
marketoonist.com,
www.betterbuys.com,
www.sisense.com