Из документации в Power BI не всегда удается понять – что такое мера и когда её лучше использовать. Речь идёт не о фиксированном значении, а о постоянных вычислениях в зависимости от поступающей информации, позволяющих построить автоматизированный отчет с показателями, к которым привыкли специалист и заказчик. В каких случаях вам пригодятся меры и как они работают?
Средний расход за день
При планировании рекламной кампании известен целевой показатель среднего расхода за день. Если он стал слишком большим или маленьким – значит что-то пошло не так: объявления не показываются или показываются слишком часто. Например, вы собрали данные за полгода из Яндекс.Директ, агрегированные по датам и кампаниям. У вас есть значение расхода за каждый день. Использование меры поможет вычислить средний расход за день:
Среднее значение – это сумма всех значений, деленная на их количество. Вычисление доступно в Power BI по умолчанию. Введите данные о расходе, чтобы появилась сумма:
Возьмите среднее значение:
Результат не похож на то, что вы ожидали увидеть. При таком среднем расходе вам потребуется более 19 лет, чтобы потратить весь бюджет. А данные у вас только за полгода.
Выведите таблицу, чтобы понять – почему так произошло.
В таблице два столбца – оба – значения колонки «date» из источника:
Первый будет количеством строчек,
второй – количеством уникальных значений.
Таблица показывает, почему значение среднего расхода получилось таким маленьким: данные агрегированы не только по датам, но и по кампаниям – для каждой выведена информация о расходе за каждую дату, поэтому там много неуникальных дат:
При попытке взять среднее значение, PBI разделит сумму дохода по всем строкам на их количество. Используйте меру, если вы хотите разделить сумму дохода на количество уникальных дат. Её нужно создать и описать на языке DAX – знаком пользователям Excel, потому что на нём пишутся формулы.
Дадим формуле название averageDailyCost и опишем механизм её действия – взять сумму колонки cost и разделить на количество уникальных значений колонки date.
Получившийся результат нужно сделать удобным для восприятия: ограничить количество знаков после запятой, визуально отделить тысячи – это произойдёт автоматически, если указать, что значение является валютой.
Сравним среднее значение и нашу меру – averageDailyCost. Этот результат ближе к правде.
Если воспользоваться фильтрами – по дате, названию кампании или какими угодно другими, мера поведёт себя предсказуемо, а именно – при выборе периода, например, в неделю, мера моментально пересчитается и покажет средний расход за неделю:
В ней можно учесть НДС, комиссию агентства и любые коэффициенты, влияющие на конечный результат – ограничением являются только ваши навыки работы с DAX и фантазия.
CPC и CPM
Средняя цена клика и цена за тысячу показов важны не меньше, чем средний расход за день. Эти значения оговариваются с заказчиком перед стартом работ. Вы можете вычислить их по простой формуле – сумма расхода делится на сумму кликов.
В случае показов – ещё умножается на 1000.
План/факт
Специалисту нужно придерживаться стратегии продвижения, согласованной на первом этапе. Power BI позволяет построить простые и информативные графики, которые помогут следить за выполнением плана. Например, заказчик Михаил заказал у вас рекламу акции своего фитнес-центра, проходящей с 5 марта по 5 апреля. Опираясь на свой опыт, вы договорились с Михаилом, что приведёте из Яндекс.Директ 132 звонка.
Подвяжите план к факту через общий календарь – отдельная таблица, существующая для связи других таблиц по дате.
Чтобы построить элементы отчета, вам нужно вывести фильтр по датам и ограничить его оговоренным периодом – с 5 марта по 5 апреля. Данные попадают из таблицы с общим календарём.
На выходе получается информативный график – план, факт и процент его выполнения на сегодняшний день.
Значение факта можно взять из Google Analytics или другой системы учета конверсий, а плана – из таблицы. Вы увидите корректные данные, обозначив в фильтре начало и конец периода, так как данные двух таблиц связаны по дате. Разделив сумму конверсий по факту на сумму конверсий по плану, вы получите значение в спидометре.
Несмотря на то, что в плане у нас только одно число, необходимо произвести над ним вычисление, чтобы мера приняла его. Таков механизм меры – она принимает результаты вычислений, а не значения столбцов. Можно вычислять не сумму, а, например, минимум или максимум – в нашей задаче, где значение всего одно, это не сыграет роли.
Спидометр нарисован, данные выведены, на календаре 21 марта, план выполнен на 53%. Вы поставили 70 конверсий из 132. Эта информация не даст понимания – двигаетесь ли вы по плану. Нужно выяснить, какой процент требуется выполнить к 21 марта. Посчитайте, сколько конверсий в день вы должны были поставить по договору – понадобится количество конверсий и дней в периоде. Вычитайте из даты конца дату начала, чтобы получить значение.
Результат операции получится датой, поэтому умножим его на 1, чтобы преобразовать его в число. В меру нужно класть результаты вычислений, а не столбцы, заверните их, например, в функцию MIN() для разнообразия. В таблице только одна строчка с единственным значением, поэтому неважно, что вы вычислите: минимум, максимум или сумму – результат будет тот же.
Сходится. В периоде 31 день:
Разделите количество конверсий на количество дней в периоде, получив на выходе значение конверсий в день, которые вы должны поставить по плану:
Заверните количество конверсий в вычисляющую функцию – SUM(), чтобы мера приняла это значение.
Сегодня 21 марта. Вам нужно вычислить, сколько дней от начала периода прошло по состоянию на вчерашний день. Возьмите вчерашний день, а не сегодняшний, потому что до конца дня рекламные объявления продолжают показываться – данные неактуальны.
Формула для вычисления: из сегодняшней даты вычитаете дату начала периода, не забыв умножить на 1, чтобы преобразовать в число:
С начала периода прошло 16 дней – всё сходится.
Умножьте количество дней на количество конверсий в день, чтобы вычислить, сколько вы должны поставить к сегодняшнему дню:
Осталось только вывести значения на график и посмотреть:
Идём по плану.
ROI
В свое время Google сделал интересный финт, введя показатель ROAS – return on ad spent. Это слегка измененный ROI, в котором убрали из числителя расход. Если ROI – это «(Доход – Расход) / Расход», то ROAS – это просто «Доход / Расход», который ни при каких условиях не может быть отрицательным.
Минимум ROI: -1 или -100%, минимум ROAS: 0. ROAS не скажет рекламодателю о сливе бюджета в минус, только о том, что не вернул инвестиции. Также ROAS при положительном результате принимает завышенные значения по сравнению с ROI.
В расчете ROI для заказчика учитывайте комиссию, которую забирает агентство за оказание своих услуг, добавив её в расход. Это можно сделать по похожему алгоритму, использовавшимуся при работе с планом конверсий.
Занесите данные о комиссии агентства в план
Что нужно вычислить:
- Количество дней в периоде (уже вычислили);
- Сумму комиссии в день (?);
- Количество дней с начала периода по сегодня (уже вычислили);
- Сумму комиссии за период со старта кампании по сегодня (?)
- Доход – возьмем из Google Analytics;
- Расход – возьмем из Яндекс.Директ, но нужно прибавить сумму комиссии и умножить то, что получилось на 1.2 – НДС является статьёй расхода;
- ROI (?).
Сумма комиссии в день:
Сумма комиссии в период с начала по сегодня:
Расход:
ROI:
Это будет более честный ROI. В расчете можно учесть себестоимость товара и отменённые транзакции, а также товары, которые покупатель вернул. Если заказчик ведет базу данных, где учитываются только покупки – подключитесь к ней и собирайте данные по транзакциям.
Итоговый ROI:
CPA (CPO, CPT и другие)
Заказчику станет проще планировать бюджет, если он будет понимать, во сколько ему обходится целевое действие: обращение, покупка, звонок и т.д. Есть всё необходимое для вычисления: расход с учетом комиссий и НДС, а также количество достигнутых целей.
На основе этой информации заказчик сможет принять взвешенное решение об изменениях в бюджете. Низкий CPA покажет качественную работу специалистов, а высокий – даст сигнал обратить внимание на их работу и задуматься о перспективах сотрудничества.
Хранение мер
Мера не является столбцом таблицы, но хранится среди них.
Хотя мера и находится внутри таблицы, она может обращаться не только к ней. Например, в вашем отчете 10 таблиц, в каждой из них вы создали по 5 мер, которые ссылаться на разные таблицы, да ещё и друг на друга.
Для решения этой головоломки вам нужно создать таблицу с пустым столбцом и складывать все меры в неё – подробнее читайте в справке. Начнём с меры daysInPeriod: обратите внимание на её расположение.
Открываем и перекладываем в новую таблицу:
Повторяем до тех пор, пока все меры не окажутся в одном месте. Новые можно заводить сразу в этой таблице, их не придётся искать:
Меры открывают широкие горизонты для вычислений в отчетах, если вы знаете и умеете использовать имеющийся функционал. Правильный подход к работе с мерами поможет построить диалог с заказчиком на языке цифр. Вы всегда будете знать, как оперативно добраться до ключевых показателей, не усложнив при этом процесс. Достаточно следовать нескольким простым рекомендациям, а дальше всё зависит от вашей фантазии и навыков владения DAX.