Набор моделей в excel

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

Прежде чем приступить к работе с моделью данных, необходимо получить некоторые данные. Для этого мы будем использовать интерфейс Get & Transform (Power Query), поэтому вам может потребоваться выполнить шаг назад и посмотреть видео, или следуйте нашему руководству по обучению по get & Transform и Power Pivot.


Где есть Power Pivot?

  • Excel 2016 & Excel для Microsoft 365 — Power Pivot включен в ленту.

  • Excel 2013 — Power Pivot входит в Office профессиональный плюс Excel 2013, но не включен по умолчанию. Дополнительные сведения о запуске надстройки Power Pivot для Excel 2013.

  • Excel 2010 — скачайте надстройку Power Pivot, а затем установите надстройку Power Pivot.


Где находится get & Transform (Power Query)?

  • Excel 2016 & Excel для Microsoft 365 . Get & Transform (Power Query) интегрировано с Excel на вкладке «Данные«.

  • Excel 2013 — Power Query — это надстройка, которая входит в Excel, но ее необходимо активировать. Перейдите к разделу «Параметры >» > надстроек, а затем в раскрывающемся списке «Управление» в нижней части панели выберите com-надстройки > Go. Проверьте microsoft Power Query Excel, а затем ОК, чтобы активировать его. На Power Query будет добавлена вкладка Power Query.

  • Excel 2010 — скачивание и установка Power Query надстройки.. После активации на ленту Power Query вкладки.

Начало работы

Сначала необходимо получить некоторые данные.

  1. В Excel 2016 и Excel для Microsoft 365 используйте data >Get & Transform Data > Get Data > Get Data to import data from any number of external data sources, such as a text file, Excel workbook, website, Microsoft Access, SQL Server, or another relational database that contains multiple related tables.

    В Excel 2013 и 2010 перейдите к Power Query >получения внешних данных и выберите источник данных.

  2. Excel предложит выбрать таблицу. Если вы хотите получить несколько таблиц из одного источника данных, установите флажок «Включить выбор нескольких таблиц «. При выборе нескольких таблиц Excel автоматически создает модель данных.

    Примечание: В этих примерах мы используем книгу Excel с вымышленными сведениями о классах и оценках учащихся. Вы можете скачать пример книги модели данных учащихся и следовать инструкциям. Вы также можете скачать версию с готовой моделью данных..

    Получение & преобразования (Power Query) Навигатор

  3. Выберите одну или несколько таблиц и нажмите кнопку «Загрузить «.

    Если необходимо изменить исходные данные, можно выбрать параметр «Изменить «. Дополнительные сведения см. в статье «Общие сведения Редактор запросов (Power Query)».

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

Примечания: 

  • Модели создаются неявно, когда вы импортируете в Excel несколько таблиц одновременно.

  • Модели создаются явно, если вы импортируете данные с помощью надстройки Power Pivot. В надстройке модель представлена в макете с вкладками, аналогичном Excel, где каждая вкладка содержит табличные данные. Дополнительные сведения об импорте данных с помощью надстройки Power Pivotсм. в статье «Получение данных с помощью SQL Server данных».

  • Модель может содержать одну таблицу. Чтобы создать модель на основе только одной таблицы, выберите таблицу и нажмите кнопку Добавить в модель данных в Power Pivot. Это может понадобиться в том случае, если вы хотите использовать функции Power Pivot, например отфильтрованные наборы данных, вычисляемые столбцы, вычисляемые поля, ключевые показатели эффективности и иерархии.

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

  • Советы по сокращению размера модели данных см. в статье «Создание модели данных, оптимизированной для памяти, с помощью Excel и Power Pivot».

  • Дополнительные сведения см. в руководстве по импорту данных в Excel и созданию модели данных.

Создание связей между таблицами

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

  1. Перейдите в power Pivot > Manage.

  2. На вкладке « Главная» выберите » Представление схемы».

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

  4. Затем перетащите поле первичного ключа из одной таблицы в следующую. В следующем примере показано представление схемы таблиц учащихся.

    Power Query представления схемы связей модели данных

    Мы создали следующие ссылки:

    • tbl_Students | Идентификатор учащегося > tbl_Grades | Идентификатор учащегося

      Другими словами, перетащите поле «Идентификатор учащегося» из таблицы «Учащиеся» в поле «Идентификатор учащегося» в таблице «Оценки».

    • tbl_Semesters | Идентификаторы > tbl_Grades | Семестр

    • tbl_Classes | Номер класса > tbl_Grades | Номер класса

    Примечания: 

    • Имена полей не обязательно должны совпадать для создания связи, но они должны быть одинаковыми типами данных.

    • Соединители в представлении схемы имеют «1» с одной стороны, а «*» — с другой. Это означает, что между таблицами существует связь «один ко многим», которая определяет, как данные используются в сводных таблицах. См. дополнительные сведения о связях между таблицами в модели данных.

    • Соединители указывают только на наличие связи между таблицами. На самом деле они не показывают, какие поля связаны друг с другом. Чтобы просмотреть ссылки, перейдите в раздел Power Pivot > Manage > Design > Relationships > Управление связями. В Excel можно перейти к разделу «>данных».

Создание сводной таблицы или сводной диаграммы с помощью модели данных

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

  1. В Power Pivotперейдите к разделу » Управление».

  2. На вкладке « Главная» выберите сводную таблицу.

  3. Выберите место размещения сводной таблицы: новый лист или текущее расположение.

  4. Нажмите кнопку «ОК», и Excel добавит пустую сводную таблицу с областью списка полей справа.

    Список полей сводной таблицы Power Pivot

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

Добавление имеющихся несвязанных данных в модель данных

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

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

  2. Добавьте данные одним из следующих способов.

  3. Щелкните Power Pivot > Добавить в модель данных.

  4. Выберите Вставка > Сводная таблица и установите флажок Добавить эти данные в модель данных в диалоговом окне «Создание сводной таблицы».

Диапазон или таблица будут добавлены в модель как связанная таблица. Дополнительные сведения о работе со связанными таблицами в модели см. в статье Добавление данных с помощью связанных таблиц Excel в Power Pivot.

Добавление данных в таблицу Power Pivot данных

В Power Pivot невозможно добавить строку в таблицу, введя текст непосредственно в новой строке, как это можно сделать на листе Excel. Но можно добавить строки , скопируйте и вставьте или обновите исходные данные и обновите модель Power Pivot.

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.

См. также

Ознакомьтесь & по преобразованию и обучению Power Pivot

Общие сведения о редакторе запросов (Power Query)

Создание модели данных, оптимизированной для памяти, с помощью Excel и Power Pivot

Руководство. Импорт данных в Excel и создание модели данных

Определение источников данных, используемых в модели данных книги

Связи между таблицами в модели данных

Преимущества сводной по Модели Данных

При построении сводной таблицы в Excel в первом же диалоговом окне, где нас просят задать исходный диапазон и выбрать место для вставки сводной, есть внизу неприметная, но очень важная галочка — Добавить эти данные в Модель Данных (Add this data to Data Model) и, чуть выше, переключатель Использовать модель данных этой книги (Use Data Model of this workbook):

Построение сводной по модели данных

К сожалению, очень многие даже давно знакомые со сводными таблицами и успешно применяющие их в работе пользователи, порой не очень понимают смысл этих опций и никогда их не используют. И зря. Ведь создание сводной по Модели Данных даёт нам несколько очень важных преимуществ по сравнению с классической сводной таблицей Excel.

Однако, перед тем, как рассматривать эти «плюшки» вблизи, давайте сначала разберёмся с тем, что такое, собственно, эта Модель Данных?

Что такое Модель Данных

Модель Данных (сокращенно — МД или DM=Data Model) — это специальная область внутри файла Excel, куда можно где можно хранить табличные данные — одну или несколько таблиц связанных, при желании, между собой. По сути, это маленькая база данных (OLAP-куб), встроенная внутрь книги Excel. По сравнению с классическим хранением данных в виде обычных (или умных) таблиц на листах самого Excel, у Модели Данных есть несколько серьезных преимуществ:

  • Размер таблиц может достигать 2 млрд. строк, а на лист Excel вмещается чуть больше 1 млн.
  • Не смотря на гигантские размеры, обработка таких таблиц (фильтрация, сортировка, вычисления по ним, построение сводных и т.д.) выполняются очень быстро — гораздо быстрее, чем в самом Excel.
  • С данными в Модели можно производить дополнительные (при желании — весьма сложные) вычисления с помощью встроенного языка DAX.
  • Вся информация, загруженная в Модель Данных, очень сильно сжимается с помощью специального встроенного архиватора и весьма умеренно увеличивает размер исходного Excel-файла.

Управлением Моделью и вычислениями по ней занимается специальная встроенная в Microsoft Excel надстройка — Power Pivot, о которой я уже писал. Чтобы её включить, на вкладке Разработчик нажмите кнопку Надстройки COM (Developer — COM Add-ins) и поставьте соответствующую галочку:

Подключаем надстройку Power Pivot

