Зарегистрируйтесь для доступа к 15+ бесплатным курсам по программированию с тренажером

Линия тренда Аналитические задачи в бизнесе

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

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

Что такое тренд

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

eyJpZCI6Ijc4OWNiZjNjNzE5YTc2YWEwYzJjYzIyZjM4Y2MyNWRhLnBuZyIsInN0b3JhZ2UiOiJjYWNoZSJ9?signature=93447efaaf9079c331e70164b1731f80f067bcd354fb5818353dc595c81b901e

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

, где — количество проданных чашек, а — номер дня с момента открытия

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

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

eyJpZCI6IjI3MWEzNjFjMThjMTg2MDI5NDI3NmQwZWI0ZGJkMTg4LnBuZyIsInN0b3JhZ2UiOiJjYWNoZSJ9?signature=2bcefd8b4f97f75fd80f5b9c8c52b5ec6f5c22fb45ef595854587e456f64bcc6

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

Уравнение, которое мы нашли для описания зависимости наших данных, и называется трендом. Это уравнение, выражающее зависимость показателя от времени. Другими словами, тренд — это тенденция изменения временного ряда.

Как найти линию тренда

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

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

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

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

Какой бывает тренд

Тренд может быть линейным и нелинейным.

Линейный тренд — это уравнение прямой линии. Однако не любая зависимость данных может быть линейной.

Посмотрим картинку ниже:

eyJpZCI6IjRkNzI3YTkyMjM4ZTMwYjUyZmRmN2E1YjkxNGQwMjM1LnBuZyIsInN0b3JhZ2UiOiJjYWNoZSJ9?signature=7a4361235ba294651633aeff7ca7ff2c4f89ed61936df5dd32a016a9eca672ef

На первом графике зависимость выстраивается в прямую линию — это линейный тренд. А на втором графике зависимость можно описать кривой линией — это нелинейный тренд.

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

Как понять, что линия тренда хорошо описывает данные

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

eyJpZCI6IjdkOTk3NzE0ODQ3N2Y5NzI3ODIyYzQ3YzExYTEwYzM5LnBuZyIsInN0b3JhZ2UiOiJjYWNoZSJ9?signature=9ab66026878d75b0957a383dad40d035bddb4cdae6335efa90346f804c1c8139

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

Метрика показывает, насколько хорошо построенная линия описывает зависимость имеющихся данных:

  • Чем ближе значение к , тем точнее линия описывает данные

  • Если , то линия тренда идеально описывает данные (все точки наблюдений лежат точно на линии тренда)

  • Если , то связь между данными отсутствует

В Google Sheets такой показатель можно рассчитать по кнопке.

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

Как построить линию тренда в Google Sheets

Шаг 1. Для начала откроем таблицу с данными. Как это сделать можно прочитать в официальной справке.

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

eyJpZCI6ImZkNDU2ZWIzNGI1ZjI2YTIwYzVlZWIwM2M4NTM5NTZkLnBuZyIsInN0b3JhZ2UiOiJjYWNoZSJ9?signature=03321dbed76e0a1724fb1ab3b0003c28b6d90afc8f39de88d70f230a4626b6a4

Шаг 3. Видим, что на правой панели появился редактор диаграмм. В «Тип диаграммы» находим раздел «Точечные» и выбираем «Точечная диаграмма»:

eyJpZCI6IjIxZDVhY2UxNjdkNzE3M2M2NDEwNzEwN2MyZTJmNTgwLnBuZyIsInN0b3JhZ2UiOiJjYWNoZSJ9?signature=830e5aebbf44a6c29c412607c77b8b9f1cb37141086e0c99d3625b26a1713620

Шаг 4. Нажимаем на значок диапазона данных и выделяем всю таблицу, включая заголовки столбцов. Нажимаем «Ок»:

eyJpZCI6Ijk1ZWU1MDcyZjQ2OTUyYmVmODQ3NTQwN2QxMDJmNGUwLnBuZyIsInN0b3JhZ2UiOiJjYWNoZSJ9?signature=841fbabdf31f7c5f07eb6854fdd5a935ec2f259e0f1571b099449a7c48c60c57

Шаг 5. Нажимаем чекбоксы «Заголовки — значения строки 1» и также проверяем, что в Оси X и параметрах указаны верные столбцы:

eyJpZCI6ImU1MTdlMjE0NmUzNDVlZTYwMDUwYjU5NjJiYjNhYjliLnBuZyIsInN0b3JhZ2UiOiJjYWNoZSJ9?signature=e78c9826e8842825051ec8318fc67644d5ac9811f8e1319089ab11abd749c74c

Шаг 6. Чтобы построить линию тренда, заходим в раздел «Дополнительные» в редакторе диаграмм. Далее переходим в «Серии» и нажимаем на чекбокс «Линия тренда». Видим, что Google Sheets построил по умолчанию линейный тренд:

eyJpZCI6ImQwNDNhOTRlZjMzN2I5NmMyNmFmMmMyYWRhZmE2MTU4LnBuZyIsInN0b3JhZ2UiOiJjYWNoZSJ9?signature=3ecc1becee1f4ca49bb1b139cf42dce97dd127864dfa6203eb6eff88a243b3e6

Шаг 7. Построенная линия тренда плохо описывает данные — скорее всего, связь нелинейная. Под чекбоксом «Линия тренда» находим «Тип» и меняем его с «Линейный» на «Полиномиальный». Нажимаем на «Показать », чтобы убедиться, что построенный тренд хорошо описывает данные.

