<?xml version="1.0" encoding="utf-8"?> 
<rss version="2.0"
  xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
  xmlns:atom="http://www.w3.org/2005/Atom">

<channel>

<title>Блоги: заметки с тегом теория</title>
<link>https://blogengine.ru/blogs/tags/teoriya/</link>
<description>Автоматически собираемая лента заметок, написанных в блогах на Эгее</description>
<author></author>
<language>ru</language>
<generator>Aegea 11.0 (v4079e)</generator>

<itunes:subtitle>Автоматически собираемая лента заметок, написанных в блогах на Эгее</itunes:subtitle>
<itunes:image href="" />
<itunes:explicit>no</itunes:explicit>

<item>
<title>График План-Факт во времени</title>
<guid isPermaLink="false">119475</guid>
<link>https://revealthedata.com/blog/all/grafik-plan-fakt-vo-vremeni/</link>
<pubDate>Fri, 16 Oct 2020 12:51:16 +0500</pubDate>
<author>Роман Бунин</author>
<comments>https://revealthedata.com/blog/all/grafik-plan-fakt-vo-vremeni/</comments>
<description>
&lt;p&gt;&lt;a href="https://revealthedata.com/blog/"&gt;Роман Бунин&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;У меня есть задача — сделать стандартный формат для графиков типа «План-Факт». Основная загвоздка произошла для графиков, когда нужно показать как значения плана и факта менялись во времени. Я придумал показывать факт линией, а план заливкой (ареа чартом), но это вызвало разночтение у моих коллег. Я разработал детальные разные варианты и собрал для каждого из них плюсы и минусы.&lt;/p&gt;
&lt;h2&gt;Понимание задачи&lt;/h2&gt;
&lt;p&gt;В компании часто выставляются плановые значения метрик. Их нужно сравнивать с фактическими или прогнозными значениями.&lt;/p&gt;
&lt;p&gt;У нас чаще всего следят за значением на определённый момент времени, а не накопительно. То есть важнее всего значение на последнюю дату, а не за сумму всех дат. Однако важно понимать выполнялись ли планы за предыдущие периоды, так как план по-сути являлся прогнозом, который мы сделали раньше и важно понимать насколько точно мы его делаем. Поэтому нужно смотреть и планы, и факт в динамике и отчетливо видеть их динамику. Если будет подсветка в какие даты не выполняется план — хорошо, но не критично. Чаще всего план — это положительное число, факт может быть как положительным, так и отрицательным.&lt;/p&gt;
&lt;p&gt;График будет использоваться в разных дашбордах, поэтому чем универсальнее получится решение, тем лучше. Либо нужно сделать набор правил под разные задачи. Нужно разработать набор графиков: большой график во времени план/факт, график отклонения план/факт, спарклайны план/факт во времени, сравнение план/факт по разным разрезам, фактоид план/факт. Нужно, чтобы эти графики были «срифмованы» между собой и с остальными графиками темплейта. Обычные графики фактов, если нет установленного плана — это линии.&lt;/p&gt;
&lt;p&gt;Данные для графиков хранятся в формате «дата | значение факта | значение плана». Чем проще и надежнее будет реализация в Табло, тем лучше.&lt;/p&gt;
&lt;h2&gt;Возможные решения&lt;/h2&gt;
&lt;p&gt;Не найдя best practice по этому вопросу и не получив каких-то научных обоснований от коллег по цеху, решил подойти к задаче методом перебора решений.&lt;/p&gt;
&lt;p&gt;Часть графиков придумал сам, часть посоветовали коллеги и читатели блога. Варианты:&lt;br /&gt;
— Линия факт — Ареа план&lt;br /&gt;
— Линия факт — Бары план&lt;br /&gt;
— Линия факт — Засечки план&lt;br /&gt;
— Бары факт — Засечки план&lt;br /&gt;
— Ареа факт — Линия план&lt;br /&gt;
— Линия факт — Линия план&lt;br /&gt;
— Линия факт — Линия план + заливка между линиями&lt;br /&gt;
— Линия факт — Ареа план + заливка между линиями&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Дисклеймер&lt;/i&gt;&lt;br /&gt;
В основном делал упор именно на разработку таймсерий. На остальные графики уделял меньше внимания, фактоиды совсем не делал. Цветовое кодирование тоже пока условное и не финальное. Ещё не докручивал подписи для самих графиков — так как важна последняя дата, то на неё ещё можно будет сделать акцент на самих графиках. Эти вещи докручу отдельно.&lt;/p&gt;
&lt;h2&gt;Линия факт — Ареа план&lt;/h2&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://revealthedata.com/blog/pictures/Line-fact--Area-plan.png" width="1918" height="1012" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;Больше всего в это варианте мне нравится, что линия остается фактом, как и обычные графики, где нет плана.&lt;/p&gt;
&lt;p&gt;Плюсы:&lt;br /&gt;
— Срифмован с остальными графиками, для которых нет плана. Они просто линии, а тут мы добавляем «фон в виде» плана.&lt;br /&gt;
— Физично отображает выражение «факт идёт выше плана». План как гора на фоне, которую мы хотим достичь, факт выше «горы» или «ниже».&lt;br /&gt;
— Легко считывается динамика плана и факта по отдельности.&lt;br /&gt;
— Легко можно продолжить рисовать прогноз линией другого цвета.&lt;br /&gt;
— Легко реализуется и масштабируется в Табло.&lt;br /&gt;
— Можно заменять план на другие форматы «фона» — прошлый год, среднее по рынку и т. п.&lt;/p&gt;
&lt;p&gt;Минусы:&lt;br /&gt;
— Много акцента на план, так как занимает большую площадь заливки.&lt;br /&gt;
— Нет подсветки проблемных и хороших дат.&lt;br /&gt;
— Не «срифмовано» с буллет-чартом, где бар (заливка) тянется к линии.&lt;/p&gt;
&lt;h2&gt;Линия факт — Бары план&lt;/h2&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://revealthedata.com/blog/pictures/Line-fact--Bar-plan.png" width="1920" height="1011" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;Очень похож на предыдущие график, по-сути просто делаем дискретным ареа. Поэтому все те же самые плюсы-минусы, но есть и дополнительные:&lt;/p&gt;
&lt;p&gt;Плюсы:&lt;br /&gt;
— Можно подсвечивать конкретные даты по выполнению плана.&lt;/p&gt;
&lt;p&gt;Минусы:&lt;br /&gt;
— «Рябит» малёк, когда много дат.&lt;br /&gt;
— Техническая заморочка с шириной баров при изменении скейла (Табло оно иногда такое Таблё).&lt;/p&gt;
&lt;h2&gt;Линия факт — Засечки план&lt;/h2&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://revealthedata.com/blog/pictures/Line-fact--Ticks-plan.png" width="1920" height="1011" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;Плюсы:&lt;br /&gt;
— Классно «зарифмован» основной график и график отклонений.&lt;br /&gt;
— Может работать с отрицательным планом.&lt;/p&gt;
&lt;p&gt;Минусы:&lt;br /&gt;
— «Рябит», когда много дат.&lt;br /&gt;
— Настройка ширины тиков только ручная и будет плыть для разной ширины экрана.&lt;br /&gt;
— Хуже считывается сама линия плана.&lt;/p&gt;
&lt;h2&gt;Бары факт — Засечки план&lt;/h2&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://revealthedata.com/blog/pictures/Bar-fact--Ticks-plan.png" width="1920" height="1014" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;Пожалуй, самый привычный формат. По сути, буллет-чарт, поставленный на бок, будет привычен многим пользователям.&lt;/p&gt;
&lt;p&gt;Плюсы:&lt;br /&gt;
— Классно «зарифмован» с буллет-чартами и выглядит «физично» (похоже на заполнение прогресс-бара).&lt;br /&gt;
— Довольно классический и понятный формат.&lt;br /&gt;
— Можно делать акцент на «плохих» и «хороших» барах.&lt;/p&gt;
&lt;p&gt;Минусы:&lt;br /&gt;
— «Рябит» малёк, когда много дат или спарклайны.&lt;br /&gt;
— Настройка ширины тиков только ручная и будет плыть для разной ширины экрана.&lt;/p&gt;
&lt;h2&gt;Ареа факт — Линия план&lt;/h2&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://revealthedata.com/blog/pictures/Area-fact--Line-plan.png" width="1920" height="1009" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;Это тот вариант, который мне мало нравится. Самая большая претензия к этому варианту, что по сравнению с теми графиками, где есть только факт (линия), почему-то меняется отображение факта на ареа-чарт.&lt;/p&gt;
&lt;p&gt;Плюсы:&lt;br /&gt;
— «Зарифмован» с буллет-чартами, так как тоже заполняется как прогресс-бар.&lt;br /&gt;
— Довольно классический и понятный формат.&lt;/p&gt;
&lt;p&gt;Минусы:&lt;br /&gt;
— Меня прям передергивает, что в обычных графиках (без плана), факт — линия, а тут бац — и стал ареа. Тогда надо менять и в остальных графиках на ареа, а это уже совсем не правильно.&lt;br /&gt;
— Ареа можно воспринять как что-то накопительное (площадь под интегралом).&lt;/p&gt;
&lt;h2&gt;Линия факт — Линия план&lt;/h2&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://revealthedata.com/blog/pictures/Line-fact--Line-plan-(Clean).png" width="1920" height="1010" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;На мой вкус самый беззубый вариант из всех. Вроде просто, но контраст между планом и фактом маленький и никаких особо преимуществ нет.&lt;/p&gt;
&lt;p&gt;Плюсы:&lt;br /&gt;
— Просто.&lt;br /&gt;
— Хорошо считывать отдельно динамику плана и факта.&lt;/p&gt;
&lt;p&gt;Минусы:&lt;br /&gt;
— Сложно отслеживать положение линий относительно друг-друга.&lt;/p&gt;
&lt;p&gt;Такой вариант, кстати, предлагает стандарт &lt;a href="https://www.ibcs.com/"&gt;IBCS&lt;/a&gt;, но с отметками в виде заполненных и не заполненных точек. Что-то как-то не айс. Для спарклайнов точно не подойдет.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://revealthedata.com/blog/pictures/photo_2020-09-08_19-33-40.jpg" width="506" height="379" alt="" /&gt;
&lt;/div&gt;
&lt;h2&gt;Линия факт — Линия план + заливка между линиями&lt;/h2&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://revealthedata.com/blog/pictures/Line-fact--Line-plan-(Area).png" width="1920" height="1004" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;Этот вариант предложил один из читателей канала и показал вот такую &lt;a href="https://flowingdata.com/2018/11/09/how-i-made-that-animated-difference-charts-in-r/"&gt;ссылку&lt;/a&gt; на Натана Яу. Вообще вариант прикольный, но мне лично, очень сложно тут считывать само значение плана.&lt;/p&gt;
&lt;p&gt;Плюсы:&lt;br /&gt;
— Аккуратный, мало чернил. Классно смотрится спраклайном.&lt;br /&gt;
— Акцент на «хорошие» и «плохие» даты.&lt;/p&gt;
&lt;p&gt;Минусы:&lt;br /&gt;
— Сложно отследить линию плана из-за «перекручивания».&lt;br /&gt;
— Чтобы сделать «линию» плана, которая очерчивает область заливки, используется неприятный лайфхак в Табло.&lt;/p&gt;
&lt;h2&gt;Линия факт — Ареа план + заливка между линиями&lt;/h2&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://revealthedata.com/blog/pictures/Area-fact--Area-plan.png" width="1920" height="1009" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;Аналог предыдущего графика, но с заполнением ниже нижней границы. Кажется, что это помогает считывать отдельно линию плана.&lt;/p&gt;
&lt;p&gt;Плюсы:&lt;br /&gt;
— Довольно хорошо считывается.&lt;br /&gt;
— Акцент на «хорошие» и «плохие» даты.&lt;br /&gt;
— «Зарифмован» с графиком отклонений.&lt;br /&gt;
— «Зарифмован» с обычными графиками фактов.&lt;br /&gt;
— «Зарифмован» с буллет-чартами.&lt;/p&gt;
&lt;p&gt;Минусы:&lt;br /&gt;
— Нормально считывается динамика линии плана, но не идеально.&lt;/p&gt;
&lt;h2&gt;Анализ&lt;/h2&gt;
&lt;p&gt;Я сделал все эти скрины и пошёл советоваться к эксперту по графикам — Саше Богачеву. Он согласился со мной, что важно будет сохранить факт линией, чтобы это сочеталось с остальными графиками, где нет планов. Самым «классическим» ему показался вариант факт — барами, план — засечками, но! чтобы при этом не было графиков факта линиями на соседних графиках.&lt;/p&gt;
&lt;p&gt;Составил табличку сравнений вариантов и проставил плюсики.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://revealthedata.com/blog/pictures/Comparison.png" width="1512" height="505" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;Итого, решил взять последний вариант «Линия факт — Ареа план + заливка между линиями». Кажется, что это самый сбалансированный вариант из всех. Хотя не могу сказать, что он идеальный. У каждого из вариантов есть куча плюсов и минусов и этот показался мне наиболее робастным: он сохраняет факт линией, а подсветка сразу даёт понимание, что есть план, а что факт. При этом, легко увидеть, в какие периоды было отставание от плана, и такой вариант удобно реализовать в Табло.&lt;/p&gt;
&lt;p&gt;&lt;i&gt;П. С. Спасибо большое Саше Богачеву за обсуждения. И ещё многие написали в личку с идеями, тоже большое спасибо: Роман Зубарев, Егор Ларин и Павел.&lt;/i&gt;&lt;/p&gt;
</description>
</item>


</channel>
</rss>