Если вкладки Разработчик (Developer) у вас на ленте не видно, то включить её можно через Файл — Параметры — Настройка ленты (File — Options — Customize Ribbon). Если же в показанном выше окне в списке COM-надстроек у вас нет Power Pivot, то значит она не входит в вашу версию Microsoft Office :(

На появившейся вкладке Power Pivot будет большая салатового цвета кнопка Управление (Manage), нажатие на которую и откроет поверх Excel окно Power Pivot, где мы и увидим содержимое Модели Данных текущей книги:

Главное окно Power Pivot

Важное замечание по ходу: книга Excel может содержать только одну Модель Данных.

Грузим таблицы в Модель Данных

Для загрузки данных в Модель сначала превращаем таблицу в динамическую «умную» сочетанием клавиш Ctrl+T и даём ей понятное имя на вкладке Конструктор (Design). Это обязательный этап.

Затем можно использовать любой из трех способов, на выбор:

  • Жмём кнопку Добавить в модель (Add to Data Model) на вкладке Power Pivot на вкладке Главная (Home).
  • Выбираем команды Вставка — Сводная таблица (Insert — Pivot Table) и включаем флажок Добавить эти данные в Модель данных (Add this data to Data Model). В этом случае по загруженным в Модель данным сразу строится ещё и сводная таблица.
  • На вкладке Данные (Data) жмём на кнопку Из таблицы/диапазона (From Table/Range), чтобы загрузить нашу таблицу в редактор Power Query. Этот путь самый долгий, но, при желании, здесь можно произвести дополнительную зачистку данных, правки и всяческие трансформации, в которых Power Query очень силён.
    Затем причёсанные данные выгружаются в Модель командой Главная — Закрыть и загрузить — Закрыть и загрузить в… (Home — Close&Load — Close&Load to…). В открывшемся окне выбираем вариант Только создать подключение (Only create connection) и, главное, ставим галочку Добавить эти данные в Модель данных (Add this data to Data Model).

Строим сводную по Модели Данных

Чтобы построить сводную Модели Данных можно использовать любой из трёх подходов:

  • Нажать кнопку Сводная таблица (Pivot Table) в окне Power Pivot.
  • Выбрать в Excel команды Вставка — Сводная таблица и переключиться в режим Использовать модель данных этой книги (Insert — Pivot Table — Use this workbook’s Data Model).
  • Выбираем команды Вставка — Сводная таблица (Insert — Pivot Table) и включаем флажок Добавить эти данные в Модель данных (Add this data to Data Model). Текущая «умная» таблица будет загружена в Модель и по всей Модели будет построена сводная таблица.

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

Преимущество 1. Связи между таблицами без помощи формул

Обычная сводная может быть построена только по данным из одной исходной таблицы. Если же у вас их несколько, например, продажи, прайс, справочник по клиентам, реестр договоров и т.д., то сначала придется собирать данные из всех таблиц в одну с помощью функций типа ВПР (VLOOKUP), ИНДЕКС (INDEX), ПОИСКПОЗ (MATCH), СУММЕСЛИМН (SUMIFS) и им подобных. Это долго, муторно и вгоняет ваш Excel в «задумчивость» при большом количестве данных.

В случае сводной по Модели Данных всё гораздо проще. Достаточно один раз настроить связи между таблицами в окне Power Pivot — и дело в шляпе. Для этого на вкладке Power Pivot жмём кнопку Управление (Manage) и затем в появившемся окне — кнопку Представление диаграммы (Diagram View). Останется перетащить общие (ключевые) названия столбцов (поля) между таблицами, чтобы создать связи:

Создание связей между таблицами

После этого в сводной по Модели Данных можно закидывать в области сводной (строки, столбцы, фильтры, значения) любые поля из любых связанных таблиц — всё будет связываться и подсчитываться уже автоматически:

Строим сводну по модели

Преимущество 2. Подсчёт количества уникальных значений

Обычная сводная таблица даёт нам возможность выбрать одну из нескольких встроенных функций расчёта: сумму, среднее, количество, минимум, максимум и т.д. В сводной по Модели Данных к этому стандартному списку добавляется весьма полезная функция подсчёта количества уникальных (неповторяющихся значений). С её помощью, например, можно легко посчитать количество уникальных наименований товаров (ассортимент), который мы продаём в каждом городе.

Щёлкаем правой кнопкой мыши по полю — команда Параметры полей значений и на вкладке Операция выбираем Число разных элементов (Distinct count):

Посчет количества уникальных элементов

Преимущество 3. Свои формулы на языке DAX

Иногда в сводных таблицах приходится выполнять различные дополнительные вычисления. В обычных сводных это делается с помощью вычисляемых полей и объектов, а сводной по Модели Данных для этого используются меры на специальном языке DAX (DAX = Data Analysis Expressions).

Для создания меры выберите на вкладке Power Pivot команду Меры — Создать меру (Measures — New measure) или просто щёлкните правой кнопкой мыши по таблице в списке полей сводной и выберите Добавить меру (Add measure) в контекстном меню:

Добавляем меру

В открывшемся окне задаём:

Параметры меры

  • Имя таблицы, где созданная мера будет храниться.
  • Название меры — любое понятное вам имя для нового поля.
  • Описание — по желанию.
  • Формула — самое главное, т.к. здесь мы либо вручную вписываем, либо жмём на кнопку fx и выбираем из списка функцию DAX, которая должна вычислять результат, когда мы потом забросим нашу меру в область Значений.
  • В нижней части окна можно сразу задать для меры числовой формат в списке Категория.

Язык DAX не всегда прост для понимания, т.к. оперирует не отдельными значениями, а целыми столбцами и таблицами, т.е. требует некоторой перестройки мышления после классических формул Excel. Однако же, оно того стоит, ибо мощь его возможностей при обработке больших объемов данных трудно переоценить.

Преимущество 4. Свои иерархии полей

Часто при создании типовых отчётов приходится забрасывать в сводные таблицы одни и те же комбинации полей в заданной последовательности, например Год-Квартал-Месяц-День, или Категория-Товар, или Страна-Город-Клиент и т.п. В сводной по Модели Данных эта проблема легко решается созданием собственных иерархий — пользовательских наборов полей.

В окне Power Pivot переключитесь в режим диаграммы кнопкой Представление диаграммы на вкладке Главная (Home — Diagram View), выделите с Ctrl нужные поля и щёлкните по ним правой кнопкой мыши. В контекстном меню будет команда Создать иерархию (Create hierarchy):

Создание иерархии полей

Созданную иерархию можно переименовать и перетащить в неё мышью требуемые поля, чтобы потом в одно движение забрасывать их в сводную:

Добавление иерархии в сводную

Преимущество 5. Свои наборы элементов

Продолжая идею предыдущего пункта, в сводной по Модели Данных можно создавать ещё и свои наборы элементов для каждого поля. Например, из всего списка городов можно легко сделать набор только из тех, которые входят в зону вашей ответственности. Или собрать в специальный набор только своих клиентов, свои товары и т.п.

Для этого на вкладке Анализ сводной таблицы в выпадающем списке Поля, элементы и наборы есть соответствующие команды (Analyze — Fields, Items & Sets — Create set based on row/column items):

Создание наборов в сводной по модели данных

В открывшемся окне можно выборочно удалить, добавить или поменять положение любых элементов и сохранить получившийся набор под новым именем:

Создаем набор

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

Созданные наборы в панели полей сводной таблицы

Преимущество 6. Выборочное скрытие таблиц и столбцов

Это хоть и небольшое, но весьма приятное в некоторых случаях преимущество. Щёлкнув правой кнопкой мыши по названию поля или по ярлычку таблицы в окне Power Pivot, можно выбрать команду Скрыть из набора клиентских средств (Hide from Client Tools):

Скрываем поле или таблицу от пользователя

Скрытый столбец или таблица пропадут из панели со списком полей сводной таблицы. Очень удобно, если вам требуется скрыть от пользователя некоторые вспомогательные столбцы (например, расчетные или столбцы с ключевыми значениями для создания связей) или даже целые таблицы.

Преимущество 7. Продвинутый drill-down

Если в обычной сводной таблице сделать двойной щелчок левой кнопкой мыши по любой ячейке в области значений, то Excel выводит на отдельном листе копию фрагмента исходных данных, которые участвовали в расчёте этой ячейки. Это очень удобная штука, официально называющаяся Drill-down (на русском обычно говорят «провалиться»).

В сводной по Модели Данных этот удобный инструмент работает более тонко. Встав на любую интересующую нас ячейку с результатом, можно щёлкнуть по всплывающему рядом значку с лупой (он называется Экспресс-тенденции) и выбрать затем любое интересующее вас поле в любой связанной таблице:

Экспресс-тенденции

После этого текущее значение (Модель = Explorer) уйдет в область фильтра, а сводная будет построена уже по офисам:

Результат drill-down

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

Преимущество 8. Преобразование сводной в функции кубов

Если выделить любую ячейку в сводной по Модели Данных и выбрать затем на вкладке Анализ сводной таблицы команду Средства OLAP — Преобразовать в формулы (Analyze — OLAP Tools — Convert to formulas), то вся сводная будет автоматически преобразована в формулы. Теперь значения полей в области строк-столбцов и результаты в области значений будут извлекаться из Модели Данных с помощью специальных функций кубов: КУБЗНАЧЕНИЕ и КУБЭЛЕМЕНТ:

Преобразование сводной в функции кубов

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

При этом связь с исходными данными, само-собой, остается и в будущем эти формулы будут обновляться при изменении источников. Красота!

Ссылки по теме

  • План-факт анализ в сводной таблице с Power Pivot и Power Query
  • Сводная по таблице с многострочной шапкой
  • Создание базы данных в Excel с помощью Power Pivot

 

Время на прочтение
9 мин

Количество просмотров 12K

К старту курса о машинном и глубоком обучении делимся переводом статьи, автор которой показывает на практике, как модель машинного обучения может использоваться через Excel. Зачем это нужно? Компании больше и больше вкладывают в исследования и разработку моделей прогнозов; по мнению автора оригинала статьи, разработчика и основателя компании PyXLL доступ к ML-моделям через Excel открывает новые горизонты. Вы сможете показать модель пользователям Excel, у которых нет опыта программирования или широких знаний в области статистики. При желании можно создавать инструменты разработки и тренировки моделей полностью в Excel, например строить графы в TensorFlow. Весь исходный код из статьи доступен на GitHub.


Надстройка Excel PyXLL встраивает Python в Excel и позволяет расширять возможности Excel через Python. С помощью этой надстройки мы можем добавлять новые функции, макросы, меню и в целом перенести преимущества экосистемы Python и машинное обучение прямо в Excel. К концу статьи мы построим модель классификации животных.

Python для Machine Learning

Python хорошо подходит для машинного обучения, у него большой массив поддерживаемых пакетов, упрощающих программирование и сокращающих время разработки. ML и DL очень хорошо поддерживаются несколькими пакетами, поэтому Python — идеальный выбор. Посмотрим на распространённые пакеты для ML на Python.

Scikit-Learn

Пакет scikit-learn — это лаконичный и последовательный интерфейс к общим алгоритмам ML, упрощая введение ML в производственные системы. Библиотека сочетает высокую производительность, де-факто она отраслевой стандарт машинного обучения на Python. В статье мы будем работать именно с ней.

TensorFlow

TensorFlow от Google. Эта библиотека с открытым исходным кодом для расчёта графов потоков данных оптимизирована для целей ML. Она была разработана, чтобы удовлетворять высоким требованиям обучения нейронных сетей в среде Google и является преемницей DistBelief — основанной на нейронных сетях системы глубокого обучения, применяется в пограничных областях исследований Google.

Впрочем, TensorFlow не строго научна и достаточно обобщена, чтобы применяться в различных прикладных задачах. Ключевая особенность TensorFlow — многослойная система узлов, которая быстро тренирует сети искусственного интеллекта на больших наборах данных. В Google это даёт возможность распознавать голос и находить объекты на изображениях.

Keras

Keras — написанная на Python Open Source библиотека для нейронных сетей. Она способна работать поверх TensorFlow, Microsoft Cognitive Toolkit или Theano и имеет архитектуру, которая позволяет быстро проводить эксперименты с глубоким обучением и сосредоточена на модульности, расширяемости и удобстве пользователя. Из документации следует, что работать с Keras можно, когда вам нужна библиотека глубокого обучения, которая:

  • Обладая перечисленными выше преимуществами, позволяет просто и быстро прототипировать решения.

  • Поддерживает свёрточные и рекуррентные нейронные сети, а также их комбинирование.

  • Без проблем работает на CPU и GPU.

PyTorch

PyTorch — это научный вычислительный пакет на Python, он работает в двух направлениях:

  • Как замена NumPy с возможностью задействовать графические процессоры.

  • Как платформа исследования Deep Learning с максимумом гибкости и скорости.

Деревья решений

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

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

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

Тренировка модели

Натренируем модель классифицировать животных при помощи деревьев решений. Воспользуемся для этого набором данных UCI Zoo Data Set из 101 животного, в наборе 17 логических признаков и один признак, который мы будем прогнозировать.

Для загрузки данных воспользуемся pandas, а для построения дерева — scikit-learn. Загрузим данные во фрейм Pandas, разделим на признаки и целевой класс, то есть класс животного. Затем разделим данные на тренировочный и тестовый наборы. Scikit-Learn использует тренировочный набор для обучения деревьев, а тестовый резервируется для проверки точности модели.

from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split
import pandas as pd

# Read the input csv file
dataset = pd.read_csv("zoo.csv")

# Drop the animal names since this is not a good feature to split the data on
dataset = dataset.drop("animal_name", axis=1)

# Split the data into features and target
features = dataset.drop("class", axis=1)
targets = dataset["class"]

# Split the data into a training and a testing set
train_features, test_features, train_targets, test_targets = 
        train_test_split(features, targets, train_size=0.75)

Начинается самое интересное: при помощи классификатора дерева решений в scikit-learn обучим модель на тренировочных данных. Чтобы модель не переобучилась и могла работать, настроим несколько параметров. Максимальная глубина дерева будет равна 5. Поэкспериментируйте со значениями, чтобы увидеть влияние глубины на результаты.

# Train the model
tree = DecisionTreeClassifier(criterion="entropy", max_depth=5)
tree = tree.fit(train_features, train_targets)

Эти две строки строят и обучают модель. Чтобы проверить её точность, подадим на вход данные, которых она не видела.

# Predict the classes of new, unseen data
prediction = tree.predict(test_features)

# Check the accuracy
score = tree.score(test_features, test_targets)
print("The prediction accuracy is: {:0.2f}%".format(score * 100))

Воспользуемся моделью и выполним прогноз на новых данных:

# Try predicting based on some features
features = {
    "hair": 0,
    "feathers": 1,
    "eggs": 1,
    "milk": 0,
    "airbone": 1,
    "aquatic": 0,
    "predator": 0,
    "toothed": 1,
    "backbone": 1,
    "breathes": 1,
    "venomous": 0,
    "fins": 0,
    "legs": 1,
    "tail": 1,
    "domestic": 0,
    "catsize": 0
}

features = pd.DataFrame([features], columns=train_features.columns)
prediction = tree.predict(features)[0]
print("Best guess is {}".format(prediction])

Вызовем модель из Excel

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

К счастью, наша модель написана на Python и перенести её в Excel просто. В PyXLL есть всё необходимое, чтобы писать на Python в Excel. Нужно только добавить несколько декораторов @xl_func из модуля pyxll и настроить надстройку PyXLL для загрузки модуля с моделью. Если вы не знакомы с PyXLL, посмотрите введение в PyXLL в руководстве пользователя.

Построим дерево решений

Начнём с функции. Пользователь вызовет её, чтобы получить объект дерева, а затем этот объект для прогнозирования пройдёт через последовательность функций. Снова построим дерево, но пример будет сложнее: сохраним натренированную при помощи pickle и затем вместо того, чтобы каждый раз её создавать, загрузим её в Excel и настроим параметры, это будет интересно!

from pyxll import xl_func
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split
import pandas as pd
import os

@xl_func("float, int, int: object")
def ml_get_zoo_tree(train_size=0.75, max_depth=5, random_state=245245):
    # Load the zoo data
    dataset = pd.read_csv(os.path.join(os.path.dirname(__file__), "zoo.csv"))

    # Drop the animal names since this is not a good feature to split the data on
    dataset = dataset.drop("animal_name", axis=1)

    # Split the data into a training and a testing set
    features = dataset.drop("class", axis=1)
    targets = dataset["class"]

    train_features, test_features, train_targets, test_targets = 
        train_test_split(features, targets, train_size=train_size, random_state=random_state)

    # Train the model
    tree = DecisionTreeClassifier(criterion="entropy", max_depth=max_depth)
    tree = tree.fit(train_features, train_targets)

    # Add the feature names to the tree for use in predict function
    tree._feature_names = features.columns

    return tree

Код выше совпадает с кодом, который мы видели ранее, за исключением декоратора @xl_func, который сообщает дополнению PyXLL о том, какая функция Python должна стать пользовательской функцией Excel.

Строка float, int, int: object — это сигнатура функции. Она необязательна, но без этой сигнатуры пользователь сможет передавать в функцию свои типы, например, строки и это может привести к сбою. Возвращаемый тип object означает, что классификатор идёт через Excel как объект Python, функция возвращает дескриптор, который возможно передать другим функциям Python.

Код нужно добавить в список модулей конфигурационного файла pyxll.cfg, также необходима надстройка PyXLL, если вы не установили её.

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

Прогнозируем класс животного

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

_zoo_classifications = {
    1: "mammal",
    2: "bird",
    3: "reptile",
    4: "fish",
    5: "amphibian",
    6: "insect",
    7: "mollusc"
}

@xl_func("object tree, dict features: var")
def ml_zoo_predict(tree, features):
    # Convert the features dictionary into a DataFrame with a single row
    features = pd.DataFrame([features], columns=tree._feature_names)
    # Get the prediction from the model
    prediction = tree.predict(features)[0]
    return _zoo_classifications[prediction]

Модель возвращает целое число — спрогнозированный класс. Словарь _zoo_classifications содержит эти числа и понятные человеку названия классов.

Эта функция берёт объект дерева из ml_get_zoo_tree и список пар ключ-значение, переданных в неё как словарь. В словаре сопоставлены имена признаков, с которыми мы работали при конструировании дерева, и входные признаки. Их сопоставление таково, что при вызове tree.predict признаки упорядочены правильно.

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

Небольшое дополнение

Чёрно-белые листы с цифрами нравятся всем, но иногда мне нравится добавлять небольшие детали ради привлекательности таблицы. PyXLL позволяет получить доступ к объектной модели Excel с помощью функции xl_app. Объектная модель Excel точно совпадает с той, что применяется в VBA. Функция ниже создаёт на листе объект изображения и загружает его.

from pyxll import xl_app

def show_image_in_excel(classification, figname="prediction_image"):
    """Plot a figure in Excel"""
    # Show the figure in Excel as a Picture object on the same sheet
    # the function is being called from.
    xl = xl_app()
    sheet = xl.ActiveSheet

    # if a picture with the same figname already exists then get the position
    # and size from the old picture and delete it.
    for old_picture in sheet.Pictures():
        if old_picture.Name == figname:
            height = old_picture.Height
            width = old_picture.Width
            top = old_picture.Top
            left = old_picture.Left
            old_picture.Delete()
            break
    else:
        # otherwise create a new image
        top_left = sheet.Cells(1, 1)
        top = top_left.Top
        left = top_left.Left
        width, height = 100, 100

    # insert the picture
    filename = os.path.join(os.path.dirname(__file__), "images", _zoo_classifications[classification] + ".jpg")
    picture = sheet.Shapes.AddPicture(Filename=filename,
                                      LinkToFile=0,  # msoFalse
                                      SaveWithDocument=-1,  # msoTrue
                                      Left=left,
                                      Top=top,
                                      Width=width,
                                      Height=height)

    # set the name of the new picture so we can find it next time
    picture.Name = figname

Вызов ml_zoo_predict обновляет изображение в Excel при каждом изменении прогноза. Функция обновляет Excel, поэтому вызывать её нужно после вычислений, именно этим занимается async_call из pyxll, а ниже вы видите новую версию ml_zoo_predict:

from pyxll import xl_func, async_call

@xl_func("object tree, dict features: var")
def ml_zoo_predict(tree, features):
    # Convert the features dictionary into a DataFrame with a single row
    features = pd.DataFrame([features], columns=tree._feature_names)

    # Get the prediction from the model
    prediction = tree.predict(features)[0]

    # Update the image in Excel
    async_call(show_image_in_excel, prediction)

    return _zoo_classifications[prediction]

Изображение обновляется при изменении прогноза:

Ссылки

Этот материал — яркое напоминание о том, что Excel может справляться с задачами машинного обучения, а область ML сложна, но её сложность преодолима и если вы хотите изменить карьеру или вывести ваши навыки на новый уровень, то можете обратить внимание на наши курсы по Machine Learning, аналитике данных или присмотреться к флагманскому курсу Data Science. Также вы можете узнать, как начать или продолжить развитие в других направлениях:

Data Science и Machine Learning

  • Профессия Data Scientist

  • Профессия Data Analyst

  • Курс «Математика для Data Science»

  • Курс «Математика и Machine Learning для Data Science»

  • Курс по Data Engineering

  • Курс «Machine Learning и Deep Learning»

  • Курс по Machine Learning

Python, веб-разработка

  • Профессия Fullstack-разработчик на Python

  • Курс «Python для веб-разработки»

  • Профессия Frontend-разработчик

  • Профессия Веб-разработчик

Мобильная разработка

  • Профессия iOS-разработчик

  • Профессия Android-разработчик

Java и C#

  • Профессия Java-разработчик

  • Профессия QA-инженер на JAVA

  • Профессия C#-разработчик

  • Профессия Разработчик игр на Unity

От основ — в глубину

  • Курс «Алгоритмы и структуры данных»

  • Профессия C++ разработчик

  • Профессия Этичный хакер

А также:

  • Курс по DevOps

Excel может анализировать данные из многих источников. Но используете ли вы модель данных, чтобы облегчить себе жизнь? В этом посте вы узнаете, как создать сводную таблицу с использованием двух таблиц с помощью функции модели данных в Excel.

Оглавление

  • Что такое модель данных
  • Простая задача
  • Преимущества модели данных
  • Добавить данные в модель данных
  • Создание отношений между данными
  • Использование модели данных

Содержание

  1. Что такое модель данных
  2. Простая задача
  3. Преимущества модели данных
  4. Добавить данные в модель данных
  5. Создание отношений между данными
  6. Использование модели данных
  7. Анализировать в Excel – Модель данных отсутствует в Excel – Сообщество Microsoft Power BI

Что такое модель данных

Модель данных Excel позволяет загружать данные (например, таблицы) в память Excel. Он сохраняется в памяти, где вы его не видите. Затем вы можете указать Excel связать данные друг с другом с помощью общего столбца. Часть «Модель» модели данных относится к тому, как все таблицы соотносятся друг с другом.

Старая школа Excel Pro, используйте формулы для создания огромной таблицы, содержащей все данные для анализа. Им нужна эта большая таблица, чтобы сводные таблицы могли служить источником единой таблицы. Тем не менее, создавая отношения, вы избавляетесь от необходимости использовать формулы ВПР, СУММЕСЛИ, ИНДЕКС-ПОИСКПОЗ. Другими словами, вам не нужно собирать все столбцы в одной таблице. Через отношения модель данных может получить доступ ко всей необходимой информации. Даже если он находится в нескольких местах или за таблицами. После создания модели данных Excel сохраняет данные в своей памяти. И, имея его в своей памяти, вы можете получить доступ к данным по-новому. Например, вы можете начать использовать несколько таблиц в одной сводной таблице.

Простая задача

Представьте, что ваш босс хочет иметь представление о продажах, но также хочет знать пол продавца. Ниже представлен набор данных, содержащий одну таблицу с продажами на человека и другую таблицу, содержащую продавцов и их пол. Чтобы проанализировать ваши данные, используйте формулу ПРОСМОТР и составьте большую таблицу, содержащую всю информацию. На следующем этапе вы можете использовать сводную таблицу для суммирования данных по полу.

Преимущества модели данных

Метод And before отлично подходит, когда вы работаете с очень небольшим количеством данных. Тем не менее, у использования функции модели данных в Excel есть преимущества. Вот некоторые преимущества:

  1. Проверка и обновление формул может быть произвольной при работе с большим количеством таблиц. В конце концов, вам нужно убедиться, что все формулы заполнены до нужной ячейки. И после добавления новых столбцов формулы LOOKUP также необходимо расширить. Модель данных требует совсем немного времени при настройке , чтобы связать таблицу. При настройке используется общий столбец. Однако столбцы, которые вы добавляете позже, автоматически добавляются в модель данных.
  2. Работа с большими объемами данных часто приводит к очень медленной работе листа из-за вычислений.. Однако модель данных корректно обрабатывает большие объемы данных , не замедляя работу вашей компьютерной системы.
  3. Excel 2016 имеет ограничение в 1,048,576 строк. Однако количество строк, которые вы можете добавить в память модели данных, практически не ограничено . В 64-битной среде нет жестких ограничений на размер файла. Размер книги ограничен только доступной памятью и системными ресурсами.
  4. Если ваши данные находятся только в вашей модели данных, вы значительно сэкономите на размере файла .

Добавить данные в модель данных

Теперь вы узнаете, как добавлять таблицы в модель данных. Для начала убедитесь, что ваши данные находятся в таблице. Используя Power Query, вы можете легко загружать таблицы в модель данных.

  • Щелкните вкладку Данные -> Щелкните ячейку в нужной таблице для импорта
  • Выберите Из таблицы/диапазона

На главной вкладке редактора Power Query

  • Выберите Close & Load -> затем Закрыть и загрузить в…

  • Выберите Только создать соединение .
  • Обязательно установите флажок Добавить эти данные в модель данных

Это добавляет данные в модель данных. Обязательно выполните эти действия для обеих таблиц .

Создание отношений между данными

После добавления данных в модель данных вы можете связать общие столбцы друг с другом. Чтобы создать связи между таблицами:

  • Перейдите на вкладку Данные -> выберите Управление моделью данных

Откроется экран Power Pivot.

  • Щелкните Представление диаграммы. Это дает вам обзор всех таблиц в модели данных.
  • Затем свяжите общий столбец “Продавец” в первая таблица, со столбцом «Продавец» во второй таблице. Вы можете сделать это, щелкнув и перетащив один столбец на другой. Должна появиться связь.

Примечание : Когда вы устанавливаете связь между двумя столбцами, обычно в одном из столбцов указываются уникальные значения. Это называется отношением один-ко-многим . Наличие дубликатов с обеих сторон может привести к ошибке. Для сложных вычислений могут существовать отношения многие-ко-многим (например, в Power BI). Однако это слишком сложная задача, чтобы описать ее в этой статье. Если вас интересуют эти темы, обязательно исследуйте «Отношения« многие ко многим ».

Использование модели данных

Теперь мы подошли к самому интересному.. Чтобы использовать модель данных в сводной таблице, выполните следующие действия:

  • Перейдите на вкладку Вставить -> нажмите Pivot Таблица

Появится всплывающий экран «Создать сводную таблицу». Поскольку у вас есть модель данных, теперь вы можете выбрать использование ее в качестве источника данных.

  • Нажмите Использовать модель данных этой книги

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

Поскольку две таблицы связаны друг с другом, вы можете использовать поля из обеих таблиц в одной сводной таблице! Прочтите предыдущее предложение еще раз. Разве это не потрясающе ?? В примере ниже используются поля «Продажи» и «Продавец» из таблицы ProductSales, а поле «Пол» – из другой таблицы. И цифры по-прежнему верны!

Используя модель данных, вы можете анализировать данные из нескольких таблиц одновременно . И все это без использования формул ПРОСМОТР, СУММЕСЛИ или ИНДЕКС ПОИСКПОЗ для выравнивания исходной таблицы. Тем не менее, анализируемые данные также могут поступать из базы данных, текстового файла или облачного хранилища. Возможности безграничны.

Чтобы еще больше свести к минимуму использование формул LOOKUP, обратите внимание на Power Query. На моем сайте есть несколько статей об этом. Например, вы можете прочитать, как использовать Power Query для создания уникальных комбинаций или для преобразования столбцов с накоплением .


Я произвел некоторые преобразования и добавил еще несколько столбцов в свою модель данных.
Теперь мне нужно экспортировать эти данные в файл CSV из модели данных, как мне сделать это, Рик? У меня 7,5 миллионов записей.

Ответ


Привет, Рик! – Спасибо, что поделились!
У меня к вам вопрос, надеюсь, вы сможете ответить:
У меня есть файл CSV с 2 мил. строки (записи GL с транзакциями за каждый день). Я использую Power Query для подключения к файлу и добавления в Datamodel.
Если я ничего не сделаю, Datamodel должен обработать 2 миллиона. строк.
Если я сделаю группировку с агрегированием суммы в месяц в Power Query, тогда будет только 80 тысяч строк.
Будет ли это преимуществом, сделайте это быстрее в модели данных , чтобы использовать PowerQuery для такого агрегирования?

Ответ


Привет, Рик, спасибо за ответ. На данный момент я только пытаюсь создать информационный список. Хотя я понял это; когда я объединяю их в Power Query, он определяет уникальный ключ цветового кода и дает мне то, что я ищу. Большое спасибо!

Ответ


У меня есть 5 списков в Sharepoint на основе производственных частей, которые я хочу использовать в модели данных (сначала попробуйте это).

Я только начинаю с двух из них: «Основные части» и «Цветовые коды».. Я подтвердил, что столбец «Цветовой код» в списке «Цветовые коды» уникален (2000 уникальных кодов). В списке «Основные детали» около 1800 номеров деталей. Объединение происходит по «Цветовому коду», который есть в каждом списке. Когда я пытаюсь извлечь описание цвета из списка цветовых кодов, я получаю сообщение о том, что отчет сводной таблицы не помещается на листе – он пытается назначить каждый цветовой код каждому отдельному номеру детали, как будто нет реляционной связи между Столбцы цветового кода в каждом списке, но они явно есть в моей модели данных. Какие-либо предложения? На первом этапе кажется очевидным, что…

Ответ


Привет, Рик,
Ваша статья ясна, проста и легка для понимания.
Я прочитал много статей о модели данных и Power Pivot, но ваша статья действительно проста.
У меня к вам вопрос.
Я создал панель мониторинга в формате xlsb и вставил множество срезов, сводных таблиц и графики.
Две таблицы, из которых берутся данные, состоят из 200 тыс. строк, но они всегда растут неделя за неделей.
Каждую неделю мне приходится преобразовывать данные в таблицы, потому что источники таких данные разные (SAP, Coupa), и, кроме того, я вношу в них некоторые дополнительные изменения.
Теперь я заметил, что время загрузки модели данных слишком сильно увеличивается, и я ищу способ сделать запросы быстрее.
Я сохранил файл как xlsb. Я также удалил исходные данные (изначально я помещал таблицы в тот же файл, что и панель мониторинга на разных листах): после обновления исходных данных и обновления панели мониторинга я использую для удаления листов, на которых были исходные данные, чтобы уменьшить размер файла. На данный момент размер файла составляет 20 МБ (xlsb).
Основная проблема – время для загрузки модели данных. Все еще слишком много.
Я еще не использовал power query/pivot, потому что эта панель инструментов используется многими пользователями, и, если я хорошо помню, всем им следует активировать эту функцию, чтобы панель работала нормально. Это может быть очень сложно управлять.
Я уже пытался не использовать функции.
Исходный источник данных с множеством столбцов и все функции в нем сохранены в другом файле. Затем я помещаю в тот же файл, где находится панель управления, но на другом листе, только те столбцы, которые мне действительно нужны для работы.
Как сказано выше, после обновления сводных таблиц и графиков я удаляю исходные данные (сохраненные в другом файле Excel).

Итак, есть ли у вас предложения, чтобы ускорить запросы?
Спасибо,
Майкл

Ответить


Привет, Рик. Спасибо за то, что уделили время написанию этого.

Итак, я в основном застрял на том факте, что у меня есть рабочая книга, которая добавляет и вычисляет столбцы и меры.
Теперь … я хочу используйте эту модель данных в ДРУГОМ файле excel. Соединение должно обновляться автоматически, поскольку оба файла находятся на Sharepoint.

Мой вопрос заключается в том, могу ли я использовать вычисляемые столбцы и проводить измерения из одной «пустой» книги (модель данных) в другой книге, поэтому я можно создать там новую сводную таблицу.

Есть шансы?

Спасибо,

Сантьяго из Перу

Ответ


Привет, Рик,

Надеюсь, ты поможешь с моим вопросом. У меня есть данные, которые повторяются через годы. Я отметил это стрелкой на картинке. Вот ссылки на файл Excel.

https://www.dropbox.com/scl/fi/1xxmqyb9a0vwpj00mfkgj/Sample.xlsx?dl=0&rlkey=n2zc09cvc7gzxgv0p3g9kwi70

https://www.dropbox.com/s/hpcmtf6q1rfehwl/Capture.PNG?dl=0

https://www.dropbox.com/s/418zg5uupy6g3wj/Capture2.PNG? dl = 0

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

Спасибо,
K

Ответить


У меня есть информационная панель, заполненная сводными таблицами, которые заполняются моделью данных. Я хочу включить срезы для фильтрации данных. Если я затем отправлю файл кому-то, у кого нет доступа к исходному источнику данных, будут ли срезы работать для этого человека? Или они получат ошибку, потому что Excel и модель данных больше не могут найти источник данных? (Я знаю, что они не могут обновить модель данных, я просто беспокоюсь о просмотре того, что я уже заполнил, прежде чем отправлять им)

Ответ


не работает для меня! В модели данных все дублируется между двумя таблицами! Итак, у меня есть 99 единичных строк в таблице 1 и 99 уникальных строк в таблице 2, так что есть отображение 1-1. Таблица первая. Я переместил один столбец из таблицы 1 в таблицу 2 и попытался объединить два, используя модель данных, и все, что он делает, повторяет 99 полей из таблицы 2 под ключом в таблице 1 – vlookups намного проще. Кроме того, у меня возникают всевозможные проблемы с памятью, поэтому он не так хорош, как vlookups для больших наборов данных.

Ответ


Так что в основном Excel становится больше похожим на Access?

Ответить


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

Ответ


Спасибо, отличная информация

Ответ


Одна важная вещь, которая мне нравится в моделях данных, – это дополнительные функции, которые вы можете использовать в сводных таблицах, особенно «Уникальные счетчики».

Ответ



Анализировать в Excel – Модель данных отсутствует в Excel – Сообщество Microsoft Power BI

Привет всем –

I Я пытаюсь использовать «Анализировать в Excel», чтобы перенести мою модель данных Power BI в Microsoft Excel для создания отчетов для моих клиентов (которые предпочитают работать в Excel). Я успешно сохранил файл Excel с подключением pbiazure из службы Power BI и построил сводную таблицу. Однако, когда я пытаюсь щелкнуть «Управление моделью данных» в Excel, чтобы увидеть взаимосвязи (которые, как я ожидаю, будут такими же, как для рабочего стола Power BI), модель данных не отображается и остается пустой.

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

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


Привет, @ sviswan2!

Параметр «Управление моделью данных» в Excel будет отображать модель данных только при подключении источника данных в Excel. Модель данных создается автоматически при одновременном импорте двух или более таблиц из базы данных. Когда вы импортируете одну таблицу, вы можете выбрать «добавить эти данные в модель данных». См. Эту статью: Advanced Excel – модель данных

В этом выпуске «Анализировать в Excel» просто цитирует набор данных из службы power bi, а не как единый источник данных, этот набор данных взят из вашего. pbix, который включает отношения и т. д., поэтому он не будет использоваться в качестве единственного источника данных для добавления в модель данных в Excel.

Другими словами, сам набор данных был моделью, вы Вы можете управлять им на своем рабочем столе power bi, а не в Excel, чтобы воссоздать модель.

С уважением,
Инцзе Ли

Если этот пост помогает, то, пожалуйста, рассмотрите вариант “Принять его” как решение, которое поможет другим участникам быстрее его найти.


Привет @ v-yingjl –

Спасибо за пояснение, которое немного помогает понять. Поэтому, пожалуйста, поясните следующее:

1) Если модель данных не импортирована, будут ли работать все отношения между данными, которые я настроил в файле рабочего стола, когда я использую его как «Анализировать в Excel “?