eyJpZCI6Ijc3OTk2YzViNjAxMWFhZmUyZmRkMjJmMmU1OWU5OWQ2LnBuZyIsInN0b3JhZ2UiOiJjYWNoZSJ9?signature=c3c0bc1a4dac972d7c59000e7ff9c3995c89c0c18cbfeabf58d724fef8d4feb1

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

Подробнее о построении тренда в Google Sheets можно почитать в официальной справке.

Выводы

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

Вспомним ключевые моменты урока:

  • Тренд показывает тенденцию изменения временного ряда

  • Если данные можно описать прямой линией, то тренд называется линейным, в ином случае — нелинейным. Важно знать типы трендов, потому что во многих программах по умолчанию строится линейный тренд, что подходит не во всех случаях

  • Оценить качество линии тренда можно с помощью специальных метрик. Одна из них — коэффициент детерминации или . В Google Sheets его можно рассчитать автоматически по одной кнопке

  • Чем ближе к 1, тем точнее построенная линия тренда описывает данные


Самостоятельная работа

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

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

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

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

В этом задании мы научимся предсказывать нагрузку. Для примера возьмем АвиаХекслет — вымышленный сервис по продаже авиабилетов.

Представим, что разработчик сайта АвиаХекслет пришел к руководителю с таким запросом — нужно выделить ресурсы на поддержку высокой нагрузки, потому что месяц назад на сайте впервые было около 1000 пользователей одновременно.

Руководитель видит, что сегодня на сайт зашло 202 пользователя на текущий день. Чтобы принять правильное решение, он отдал эту задачу аналитику — то есть нам.

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

Нажмите, чтобы увидеть тестовые данные

Чтобы решить эту задачу, мы изучим тестовые данные по ссылке.

Тестовые данные

Здесь мы видим данные о количество пользователей на сайте за последний месяц в сервисе. Можно выделить такие признаки:

  • Дата — порядковый номер дня в месяце

  • Количество пользователей на сайте — максимальное число пользователей на сайте в день

Шаг 1. Как думаете, какой тренд лучше всего описывает эти данные — линейный или нелинейный? Визуализируйте данные с помощью точечной диаграммы и выберите правильный тип тренда.

Нажмите, чтобы увидеть диаграммы

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

Это видно и на графике:

eyJpZCI6ImYzMzQ3YWFlMzE2OGQ5ZTg3NTRjNzI2NDIyZWM3OWYxLnBuZyIsInN0b3JhZ2UiOiJjYWNoZSJ9?signature=33bf0a0ba2338ff5e7a33c6983deb0e4ddeb4b2b9b257d678ac43fc85fc8e6b8

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

Шаг 2. Постройте линию тренда. Ее качество по коэффициенту детерминации должно быть не менее 0.7.

Нажмите, чтобы увидеть возможный ответ

Линия тренда выглядит так:

eyJpZCI6IjQ1Y2VhMTZhMDcwMjYyZjFjNGY1YTg3OGU0YmY0OTg4LnBuZyIsInN0b3JhZ2UiOiJjYWNoZSJ9?signature=0661ec4435a36fcca397f1ec44d5453729e3bb6bac81a1098ab6b7ebc24697a5

Нелинейный тренд описывает данные с качеством 0.85 — это нам подходит. Если бы мы строили линейный тренд, то коэффициент был бы равен 0.5, что считается неудовлетворительным качеством.

Шаг 3. Изучите полученные данные еще раз. Попробуйте предсказать ожидаемую нагрузку через семь дней. Сделайте вывод, нужно ли АвиаХекслету выдерживать высокую нагрузку или пользователей будет не так много.

Нажмите, чтобы увидеть возможный ответ

Посмотрим на линию тренда еще раз:

eyJpZCI6IjQ1Y2VhMTZhMDcwMjYyZjFjNGY1YTg3OGU0YmY0OTg4LnBuZyIsInN0b3JhZ2UiOiJjYWNoZSJ9?signature=0661ec4435a36fcca397f1ec44d5453729e3bb6bac81a1098ab6b7ebc24697a5

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

Подставим значения в уравнение:

Проведем вычисления:

Таким образом, количество пользователей через неделю будет примерно равно 572.

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

Еще нужно учитывать, что количество пользователей зависит не только от времени. Например, отдел маркетинга может запустить новую рекламную кампанию — тогда новые пользователи придут и действительно увеличат нагрузку на сайт. В таком случае, к высокой нагрузке готовиться нужно.


Дополнительные материалы

  1. Как добавить линию тренда на график в Google Sheets
  2. Объем продаж

Аватары экспертов Хекслета

Остались вопросы? Задайте их в разделе «Обсуждение»

Вам ответят команда поддержки Хекслета или другие студенты

Об обучении на Хекслете

Для полного доступа к курсу нужен базовый план

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

Получить доступ
1000
упражнений
2000+
часов теории
3200
тестов

Открыть доступ

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

  • 130 курсов, 2000+ часов теории
  • 1000 практических заданий в браузере
  • 360 000 студентов
Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Наши выпускники работают в компаниях:

Логотип компании Альфа Банк
Логотип компании Aviasales
Логотип компании Yandex
Логотип компании Tinkoff
Рекомендуемые программы
профессия
новый
Собирайте, анализируйте и интерпретируйте данные, улучшайте бизнес-процессы и продукт компании. Обучитесь работе с библиотеками Python
9 месяцев
с нуля
Старт 7 ноября

Используйте Хекслет по-максимуму!

  • Задавайте вопросы по уроку
  • Проверяйте знания в квизах
  • Проходите практику прямо в браузере
  • Отслеживайте свой прогресс

Зарегистрируйтесь или войдите в свой аккаунт

Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»