2) Если я хочу добавить какую-либо связь или меру, я должен сначала сделать это на рабочем столе Power BI, опубликовать в службе, а затем он должен появиться в моем файле Excel?

спасибо!


Привет @ sviswan2,

  1. Да, «Анализировать в excel» цитирует набор данных в сервисе power bi, отношения сохранятся.
  2. Если вы хотите добавить взаимосвязь или меру, у вас есть сделать это сначала на рабочем столе power bi, затем опубликовать в сервисе и повторно использовать «Анализировать в Excel», хотя вы не можете видеть взаимосвязь и конкретную формулу меры, вы можете видеть только поля таблицы и значение меры в excel.

С уважением,
Инцзе Ли

Если этот пост поможет, пожалуйста, примите его как решение чтобы помочь другим участникам найти его быстрее.


Привет @ sviswan2,
Анализировать в Excel позволяет взаимодействовать с набором данных из Power BI, но он имеет только соединение с набором данных, он не имеет данных из модели.

Вот ссылка: https://docs.microsoft.com/en-us/power-bi/collaborate-share/service-analyze-in-excel
“Вы можете сохранить книгу Excel вы создаете с помощью набора данных Power BI, как и любую другую книгу. Однако вы не можете публиковать или импортировать книгу обратно в Power BI, потому что вы можете публиковать или импортировать в Power BI только те книги, которые имеют данные в таблицах или имеют модель данных.. Поскольку новая книга просто подключается к набору данных в Power BI , публикация или импорт в Power BI будет происходить по кругу “.

Excel is a powerful tool for data analysis and subsequent automation when handling large sets of data. You could be spending significant time analyzing tons of data using VLOOKUP, INDEX-MATCH, SUMIF, etc.

Thanks to the Excel Data Model, you can save precious time through automatic data reports. Find out how easily you can assign a relationship between two tables by using the Data Model and an illustration of such a relationship in a pivot table in the following section.

The Basic Requirements

You’ll need Power Pivot and Power Query (Get & Transform) to accomplish several tasks while creating Excel Data Model. Here is how you can get these features in your Excel workbook:

How to Get Power Pivot

1. Excel 2010: You’ll need to download the Power Pivot add-in from Microsoft and then install it for your Excel program on your computer.

2. Excel 2013: Office Professional Plus edition of Excel 2013 includes Power Pivot. But, you need to activate it before first use. Here is how:

  1. Click on File on the Ribbon of an Excel workbook.
  2. Then click on Options to open Excel Options.
  3. Now, click on Add-ins.
  4. Select COM Add-ins by clicking on the drop-down menu of the Manage box.
  5. Click on Go and then select the checkbox for Microsoft Power Pivot for Excel.

Excel 2013 activate Power Pivot

3. Excel 2016 and Later: You’ll find the Power Pivot menu on the Ribbon.

How to Get Power Query (Get & Transform)

1. Excel 2010: You can download the Power Query add-in from Microsoft. After installation, Power Query will show up on the Ribbon.

2. Excel 2013: You need to activate Power Query by following the same steps that you just did to make Power Pivot functional in Excel 2013.

3. Excel 2016 and Later: You can find Power Query (Get & Transform) by going to the Data tab on Excel Ribbon.

Create Data Model by Importing Data to the Excel Workbook

For this tutorial, you can get pre-formatted sample data from Microsoft:

Download: Sample student data (data only) | Sample student data (complete model)

You can import a database with multiple related tables from many sources like Excel workbooks, Microsoft Access, websites, SQL Server, etc. Then you need to format the data set so that Excel can utilize it. Here are the steps that you can try:

1. In Excel 2016 and later editions, click on the Data tab and select New Query.

2. You will find several ways to import data from external or internal sources. Choose the one that suits you.

import data from external or internal sources

3. If using Excel 2013 edition, click on Power Query on the Ribbon and then select Get External Data to choose data for import.

4. You will see the Navigator box where you need to choose which tables you need to import. Click on the check box for Select multiple items to pick several tables for import.

Select multiple items to pick several tables

5. Click on Load to complete the import process.

6. Excel will create a Data Model for you using these tables. You can see the table column headers in the PivotTable Fields listings.

table column headers in the PivotTable Fields listings

You can also utilize Power Pivot functions like calculated columns, KPIs, hierarchies, calculated fields, and filtered datasets from Excel Data Model. For this purpose, you’ll need to generate Data Model from a single table. You can try these steps:

1. Format your data in a tabular model by selecting all of the cells containing data and then click Ctrl+T.

2. Now, select the entire table and then click on the Power Pivot tab on the Ribbon.

3. From the Tables section, click on Add to Data Model.

click on Add to Data Model

Excel will create table relationships between related data from the Data Model. For this, there should be primary and foreign key relationships within the imported tables.

Excel utilizes the relationship information from the imported table as a foundation to generate connections between the tables in a Data Model.

Build Relationships Between the Tables in the Data Model

Now that you have a Data Model in your Excel workbook, you’ll need to define relationships between the tables to create meaningful reports. You need to assign a unique field identifier or primary key to each table, like Semester ID, Class Number, Student ID, etc.

The Diagram View feature of Power Pivot will let you drag and drop those fields to build a relationship. Follow these steps to create table links in Excel Data Model:

1. On the Ribbon of the Excel workbook, click on the Power Pivot menu.

2. Now, click on Manage in the Data Model section. You’ll see the Power Pivot editor as shown below:

the Power Pivot editor

3. Click on the Diagram View button located in the View section of the Power Pivot Home tab. You’ll see table column headers grouped according to the table name.

column headers grouped

4. You’ll now be able to drag and drop the unique field identifier from one table to another. Following is the relationship schematic between the four tables of the Excel Data Model:

relationship schematic between the four tables

The following describes the linkage between tables:

  • Table Students | Student ID to table Grades | Student ID
  • Table Semesters | Semester ID to table Grades | Semester
  • Table Classes | Class Number to table Grades | Class ID

5. You can create relationships by choosing a pair of unique value columns. If there are any duplicates, you’ll see the following error:

you’ll see the following error

6. You’ll notice Star (*) on one side and One (1) on the other in the Diagram View of relationships. It defines that a one-to-many relationship exists between the tables.

7. On the Power Pivot editor, click on the Design tab and then select Manage Relationships to know which fields make the connections.

Manage Relationships in Excel Data Model

Generate a PivotTable Using the Excel Data Model

You can now create a PivotTable or PivotChart to visualize your data from Excel Data Model. An Excel workbook may contain only one Data Model, but you can keep updating the tables.

Because data changes over time, you can continue to use the same model and save time when working with the same data set. You’ll notice more time savings when working on data in thousands of rows and columns. To create a PivotTable based report, follow these steps:

1. On the Power Pivot editor, click on the Home tab.

2. On the Ribbon, click on PivotTable.

3. Choose any one between New Worksheet or Existing Worksheet.

On the Ribbon, click on PivotTable

4. Select OK. Excel will add a PivotTable that will show the Field List pane on the right.

Following is a holistic view of a pivot table created by utilizing the Excel Data Model for the sample student data used in this tutorial. You can also create professional pivot tables or charts from big data using the Excel Data Model tool.

Following is a holistic view of a pivot table

Transform Complex Data Sets Into Simple Reports Using Excel’s Data Model

Excel Data model utilizes the benefits of creating relationships between tables to produce meaningful pivot tables or charts for data reporting purposes.

You can continuously update the existing workbook and publish reports on updated data. You don’t have to edit formulas or invest time in scrolling through thousands of columns and rows each time the source data updates.

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

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

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

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

Результаты расчётов можно представить в виде баланса, отчётов о доходах и расходах и о движении денежных средств (по состоянию на определённую дату).

Алгоритм построения финансовой модели

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

Рассмотрим пример простого моделирования в Excel с небольшим количеством ключевых переменных. Для каждой таблицы необходимо отвести отдельную страницу.

1. Задаём исходные параметры

Попробуем спрогнозировать выручку. За основу можно взять план реализации товаров или услуг за год. Размер выручки на первом этапе можно округлить или указать приблизительные данные (рисунок 1).

Рисунок 1 — План реализации услуг (тыс.руб.)

План реализации услуг

Выручка рассчитывается как сумма услуг.

2. Определяем переменные затраты

В качестве переменных введём затраты на заработную плату сотрудникам. Допустим, она зависит от объёма реализованных услуг и составляет 25% от выручки. Зарплата рассчитывается помесячно как произведение коэффициента 0,25 (25/100) и плана продаж на конкретный месяц.

Расходы на аренду и управление внесём как фиксированные значения.

Например, чтобы посчитать зарплату за январь, берём план реализации на январь и умножаем на коэффициент

151 * 0,25 = 38 тыс. руб.

В Excel прописываем формулу: fx = 0,25*название страницы с таблицей по плану реализации!B8

Общий размер планируемых затрат будет равен сумме зарплаты, аренды и управленческих расходов (рисунок 2).

Рисунок 2 — План затрат

План затрат

3. Составляем план доходов и расходов

Обратите внимание на строки «операционные доходы» и «операционные расходы» (рисунок 3). Чтобы их заполнить, потребуется прописать ссылки на соответствующие ячейки функциональных планов.

Рисунок 3 — План доходов и расходов, тыс. руб.

План доходов и расходов

Так, операционные доходы будут равны суммам от услуг 1-4. Например, чтобы рассчитать операционный доход за январь, складываем 15+30+46+60. Получаем 151 тыс. руб.

В формулу прописываем: fх =СУММ(B5:B8)

Числовые значения по услугам прописываем ссылками на ячейки таблицы «План реализации услуг».

Графа «Итого» считается как сумма ячеек с B4 по M4

fх =СУММ(B4:M4)

Аналогично рассчитываются операционные расходы. Данные синхронизируем с таблицей «План затрат».

Операционная прибыль рассчитывается как разность операционные доходы — операционные расходы.

Например, операционная прибыль за январь равна: 151 — 96 = 55 тыс. руб.

Рентабельность рассчитывается как отношение операционной прибыли к операционному доходу помноженное на 100.

За январь получаем: 55/151*100 = 36,69%

fх = B13/B4*100

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

Прибыль нарастающим итогом — это прибыли (убытки) за прошлый и текущий отчётные периоды. В январе мы берём данные операционной прибыли, равные 55 тысячам рублей. В феврале прибавляем 58 тысяч. Получаем 113 тысяч рублей. В марте прибавляем ещё 64 тысячи. Получаем 176 тысяч. И так суммируем по каждому месяцу.

В нашем финансовом плане прибыль нарастающим итогом за февраль будет прописываться формулой: fх=B15+C13

4. Составляем план движения денежных средств

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

Платежи по заработной плате и аренде происходят в месяце, следующем за месяцем их начисления, а управленческие расходы — в месяц их осуществления (рисунок 4).

Рисунок 4 — План движения денежных средств, тыс. руб.

План движения денежных средств

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

Сальдо по операционной деятельности — это разность поступлений по операционной деятельности и платежей по операционной деятельности.

Сальдо операционной деятельности за январь будет равно: 151 — 38 = 113 тысяч рублей.

Сальдо на конец периода рассчитывается как сумма сальдо на начало периода и сальдо по операционной деятельности. Если принять сальдо на начало января равное 10 тысячам рублей, сальдо на конец периода будет равно 123 тысячам рублей.

5. Делаем прогнозный баланс

На основании плана доходов и расходов и плана движения денежных средств можно построить прогнозный баланс. Начальные остатки нужно взять из баланса предыдущего периода. Допустим, что все они равны 10 тысячам рублей (рисунок 5).

Рисунок 5 — Прогнозный баланс, тыс. руб.

Прогнозный баланс

В графу «денежные средства» подставляем значение сальдо на конец периода предыдущего месяца. Так, денежные средства за февраль = 123 тысячам рублей.

Активы будут равны сумме: денежные средства + основные средства + дебиторская задолженность.

Кредиторская задолженность рассчитывается: кредиторская задолженность предыдущего периода + планируемые затраты на заработную плату и аренду предыдущего месяца — планируемы движения денежных средств по зарплате и аренде предыдущего месяца.

Так, кредиторская задолженность на 1 февраля составит 58 тысяч рублей

0+38+20-0-0.

Капитал = капитал за предыдущий период + операционная прибыль предыдущего периода.

Капитал на 1 февраля составляет 65 тысяч рублей. 10+55.

Пассив — это сумма капитала и кредиторской задолженности

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

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

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

Узнайте больше о финансовом моделировании в Excel и прогнозировании финансового состояния бизнеса на семинаре в Учебном центре «Финконт».

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

НАЗНАЧЕНИЕ И ВИДЫ ФИНАНСОВЫХ МОДЕЛЕЙ

Необходимость использования финансовых моделей обусловлена следующими факторами:

• неопределенность будущего, вызванная изменениями внешней и внутренней среды предприятий;

• координация деятельности структурных подразделений предприятия или компаний холдинга, направленная на достижение единых целей;

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

Под моделью в целом можно понимать информационную систему, в которой новая информация формируется на основе имеющихся данных с помощью выявления и описания взаимосвязей между исходными переменными внутренней и внешней среды.

Финансовое моделирование в MS Excel является наиболее распространенной разновидностью компьютерного моделирования, с помощью которого можно создавать самые сложные модели на основе математических, статистических и логических функций, состоящие из множества таблиц и визуализаций (диаграмм и графиков).

Следует отметить, что в настоящее время происходит становление и развитие онлайн-сервисов финансового моделирования, которое реализуется по аналогичным принципам, заложенным в MS Excel.

В результате своего развития финансовое моделирование подняло процесс планирования (бюджетирования) и прогнозирования деятельности предприятий на более высокий уровень. Широта применения финансовых моделей постоянно увеличивается, и сегодня практически все стороны хозяйственной деятельности компаний можно описать финансовыми моделями. Разновидности финансовых моделей представлены в табл. 1.

ЭТАПЫ ФИНАНСОВОГО МОДЕЛИРОВАНИЯ

Все финансовые модели условно можно разделить на два вида:

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

сложные — состоят из ряда блоков, десятков таблиц, отчетов и визуализаций.

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

Чтобы эта работа была скоординирована и эффективна, каждый из сотрудников должен понимать назначение, структуру и принципы, заложенные в модель, а также свою роль в разработке и эксплуатации финансовой модели:

• определение, ввод и корректировка исходных данных;

• разработка формул, описывающих зависимость разных переменных;

• формирование визуализаций (таблиц и диаграмм);

• проверка и отладка результирующих отчетов;

• интерпретация результатов, подготовка на их основе презентаций для лиц, принимающих управленческие решения.

Процесс разработки финансовых моделей состоит из пяти этапов (рис. 1).

Рассмотрим подробно каждый этап работы по созданию финансовой модели.

Этап 1. Описание назначения (области применения) модели

На начальном этапе создания финансовой модели описывают ее назначение и определяют границы модели (scope). Для этого нужно понимать, на какие главные вопросы должна давать ответы модель.

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

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

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

Заключительный вопрос, решаемый на данном этапе, — определение источников данных для модели. То есть нужно определить:

  • какой набор исходных данных необходим для модели;
  • из каких источников будут получены данные.

При этом следует учитывать качество данных. Качественные данные должны отвечать следующим критериям: актуальность, полнота и непротиворечивость.

Этап 2. Сбор и документирование требований к модели

На данном этапе собирают и документируют требования к финансовой модели со стороны заинтересованных лиц — пользователей финансовой информации. Для пользователей в финансовой модели важно следующее:

• требования и допущения к качеству исходных данных;

• плановый и прогнозный периоды модели;

• структура модели;

• перечень и формы результирующих отчетов;

• перечень и виды визуализаций (диаграмм, графиков, карточек-метрик);

• требования и допущения к формулам MS Excel, используемым в финансовой модели.

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

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

Наиболее сложный вопрос, решаемый на данном этапе, — описание формул финансовых показателей, отражающих логику их расчета. При этом нужно использовать следующий принцип: обязательному документированию подлежат показатели, которые могут рассчитываться по-разному. Формулы расчета общепринятых показателей (например, NPV, IRR в моделях оценки эффективности инвестиционного проекта), как правило, описывать не нужно.

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

Документирование может быть реализовано в следующих формах:

карта модели, отражающая ее структуру и представляющая собой перечень блоков модели, размещенных на соответствующих листах MS Excel, в их взаимосвязи;

прототипы (упрощенная схема будущей модели). Прототипы также можно использовать для документирования визуализаций (диаграмм, графиков) создаваемой модели;

таблицы с описанием формул расчетов.

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

• данных предыдущих периодов деятельности компании;

• отраслевых статистических данных;

• предположениях, оценках и предпосылках;

• макроэкономических прогнозах;

• нормах федерального и регионального законодательства.

Материал публикуется частично. Полностью его можно прочитать в журнале «Планово-экономический отдел» № 6, 2022.


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

Крайне сложно переоценить роль доверия в нашей жизни, тем более в бизнесе.
Коммерсант, доверяя своему поставщику, производит предоплату за товар, который будет поставлен через определенное в договоре количество дней.
Или же отгружая готовую продукцию заказчику, доверяя ему по крайней мере на основании подписанного договора, надеется,
что оплата поступит своевременно, согласно подписанной в том же договоре отсрочке платежа.
Генеральный директор при утверждении бюджета компании, доверяя своему коммерческому директору, старается быть уверенным в том,
что необходимые объемы продукции будут проданы в течение бюджетного периода, и по окончании которого не будет стыдно отчитываться
перед акционерами и инвесторами предприятия.

Опираясь на Доверие, мы строим финансовые планы. А вот на что опирается наше Доверие?

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

В любом случае владение методами финансового моделирования дает достаточно глубокое понимание того, каким образом подходить
к решению вопросов о выборе системы ключевых показателей эффективности (системы KPI) компании и, что самое главное, каким образом
на практике производить расчет целевых значений показателей системы KPI.

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

Поэтому, чтобы внести большую определенность, и, как можно ближе быть к практике, мы начнем с описания методологии наиболее простой
финансовой модели розничной торговли, а именно финансовой модели ритейла с системой бюджетирования «сверху вниз» (Top-Down) и
с аутсорсингом основных операционных подразделений, таких как служба поддержки клиентов (кол-центр), входящая, складская и исходящая логистика.
Также мы опустим на начальном этапе учет внеоборотных активов, например, таких как основные средства, поскольку они, очевидно,
не играют существенной роли для создания финансовой модели торговой деятельности

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

СКАЧАТЬ


Финансовая модель ритейла Top-Down OutSource

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

Конечно же далее в разделах нашего сайта мы представим вниманию читателя описание как других типов финансовых моделей ритейла
(например, когда бюджетирование происходит «снизу вверх» и операционные подразделения не выведены в аутсорсинг),
так и финансовых моделей других направлений бизнеса, например, таких как продажа, монтаж и пуско-наладка оборудования, строительство,
эксплуатация недвижимости, производство наукоемкой продукции, производство продукции тяжелого машиностроения и т.п.
Со списком и описанием всех финансовых моделей, представленных на нашем сайте, можно ознакомиться
здесь, где их также можно бесплатно скачать.

Также сразу выкладываем урезанную версию финансовой модели ритейла в виде нижеследующего EXCEL-файла для коммерческих подразделений,
менеджеров отделов продаж, категорийных менеджеров и т.п. В данной версии отсутствует балансовый отчет (Balance Sheet),
вкладка с заданием финансовых условий («CF_условия») движения денежных средств и соответственно отчет о движении денежных средств (отчет Cash Flow).
Таким образом, на основе этой финансовой модели, как минимум, можно моделировать структуру доходной части (отчет P&L – прибыли и убытки),
а также объем и структуру товарооборота в разрезе направлений продаж и категорий товаров.

СКАЧАТЬ


Финмодель ритейла для коммерсантов Top-Down OutSource

EXCEL-файл с этой же, но только пустой, незаполненной финансовой моделью, т.е. с нулевыми входящими параметрами во вкладке «условия»
можно скачать в конце раздела.

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

Структура финансовой модели начинается с вкладки «оглавление», на которой представлено описание всех основных разделов,
где каждый раздел это отдельная вкладка.

Оглавление финансовой модели

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

Все разделы в нашей финансовой модели разделяются на следующие группы:

— коммуникационно-методологические вкладки;

— вкладки с исходными данными — начальные условия финансовой модели;

— вкладки с расчетами – функционал финансовой модели;

— вкладки с отчетами – результат финансового моделирования.

К коммуникационно-методологическим вкладкам мы относим:

— «методология»;

— «детализации»;

— «разделы_методы»;

— «показатели».

Вкладка «методология» примерно повторяет содержание настоящего раздела сайта, только в более техническом виде.
Эта вкладка содержит полную информацию только в FULL-версии финансовой модели, которую мы как раз и продаем. Содержание этой вкладки может
оказаться крайне полезным для IT-специалистов Вашей компании, если, например, Вы решите самостоятельно внедрять нашу финансовую модель в
процесс управления финансами своей компании.

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

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

В полной FULL-версии финансовой модели вкладка «показатели» содержит Глоссарий с определениями и описанием всех входящих в модель показателей.

Вкладки с исходными данными

— «условия»;

— «CF_условия»;

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

Ячейки для ввода исходных данных финмодели

Причем отличие ячеек со сплошной линией от тех, которые выделены пунктирной линией, состоит в том, что для ячеек со сплошной
линией предусмотрен выпадающий список возможных значений, а в ячейки, выделенные пунктирной линией, Вы вносите значения вручную с клавиатуры.

Во многих случаях при неверном внесении данных во вкладки с начальными условиями будет появляться надпись красного цвета: «Ошибка!».
Поэтому будьте внимательны и при возникновении вопросов направляйте их нам, мы постараемся оперативно ответить.

Функционал финансовой модели сосредоточен в двух вкладках

— «расчеты»;

— «расчеты_ежедн»

и представляет собой системный набор EXCEL-формул, которые преобразуют начальные данные модели из вкладок «условия» в итоговые
отчетные данные вкладок с результатами финансовой модели, структурированными согласно управленческим формам финансово-экономической отчетности.

Наконец вкладки с отчетами финансовой модели – это вкладки с формами управленческой отчетности, которые автоматически заполняются
и пересчитываются при изменении начальных данных, которые в свою очередь обычно разделяются на две группы: стандартные формы финансовой
отчетности такие, как отчет о прибылях и убытках (P&L), отчет о движении денежных средств (Cash Flow) и прогнозный баланс (Balance Sheet),
плюс к тому мы добавляем к этому списку отчет о движении товарных запасов (Stock Flow), как важный отчет для розничной торговли;
и дополнительные формы, которые предназначены для более детального и всестороннего раскрытия финансово-экономической информации
с учетом специфики того типа бизнеса, который формализуется в рамках финансовой модели. В качестве дополнительных форм отчетности в нашем случае
представлены следующие отчеты:

— «SF_age» – отчет о возрастной структуре товарных запасов;

— «Turnover» – отчет о товарообороте;

— «FinCycle» – расчет финансового цикла;

— «mPL» – маржинальный отчет о прибылях и убытках;

— «UE» – экономика на один проданный заказ.

В качестве примера приведем здесь формат управленческого отчета о прибылях и убытках (отчет P&L),
который используется нами в финансовой модели:

Пример отчета PL финмодели

Начинаем моделирование бюджета продаж с указания срока бюджетирования или горизонта моделирования. В нашем случае мы предлагаем стандартное
моделирование на один год и для задания бюджетного периода достаточно во вкладке «условия» указать начальную дату бюджетного года.
Допустим это будет 2016 год, тогда вносим в соответствующую ячейку вручную с клавиатуры (ячейка с пунктирной границей) дату 01.01.16г.:

Старт бюджетирования финмодели

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

Шаг моделирования

Обращаем внимание, что ячейка для выбора типа периодичности имеет сплошную границу, а это значит, что в качестве значений указанной
ячейки могут быть только значения из заданного «выпадающего» списка:

ежемесячно

или

ежеквартально.

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

Ежеквартальное моделирование

Или если Вы выберете «ежемесячно», то появится такая «шкала»:

Ежемесячное моделирование

Приступаем к выбору метода бюджетирования. Во-первых, напомним, что мы изначально считаем, что система управления нашей компании
предполагает выстраивание процесса бюджетирования сверху вниз,
см.выше. Обычно при таком подходе укрупненно план продаж «устанавливается сверху» собственниками или крупными инвесторами.
Чаще всего это происходит либо утверждением собственниками конкретного объема продаж, выраженного в деньгах, на бюджетный год с
возможной разбивкой по периодам, либо через утверждение плановых процентов прироста объемов продаж бюджетного года по отношению к
фактическим объемам продаж предыдущего года. Иногда бывает и так, что план объемов продаж утверждается не в деньгах, а в количестве
клиентских заказов или в количестве штук продаж товаров, параллельно сопровождаемый плановым средним чеком продаж или плановой средней
ценой продажи одного товара, что, кстати говоря, существенно лучше. Такой вот «план» спускается на плечи Генерального директора.
И далее «Вперед Топ-Менеджмент!»

В нашей финансовой модели предусмотрены три типа продаж:

— розничная продажа товаров/заказов (B2C);

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

— продажа B2B-услуг.

Причем B2C-продажи в свою очередь могут детализироваться в трех «измерениях»:

— детализация по направлениям бизнеса;

— региональная детализация;

— детализация по категориям товаров.

Для того чтобы наш пример не был тривиальным, но, с другой стороны, чтобы не был и слишком перегруженным, мы представили вариант,
когда у нашей гипотетической торговой компании может быть два бизнес-направления в части B2C-продаж:

— Продажи со склада (offline продажи);

— VMI-продажи (online продажи);

два региональных направления:

— продажи по Москве и Московской области;

— региональные продажи;

и три товарные категории:

— электроника;

— бытовая техника;

— одежда.

Под «продажами со склада» мы понимаем классические продажи из обычных offline-магазинов, под VMI-продажами – online продажи
через Интернет-магазин нашей компании, когда под клиентские заказы блокируется соответствующий сток у Поставщиков
(еще такие продажи называют Block Stock), подробнее о VMI-продажах можно прочитать
здесь.

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

В части B2B-продаж мы рассматриваем только возможность детализации по двум направлениям бизнеса, в нашем случае мы выбрали следующие направления:

— комиссионные продажи offline;

— продажи услуг Market Place online.

О том, что такое Market Place, можно прочитать
здесь.

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

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

А это значит, что в рамках нашего же ограничения на модель процесса бюджетирования (сверху вниз) необходимо,
чтобы наша финансовая модель после внесения в нее данных об утвержденных сверху объемов продаж могла распределить
эти объемы между всеми указанными выше четырнадцатью комбинациями.

Опишем, как все это реализовано в финансовой модели.

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

Методы бюджетирования торговой деятельности

Полный список методов бюджетирования следующий:

— финансовый-прямой;

— финансовый-приросты г/г;

— финансовый-приросты пер/пер;

— товары-прямой;

— товары-приросты г/г;

— товары-приросты пер/пер;

— заказы-прямой;

— заказы-приросты г/г;

— заказы-приросты пер/пер.

Финансовый метод бюджетирования продаж товаров предполагает внесение данных о плановых объемах продаж в разрезе кварталов/месяцев
(периодов) сразу в тысячах рублей. Метод бюджетирования «товары» предполагает внесение данных о продажах в штуках товаров,
соответственно метод «заказы» – в количестве заказов.

Дополнительные атрибуты метода «прямой», «приросты г/г» и «приросты пер/пер» означают способ задания объемов продаж:

«прямой» – задается вручную, внесением объемов продаж (в деньгах, в штуках товаров или в количестве заказов) непосредственно в план
бюджетного года для каждого периода;

«прямой г/г» – задается вручную, путем сначала внесения фактических объемов продаж за каждый период прошлого года и
потом внесения утвержденных плановых процентов прироста год к году для каждого соответствующего периода бюджетного года;

«прямой пер/пер» – задается вручную, путем сначала внесения фактического объема продаж последнего периода
(либо декабрь при выборе ежемесячной, либо 4-ый квартал – при выборе ежеквартальной разбивки) прошлого года и потом внесения утвержденных
плановых процентов прироста каждого периода бюджетного года к предыдущему периоду.

На предыдущем рисунке представлено заполнение объемов продаж при выборе метода бюджетирования «финансовый-прямой» в случае ежеквартальной
разбивки бюджетного года – на нем мы видим, что с первого по четвертый квартал планируются объемы продаж в размере 260, 300, 270 и 380 млн.руб.
соответственно, которые просто внесены в ячейки «с пунктирными границами» вручную с клавиатуры.

Для примера рассмотрим еще пару вариантов внесения объемов продаж для методов «товары-приросты г/г» и «заказы-приросты пер/пер».

Допустим в предыдущем году по факту компания продала 40тыс. штук товаров в первом квартале, 50тыс. штук во втором квартале, 45тыс. шт –
в третьем и 60тыс. – в четвертом. Пусть также на бюджетный год собственники компании утвердили плановые приросты объемов продаж в
штуках товаров в следующих размерах: 10% – плановый прирост объемов первого квартала бюджетного года к первому кварталу предыдущего года;
20% – прирост второго квартала; 15% и 30% – соответственно приросты третьего и четвертого.
Тогда, выбирая метод бюджетирования «товары-приросты г/г», получаем следующую «картинку» при заполнении вышеуказанных данных
во вкладке «условия» финансовой модели:

Годовые приросты продаж

Мы видим, что первая строчка, в которую мы вносили данные при прямом методе пустая и более того напротив нее не стоит
«красная звездочка», т.е. финансовая модель не предлагает заполнять эту строчку. А предлагается заполнить следующие две строки
(со «звездочками») – одна для фактических данных прошлого года, а другая для плановых процентов прироста год к году.
В последней итоговой строке финансовая модель нам рассчитала план продаж в штуках товаров на бюджетный год:
44тыс., 60тыс., 51 750 и 78тыс. штук товаров для каждого квартала.

При выборе метода бюджетирования «заказы-приросты пер/пер» вносим количество проданных заказов в четвертом квартале прошлого года,
пусть это количество было равно 70тыс., после чего вносим плановые приросты объемов продаж в количестве заказов: допустим (-5%) –
плановый прирост количества заказов 1кв бюджетного года к факту 4кв прошлого года; 10% – прирост 2кв к 1кв бюджетного года; 5% и 30% –
соответственно приросты 3кв и 4кв по отношению к 2кв и 3кв бюджетного года. Тогда получаем:

Планирование заказов

Таким образом, получаем итоговый план продаж товаров в количестве заказов в поквартальной разбивке: 66 500, 73 150, 76 808 и 99 850 заказов.

Отметим, что в зависимости от выбора метода бюджетирования финансовая модель предложит для заполнения необходимые ячейки,
ставя перед ними красную звездочку, а также в поле «показатель» и поле «ед.изм.» высветит адекватный данному методу показатель и единицу измерения.
То есть необходимо внимательно следить за коммуникацией представленных финансовых моделей.

Планирование B2B-продаж значительно проще, поэтому мы перейдем к этому разделу чуть ниже.

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

В этом случае финансовая модель естественно предлагает (см. EXCEL-файлы с финмоделями) внести данные о плановом среднем чеке
одного клиентского заказа или о плановой средней стоимости продажи одного товара в зависимости от выбранного метода бюджетирования
(«заказы» или «товары»). Но вносить эти средние величины уже необходимо не одной суммой для каждого бюджетного периода,
а для каждого типа детализации в отдельности – у нас их в самом общем случае 12-ть для B2C-продаж.

Поэтому сразу после внесения плановых объемов продаж верхнего уровня, причем не важно в деньгах, в штуках товаров или в количестве заказов,
финансовая модель «задает» три вопроса:

— нужна ли детализация по направлениям бизнеса;

— нужна ли региональная детализация;

— нужна ли детализация по категориям товаров.

Для ответов на эти вопросы предусмотрены ячейки со сплошной линией границы, при наведении курсора на которые выпадает список
из двух возможных значений: «да» или «нет». При ответе «да» предлагается заполнить проценты распределения плановых объемов продаж
по соответствующим направлениям выбранного типа детализации.

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

Планирование средних чеков

Например, если в компании присутствуют направления продаж как офлайн, так и онлайн, тогда учет распределения плана продаж по
этим направлениям бизнеса будет задаваться так:

Распределение плана продаж на онлайн и офлайн

Здесь по онлайн направлению задаются проценты объемов продаж вручную, а для офлайн направления рассчитываются, как «100% минус процент онлайна».

Ну а в нашем случае, когда присутствуют все возможные детализации, внесение процентов распределения плановых объемов продаж
выглядит так (см. EXCEL-файлы с финансовыми моделями):

Детализация бюджета продаж

Распределение продаж задается во вкладке «условия» в виде процентов распределения, а расчет в деньгах, штуках товаров или
количестве заказов происходит во вкладке «расчеты».

Теперь, когда распределение плана продаж задано по всем необходимым комбинациям детализации бизнеса, задаются вручную средние
стоимости продаж одного товара или одного заказа (в случае выбора нефинансового метода бюджетирования) для каждой комбинации.
Выглядит это следующим образом:

Детализация средних чеков

После чего во вкладке «расчеты» производится расчет итоговых средних чеков (средних стоимостей одного товара) для каждого
бюджетного периода финансовой модели, и они выводятся в итоговую строку под внесенными данными о средних чеках в различных комбинациях,
см. последний рисунок – последняя строка.

В случае выбора метода бюджетирования «финансовый» модель задает вопрос: «Нужно ли задавать средний чек одного заказа?»
При ответе «да» все происходит как в вышеуказанном рисунке, при ответе «нет» — средние чеки не задаются и соответственно в
финансовой модели будут отсутствовать аналитики в разрезе количества заказов и штук товаров.

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

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

Схему построения бюджета закупок можно посмотреть
здесь.

По аналогии с заданием среднего чека задаем вручную рентабельность продаж:

Детализация рентабельности продаж

Итоговая рентабельность также рассчитывается через вкладку «расчеты» и выводится в итоговую строку рентабельности во вкладку
«условия», см. рисунок.

Производим расчет себестоимости по формуле:

COGS = Sales * (1 – R).

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

Распределение продаж по дням недели

Здесь для каждого дня кроме понедельника процент распределения продаж вносится вручную, а для понедельника рассчитывается
как 100% минус сумма процентов по всем остальным дням.

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

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

Операционный цикл онлайн заказов

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

Отметим здесь, что мы крайне поверхностно в настоящей финансовой модели учитываем специфику интернет-торговли,
например, мы даже не закладываем в модель уровень фулфилмента (по умолчанию он у нас равен 100%).
Дело в том, что полная детальная финансовая модель онлайн ритейла с учетом всех особенностей операционного цикла онлайн
продаж выложена на нашем же сайте здесь .
Но все-таки, чтобы обратить на это внимание пользователей, мы внесли изложенную выше специфику в условия финмодели.

Выручка от предоставления услуг доставки в рамках направления B2C-продаж задается через процент продаж, доставляемых до клиента.
Понятно, что такой процент для офлайн торговли невысок (у нас он задается на уровне 20-25%, см. финмодель), а для онлайн направления –
стремится к 100% (у нас он на уровне 90-95%).

Направление B2B у нас представлено двумя типами – это обычная комиссионная офлайн продажа товаров, за которую наше
гипотетическое торговое предприятие получает комиссионное вознаграждение от поставщиков, выраженное в виде процента от товарооборота,
и онлайн торговая площадка – Market Place, где поставщикам предлагается разместить рекламу своих товаров, после чего при возникновении
клиентских заказов, наша компания передает эти заказы поставщикам, в результате чего получает свое агентское вознаграждение,
как процент от суммы клиентского заказа или если говорить в целом, то от B2B-товарооборота.

Задается бюджет продаж B2B-услуг через товарооборот выраженный в тысячах рублей и процент комиссионного или агентского
вознаграждения (B2B-комиссии).

Расчет бюджета закупок в финансовой модели производится во вкладке «расчеты_ежедн» по следующей технологии.
В соответствии с ежедневным распределением продаж, которое пользователь задает, как было указано выше, во вкладке «условия»,
происходит распределение по дням бюджетного года во вкладке «расчеты_ежедн» общего плана продаж по всем выбранным направлениям бизнеса.
После чего на каждый день рассчитывается себестоимость. Далее напротив каждой ежедневной суммы себестоимости посредством формул
финансовой модели, учитывающих введенные пользователем данных о периодах оборачиваемости продаж, проставляются даты закупки.
Суммируя относительно этих дат закупки себестоимость продаж по бюджетным периодам (кварталам или месяцам бюджетного года), получаем план закупок.

Для понимания этой незамысловатой технологии сравним наш метод расчета бюджета закупок с классическим, представленным во
«всех книжках» по этой теме, суть которого состоит в том, чтобы сначала, отталкиваясь от объемов товарных запасов на начало Периода
(обозначим ТЗ(0)), через себестоимость утвержденного бюджета продаж Периода и заданный в финмодели
коэффициент оборачиваемости запасов ОбТЗ
(не путать с периодом оборачиваемости!) рассчитать товарные остатки на конец Периода (обозначим ТЗ(1)) по формуле:

ТЗ(1) = 2 * C / ОбТЗ — ТЗ(0).

После чего бюджет закупок SF(+) за Период рассчитывается по такой формуле:

SF(+) = ТЗ(1) + C — ТЗ(0).

Все очень даже логично выглядит, если только не вдаваться в смысл «классической» формулы расчета коэффициента
оборачиваемости запасов или
формулы расчета периода оборачиваемости P(ОбТЗ)
в днях через коэффициент оборачиваемости ОбТЗ за Период:

P(ОбТЗ) = (кол-во дней Периода) / ОбТЗ =

= (кол-во дней Периода) / [ C / ( ТЗ(0) + ТЗ(1) ) / 2 ].

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

ТЗ(0) = 100руб.,

ТЗ(1) = 0руб.,

C = 100руб.,

P(ОбТЗ) = 31день / [ 100руб. / ( 100руб. + 0руб. ) / 2 ] = 15,5 дней.

То есть классическая формула, представленная во всех учебниках говорит нам о том, что период оборачиваемости запасов в нашем случае
равен чуть более чем 15-ти дням, но ведь товар-то у нас физически был всего лишь два дня!

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

Отличие же нашего подхода от «классического» к финансовому моделированию состоит в том, что мы используем прямой метод
формирования бюджетов, например, как в данном случае, бюджета закупок, смысл которого состоит в том, что все типовые операции
распределяются по датам бюджетного периода. Если в рамках ежедневного распределения плана продаж нашей финмодели мы планируем
16-ого августа произвести продажу электроники на 100руб. в себестоимости и при этом в условиях по оборачиваемости запасов на
август внесен плановый период оборачиваемости по категории «Электроника» в размере 15 дней, то соответственно в бюджете закупок
01-ого августа появится сумма 100руб. Далее, собирая по дням рассматриваемого Периода все плановые закупки, получаем бюджет закупок Периода.

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

Забегая вперед, отметим лишь то, что итог функционального отчета о прибылях и убытках (функциональный P&L) по всему бюджетному
году в общем случае не совпадает с приростом собственного капитала в прогнозном балансе, а итог маржинального P&L совпадает.
При этом в разрезе по бюджетным периодам ситуация ровно наоборот. А также на основе управленческого маржинального отчета о прибылях и
убытках система управления выстраивается более эффективно.

Задаем условия на возвраты товаров клиентами (по закону имеют право и это не редко случается) путем внесения процента возврата
товаров относительно продаж в разрезе товарных категорий и среднего срока возврата товаров:

Планирование условий возврата товаров

Теперь у нас есть все чтобы сформировать отчет о движении товарных запасов (Stock Flow) и рассчитать периоды оборачиваемости продаж и
товарных запасов в целом:

Отчет о движении товаров SF

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

В следующих финансовых моделях ритейла с принципом бюджетирования «снизу вверх» мы дополним финмодели условиями на выбытие неликвида и
залежалого товара через формализацию условий проведения маркетинговых акций.

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

В нашей финмодели мы выделяем следующие статьи переменных расходов:

— маркетинговые расходы;

— расходы входящей логистики;

— расходы складской логистики;

— расходы исходящей логистики;

— расходы кол-центра;

— аренда торговых площадей;

— мотивация коммерческого персонала;

— переменные финансовые расходы.

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

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

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

В том случае если пользователем предполагается учет продаж в количестве заказов, то расходы входящей логистики предлагается
рассчитать по следующей схеме. Поскольку мы находимся в условиях, когда операционные расходы выносятся на аутсорсинг,
то это значит, что нашему предприятию потребуется заказывать машины в транспортных компаниях для доставки закупаемых
товаров/заказов от Поставщиков. Поэтому для расчета бюджета входящей логистики устанавливается тип машины с точки зрения
возможных объемов перевозки и стоимость использования машины в сутки, а далее через задание среднего объема одного заказа
во вкладке «расчеты_ежедн» рассчитывается необходимое количество машин на каждый день. Внесение данных об условиях расчетов
бюджета входящей логистики выглядит так:

Бюджет входящей логистики

Во вкладке «расчеты_ежедн» расходы входящей логистики отнесены к датам соответствующих закупок товаров.

Бюджеты складской и исходящей логистики задаются аналогично, за тем лишь исключением, что при позаказном расчете бюджетов
задается просто стоимость на один заказ, причем исходящая логистика отталкивается от объемов доставляемых продаж, которые в
свою очередь также вносятся на листе «условия» в отдельном поле.

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

Во вкладке «расчеты_ежедн» расходы складской логистики и кол-центра для B2C-продаж отнесены к средне арифметическим датам
между датами продажи и закупки соответствующих товаров.

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

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

Допустим мы планируем какие-либо акции под праздничный день 8 марта, чтобы в этот день объемы продаж были существенно больше,
чем в обычный день. Проведение соответствующих маркетинговых мероприятий может начинаться за месяц до 8-ого марта, т.е. в феврале.
Тогда получается, что, так сказать, сверх выручка этого праздничного дня окажется в марте, а маркетинговые расходы, которые на самом
деле непосредственно связаны с этими продажами, «лягут» в февраль, согласно методологии функционального отчета P&L.
В результате такой отчет о прибылях и убытках является просто статистическим отчетом о доходах и расходах, распределенных по
функциональным подразделениям компании и по периодам.

Кстати, при функциональном подходе совсем необязательно разделять расходы на переменные и постоянные – не имеет смысла,
будет правильнее, если расходы будут разделены по принципу разделения предприятия на функциональные подразделения.
Хотя мы разделяем, но в финансовой модели для бюджетирования «снизу в верх» сделаем отчет P&L с функциональной разбивкой.

С другой стороны смотрит на экономику предприятия маржинальный отчет P&L (в финансовой модели это вкладка «mPL»).
Методология маржинального отчета о прибылях и убытках предполагает, что переменные расходы попадают в период, если они непосредственно
связаны с выручкой данного периода, причем независимо от того, когда (в каких периодах) они были произведены.
При таком подходе мы видим реальную экономику продаж и можем сравнивать периоды между собой, для того чтобы понимать повышается
или понижается эффективность операционной деятельности и если понижается, то в рамках каких операционных подразделений.

В «продвинутых» компаниях, где финансовые директоры доносят смысл функционального и маржинального подхода к управлению до руководства
компаний, обычно управленческая отчетность в части отчета о прибылях и убытках содержит одновременно две формы: функциональную и маржинальную.
Причем обычно маржинальный отчет P&L в таких компаниях может иметь даже ежедневную детализацию (в одной из крупнейших российских
торговых онлайн компаний автор создал такую ежедневную финансовую отчетность – эта компания одной из первых среди топ-30
Интернет-ритейлеров вышла в точку безубыточности).

Отметим, что в нашей финмодели в маржинальном P&L-отчете мы не учитываем возвраты товаров.

Также при маржинальном подходе появляется смысл в понятии
эффективная маржа, см. вкладку «Turnover»,
а также в понятии «экономика на один заказ», см. вкладку «UE».

Постоянные расходы в нашей финансовой модели имеют следующую разбивку по статьям:

— ФОТ;

— социальные сборы (ПФР, ФСС, ФФОМС);

— аренда офиса;

— IT-расходы;

— канцелярские расходы;

— хозяйственные расходы;

— расходы на персонал;

— представительские расходы;

— командировочные расходы;

— постоянные финансовые расходы;

— юридические расходы.

Бюджет ФОТ формируется в финмодели через внесение планового штатного расписания, включающего список должностей,
количество сотрудников и их оклады:

Бюджет ФОТ

По аналогии задаются проценты отчислений во внебюджетные фонды, см. финмодель.

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

Для получения отчета о прибылях и убытках нам осталось внести
ставку налога на добавленную стоимость (НДС). В нашем случае мы предлагаем внести
в финмодель две ставки: для исходящего НДС и входящего НДС, поскольку, например, продажи могут идти всегда
со ставкой 18%, а вот закупки чаще всего бывают смешанными, поэтому в заполненной нами финансовой модели,
мы внесли ставку входящего НДС в размере 17%.

Внеся все необходимые данные во вкладку «условия», наша финансовая модель автоматически рассчитает и сформирует отчет
о прибылях и убытках, см. вкладку «PL».

Ранее в этом разделе мы уже представили формат подробного отчета P&L нашей финмодели, соответственно здесь представим его «свернутый» вариант:

Укрупненный отчет PL

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

Ключевые показатели PL-отчета

Это позволяет не перескакивать каждый раз во вкладку «PL» для того, чтобы посмотреть, какой результат получился,
после внесения Вами очередных изменений в начальные условия.

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

Условия определяющие движение денежных средств вносятся во вкладке «CF-условия». Необходимо, чтобы для каждой доходно-расходной
операции, учитываемой во вкладке «расчеты_ежедн» и попадающей потом в отчет P&L, был определен порядок ее оплаты.
Под порядком оплаты того или иного действия понимается распределение долей оплаты во времени.
Например, мы покупаем партию товаров у поставщика общей стоимостью в 100руб. на следующих условиях по оплате: предоплата
в размере 30% за 15 дней до отгрузки и доплата или полный расчет через 45 дней после отгрузки в размере 70%.

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

Внесение периода оборачиваемости дебиторской задолженности для B2C-торговли вполне понятно – задается количество дней
для каждой комбинации детализации продаж с момента продажи клиенту товара до момента поступления ДС на расчетный счет компании –
обычно это занимает один-два дня в зависимости от времени суток и расторопности инкассаторской службы.

Поступления же комиссионных или агентских вознаграждений в рамках направления продаж B2B-услуг обычно происходит накопительным
итогом за отчетный месяц не позднее некоторой определенной в договорах с поставщиками даты месяца, следующего за отчетным.
Именно такие параметры и просит внести пользователя во вкладке «CF_условия» финансовая модель:

Условия поступления денежных средств

Здесь нумерация месяцев начинается с нуля – если нулевой, то это отчетный, если первый, то это следующий за отчетным месяц и т.д.
Если мы в нашем примере рассмотрим онлайн продажи B2B-услуг, то «единица» напротив «№мес» означает что агентское вознаграждение за
текущий отчетный месяц нам поступит в виде ДС на следующий месяц, причем если быть точным, то 20-ого числа следующего месяца за отчетным,
о чем говорит число 20 напротив «число_мес».

Период оборачиваемости кредиторской задолженности или что тоже самое условия оплат закупки товаров и расходов в части оплат
товаров и маркетинговых условий задаются через внесение во вкладку «CF_условия» средних процентов предоплат/доплат и сроков в днях
относительно времени проведения операций закупки или начисления расходов. Причем периоды оборачиваемости предоплат вносятся со знаком «минус»,
а доплат – со знаком «плюс».

Условия оплат остальных расходов, кроме оплаты ФОТ, задаются через внесение номера месяца оплаты, где нулевым является отчетный месяц,
и число месяца оплаты. После чего во вкладке «расчеты_ежедн» все эти условия обрабатываются и попадают в сведенном виде в отчет ДДС во вкладке «CF».

Оплаты ФОТ задаются через проценты аванса и оплаты ФОТ сотрудникам, а также через номера месяцев и числа месяцев выплаты аванса и
доплаты – в нашем случае аванс составляет 60% и выплачивается 25-ого числа отчетного месяца, соответственно полный расчет с сотрудниками
в размере 40% от ФОТ производится 10-ого числа месяца, следующего за отчетным.

Условия оплаты расходов

Итак, внося в самом начале вкладки «CF_условия» начальный капитал бюджетного года, как сумму денежных средств оставшихся
с прошлых периодов, получаем отчет о движении денежных средств (отчет Cash Flow), находящийся и автоматически формирующийся
во вкладке «CF» нашей финансовой модели:

Отчет о движении денежных средств CF

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

Почему наиболее легким в формировании? Дело в том, что наши финмодели устроены таким образом, что они самым непосредственным
образом распределяют все типовые операции (покупка, продажа, платежи, поступления ДС и т.д) в виде ежедневных потоков,
пронизывающих весь бюджетный год. Например, если хотим узнать дебиторскую задолженность клиентов по оплате или кредиторскую
задолженность в виде недопоставки им товаров на произвольную дату бюджетного года (не обязательно на конец месяца или квартала),
то просто сравниваем объемы продаж клиентам и объемы поступления от них ДС за весь бюджетный год до выбранной даты и если продажи
оказались больше оплат, то значит сформировалась дебиторская задолженность, а если наоборот, то кредиторская, т.е. нами получены авансы от клиентов.

Почему самым важным? Контроль в виде основного балансового равенства активов пассивам не сойдется если в финансовой модели
допущены любые типы ошибок как в формулах финмодели – ошибки технического характера, так и в методологии расчета тех или иных
финансово-экономических показателей – методологические ошибки.

У нас в активах баланса выделяются только оборотные активы (в начале раздела мы говорили о том, что в финмоделях настоящего
раздела мы опустили учет внеоборотных ативов, таких как, например, основные средства, чтобы не усложнять модели) разбитые по следующим статьям:

— денежные средства;

— товарные запасы;

— дебиторская задолженность;

— НДС.

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

Пассивы прогнозного баланса разделены на статьи:

— начальный капитал;

— нераспределенная прибыль/убыток;

— кредиторская задолженность;

— задолженность по оплате НДС.

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

Выглядит балансовый отчет (Balance Sheet) так:

Баланс торговой компании

Обратим внимание на строку с контролем, расположенную под строкой «нераспределенная прибыль/убыток».
Формула данного контроля в общем виде имеет следующий вид:

Нераспределенная прибыль/убыток на конец бюджетного года =

= EBITDA маржинального P&L

В нашем случае, когда маржинальный P&L формируется без учета возвратов товаров, формула контроля такая:

Нераспределенная прибыль/убыток на конец бюджетного года =

= EBITDA маржинального P&L +

+ Валовая прибыль в разрезе возвратов товаров

Это именно то, о чем мы говорили выше про различие функционального и маржинального P&L.

В заключение отметим следующее. Конечно бюджетирование сверху вниз имеет право на существование, но все-таки формирование
планов и прогнозов на основе маркетингового анализа таких экономических сущностей как

— емкость рынка,

— объем и структура каналов вероятного траффика с учетом конкурентной среды,

— уровни конверсии,

— уровни средних чеков или покупательной способности потенциальных клиентов,

— причины отказов от покупок;

— возвращаемость клиентов;

— и т.д.

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

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

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

ДЗ(1) = 2 * S / ОбДЗ — ДЗ(0),

где

ДЗ(1) — дебиторская задолженность на конец Периода;

S — бюджет продаж за Период;

ОбДЗ — плановый коэффициент оборачиваемости дебиторской задолженности;

ДЗ(0) — объем дебиторской задолженности на начало периода.

Гипотетически, зная объем продаж за Период, а также объемы дебиторской задолженности на начало и конец Периода,
можно рассчитать объем поступлений ДС CF(+) за Период:

CF(+) = ДЗ(0) + S — ДЗ(1).

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

Все вышесказанное аналогично применимо и к кредиторской задолженности. Приведем еще один подобный пример применения «красивых» формул.
Речь пойдет о, так называемом, косвенном методе расчета финансового потока (Cash Flow).
Обратим внимание на следующее. Если у нас в распоряжении есть баланс на начало Периода:

Активы(0) = ДС(0) + ТЗ(0) + ДЗ(0);

Пассивы(0) = СК(0) + КЗ(0),

где известны все строки

и есть баланс на конец Периода:

Активы(1) = ДС(1) + ТЗ(1) + ДЗ(1);

Пассивы(1) = СК(1) + КЗ(1),

где неизвестными являются только объемы денежных средств ДС(1) и собственного капитала СК(1),
поскольку объемы на конец Периода товарных остатков ТЗ(1), а также дебиторской ДЗ(1) и
кредиторской задолженностей КЗ(1) мы «рассчитали» через коэффициенты оборачиваемости.
Тогда, очевидно, отнимая построчно из баланса на конец Периода баланс на начало Периода должно сохраниться основное балансовое равенство:

D(Активы) = Активы(1) — Активы(0) = Пассивы(1) — Пассивы(0) = D(Пассивы),

где через D обозначаем «дельту» или разность между значениями показателя на конец и начало Периода.
Раскладывая это равенство по статьям баланса получаем тождество:

D(ДС) + D(ТЗ) + D(ДЗ) = D(СК) + D(КЗ),

элементарно преобразовав которое, получаем формулу косвенного метода расчета финансового потока Cash Flow
(напомним, что финансовый поток Периода это разница между притоком и оттоком ДС за Период, подробнее см.
здесь, которая в том числе равна нашей дельте D(ДС)):

D(ДС) = D(СК) + D(КЗ) — D(ТЗ) — D(ДЗ).

Наконец, учитывая тот факт, что в нашем случае изменение собственного капитала равно итогу отчета о прибылях и убытках
(функционального отчета P&L) или равно EBITDA:

D(СК) = EBITDA,

получаем окончательный вид формулы косвенного расчета финансового потока за Период:

CF = D(ДС) = EBITDA + D(КЗ) — D(ТЗ) — D(ДЗ).

В общем виде формула косвенного метода аналогична приведенной здесь, только дополнительно содержит изменения
по остальным строкам баланса и остальные слагаемые из строк полного отчета о прибылях и убытках (P&L),
от чего суть не меняется. Кстати, НДС мы не стали учитывать, просто, чтобы не перегружать представление расчетов.
На самом деле формула косвенного метода — это обычное балансовое тождество, представленное немного в ином виде,
и уж если оно сошлось в финансовой модели, по какому бы принципу эта модель не строилась, т.е. активы сравнялись с пассивами,
то при прочих равных условиях некий уровень финансово-экономической корректности в модели уже точно присутствует.

Вот такая арифметика!

Теперь в очередной раз вспоминаем многочисленные примеры того, что формулы коэффициентов оборачиваемости далеки
от реальной жизни и приходим к соответствующим выводам. И конечно же тогда возникает вопрос: а зачем они (эти формулы) нужны?

Дело в том, что изначально разработка универсального финансово-экономического инструментария оценки как текущей деятельности,
так и перспектив развития действующих предприятий и новых проектов, требовалась в банковской и инвестиционной сфере,
для создания конвейерных процессов принятия решений по кредитованию и инвестированию.
Причем требовалось именно на основе внешней финансовой отчетности создать такой инструментарий,
поскольку в свою очередь сама по себе финансовая отчетность универсальна и, что безусловно важно, должна по закону
формироваться и публично предоставляться. (Банк просто физически не может «заходить» в каждую компанию, которая обращается
к нему за кредитом, чтобы проанализировать всю первичку и произвести расчеты с учетом каждой отдельной специфики.)
Ну и конечно же многочисленными теоретиками-экономистами в финансовых институтах за пару десятков лет были разработаны
соответствующие формулы, часть из которых можно посмотреть у нас на сайте в
разделе финансово-экономического анализа,
и еще некоторая часть, а именно инвестиционная аналитика, которая изложена у нас в рамках следующей страницы раздела «управление финансами».

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

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

В заключение затронем еще один важный вопрос, а именно расчет покрытия кассовых разрывов.
Если посмотреть на отчет о движении денежных средств (Cash Flow) нашей финансовой модели, то видим, что по третьему кварталу
по строке «Остаток денежных средств на конец периода» стоит отрицательное значение в размере «минус 12млн.руб.» – это как раз-таки
и есть кассовый разрыв или объем нехватки денежных средств для реализации смоделированных планов.

Соответственно сразу выкладываем для скачивания EXCEL-файл с финансовой моделью, рассчитывающей,
кредитование кассовых разрывов:

СКАЧАТЬ


Финмодель ритейла с покрытием кассовых разрывов

Эту же финансовую модель, только в незаполненном виде можно скачать здесь:

СКАЧАТЬ


Незаполненная финмодель ритейла с покрытием кассовых разрывов

Хорошо, когда при ежемесячной или ежеквартальной, как в нашем случае, детализации кассовый разрыв явно виден.
Но на самом деле это не обязательно. Например, если финансовый цикл существенно меньше, чем месяц, да ко всему прочему
не является устойчивым от месяца к месяцу, то может произойти ситуация, при которой нехватка денежных средств происходит
внутри каждого месяца, допустим на несколько дней, а в целом по каждому месяцу финансовый поток положителен и в
рамках классического формата отчета Cash Flow кассовые разрывы явно не выявляются.

Отчасти именно это обстоятельство и привело в свое время автора к тому, чтобы разрабатывать финансовые модели,
опираясь на методологию ежедневной детализации, подобные тем, которые представлены здесь. При таком подходе нам необходимо
в листе «расчеты_ежедн» нашей финмодели разложить все притоки и оттоки денежных средств по дням бюджетного года,
в результате чего мы получим ежедневный финансовый поток накопительным итогом, который в нашем конкретном случае выявил,
как раз то, о чем мы говорили выше – оказывается внутри каждого квартала наблюдаются небольшие по количеству дней периоды кассовых разрывов.

Будем предполагать, что у нашей торговой компании потенциально есть возможность заключения с каким-либо банком договора
на кредитную линию в форме овердрафта, с достаточным лимитом. Годовую процентную ставку пользователь может задать во вкладке
«CF_условия», мы ее задали на уровне 17%. Обычно под овердрафт не требуется залогов, поскольку это оперативный инструмент
финансирования нехватки средств для проведения текущих платежей, но конечно же предполагается, что заемщик имеет «хорошее»
финансовое состояние, что это значит можно, например, посмотреть
здесь.

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

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

Во вкладке «расчеты_ежедн» финмодели мы реализовали с помощью формул EXCEL все указанные выше условия кредитования
кассовых разрывов по модели овердрафта, в результате чего наш отчет о движении денежных средств (Cash Flow) дополнился
блоком финансовой деятельности с оборотами по привлечению и возврату кредитных средств, а также оплатами процентов за
пользование заемными деньгами. Выглядит теперь наш Cash Flow так:

Отчет ДДС после покрытия кассовых разрывов

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

Также не забываем, что теперь после учета финансовой деятельности ниже показателя EBITDA необходимо добавить начисление процентов
по кредитам и в нашем случае в качестве итога отчета P&L мы вместо EBITDA получаем показатель EBT – Earnings Before Tax
или прибыль до налога на прибыль, поскольку мы предположили, что в текущих финансовых моделях обойдемся без учета основных
средств и амортизации.

Ну а в балансе, чтобы он сошелся, мы добавили в пассивах три статьи:

— задолженность по кредитам и займам;

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

— задолженность по оплате %-тов по кредитам;

и перенастроили формулы по статье «нераспределенная прибыль/убыток» с показателя EBITDA отчета P&L на показатель EBT.
Аналогично мы обошлись с «денежными средствами» активов баланса нашей финансовой модели.

Незаполненные финансовые модели

СКАЧАТЬ


Незаполненная финансовая модель ритейла Top-Down OutSource

СКАЧАТЬ


Незаполненная финмодель ритейла для коммерсантов Top-Down OutSource

Читать далее —
Инвестиционная модель в EXCEL с NPV-анализом

Управление финансами

  • Предел потребительского спроса

  • Финансовая стратегия

  • Бюджетирование продаж и закупок

  • Финансовый поток и структура финансового цикла

  • Маржинальный отчет о прибылях и убытках P&L

  • Типовые финансово-хозяйственные операции. Баланс

  • Учет расходов в трех формах финансовой отчетности

  • Отражение бизнес-процесса в балансе предприятия

  • Эффективность операционной деятельности. EBITDA

  • БДДС-Финансовый поток-Кассовые разрывы-Cash Flow

  • Итоговый БДР. Итоговый прогнозный баланс

  • Примеры классических форм бухгалтерской отчетности

  • Финансово-экономический анализ предприятия

  • Период оборачиваемости продаж и товарных запасов

  • Разработка финансовой модели ритейла в EXCEL

  • Инвестиционная модель в EXCEL с NPV-анализом

  • Финмодель инвестпроекта в EXCEL, версия 2.0

  • Финансовые модели бюджетирования

Понравилась статья? Поделить с друзьями:
  • Набор математических текстов word
  • Набор макросов для word
  • Набор макросов для excel
  • Набор логических функций excel
  • Набор команд которые автоматически выполняются в word как одна команда называется