Original size 1024x1536

Анализ эффективности YouTube Shorts на основе набора данных

PROTECT STATUS: not protected
The project is taking part in the competition

Описание проекта

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

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

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

Выбор темы

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

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

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

Использованные статистические методы

- Описательная статистика Использовались средние значения и медианы для анализа просмотров и показателей вовлечённости (лайки, комментарии, репосты).

- Анализ распределений Применялись гистограммы для изучения формы распределения просмотров и выявления асимметрии данных.

- Анализ разброса данных Использовались boxplot-графики для оценки вариативности просмотров и выявления выбросов внутри категорий видео.

- Группировка и агрегирование данных Данные агрегировались по категориям видео и часу публикации с использованием средних значений (groupby, pivot table).

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

- Сравнительный анализ категорий Использовались столбчатые диаграммы и тепловые карты для сравнения показателей популярности и вовлечённости между категориями и временными интервалами.

Стилизация данных

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

#FF0000 — красный #606060 — серый #FFFFFF — белый

Загрузка и обработка данных

На первом этапе был загружен датасет и просмотрены данные, присутствующие в нем

Original size 1854x550

Описание значений датасета:

  • video_id: Уникальный идентификатор видео в датасете. Используется для однозначного различения каждого ролика.

  • title: Название видео. Кратко описывает содержание ролика и может использоваться для текстового анализа.

  • duration_sec: Длительность видео в секундах. Позволяет анализировать, как продолжительность влияет на вовлечённость аудитории.

  • hashtags_count: Количество хэштегов, использованных в видео. Применяется для анализа влияния хэштегов на охваты и взаимодействия.

  • views: Количество просмотров видео. Основной показатель охвата и популярности контента.

  • likes: Количество лайков, полученных видео. Отражает уровень положительной реакции аудитории.

  • comments: Количество комментариев под видео. Используется как показатель вовлечённости и активности зрителей.

  • shares: Количество репостов или пересылок видео. Характеризует вирусный потенциал контента.

  • upload_hour: Час публикации видео (от 0 до 23). Позволяет анализировать влияние времени публикации на популярность.

  • category: Тематическая категория видео (например, Food, Tech, Comedy и др.). Используется для сравнения популярности разных типов контента.

post

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

Стилизация графиков

post

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

График № 1. Распределение просмотров видео

post

Первой была нарисована гистограмма, у которого указан title, оси X/Y

Original size 1460x862

Этот график показывает, как распределяется количество просмотров среди всех видео. Видно, что большая часть роликов набирает от примерно 100 до 350 тысяч просмотров. При этом немало видео с очень низкими значениями (до 50 тыс.). Это говорит о том, что охваты распределены неравномерно, и что не все видео становятся одинаково популярными.

График № 2. Связь длительности видео и просмотров

post

Далее изображена диаграмма рассеяния, с указанием title и осей X/Y

Original size 1368x932

На графике отображена зависимость между длительностью видео и количеством просмотров. Точки распределены довольно хаотично, без выраженного тренда. Это означает, что длина ролика сама по себе совсем не гарантирует высокий или низкий уровень просмотров. Соответсвенно неважно короткое видео или длинное — исход может быть разным.

График № 3. Вовлечённость видео (лайки + комментарии + репосты)

post

Третий график представляет из себя составную столбчатую диаграмму с указанием title, осей X/Y, legend.

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

Original size 1638x1000

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

График № 4. Распределение просмотров по категориям

post

График boxplot отображен с title и оботрисованными осями X/Y.

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

Original size 1686x1006

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

График № 5. Вовлечённость видео (лайки + комментарии + репосты)

post

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

- Для анализа был выбран показатель «просмотры» - В качестве строк указаны категории видео - В качестве столбов указаны часы - Для подсчета значения матрицы считалось среднее по просмотрам видео

Original size 2500x982

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

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

Вывод

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

Источники

1. ChatGPT — для консультации по работе с библиотеками Python

2. Kaggle.com — для поиска датасета

3. Google colab — для написания кода

4. Библиотеки Python:

  • pandas — для загрузки датасета, очистки данных и расчета статистических показателей (средние значения, группировка по полу, создание новых признаков).
  • numpy — для числовых операций и работы с массивами данных (в том числе при построении лепестковых диаграмм).
  • matplotlib — основная библиотека для построения и настройки графиков, управления размерами, шрифтами, цветами и композицией визуализаций.

Промпты для ИИ

  • как загрузить CSV-файл в Python?
  • как проверить, что файл загрузился правильно?
  • как посмотреть первые строки датасета?
  • как узнать, сколько строк и столбцов в таблице?
  • как посмотреть типы данных в столбцах?
  • что делать, если в столбце есть пропуски?
  • как заменить пропущенные значения?
  • как перевести столбец в числовой формат?
  • как округлить значения в столбце?
  • как создать новый столбец на основе других?
  • как отфильтровать строки по условию?
  • как сгруппировать данные по категории?
  • чем mean, median и sum отличаются и когда что использовать?
  • какие виды графиков чаще всего используют в анализе данных?
  • какой график лучше выбрать для числовых данных?
  • какой график подходит для категориальных данных?
  • чем гистограмма отличается от столбчатой диаграммы?
  • когда лучше использовать scatter plot?
  • в каких случаях нужен boxplot?
  • зачем используют violin plot?
  • когда лучше рисовать линейный график?
  • какой график выбрать для анализа времени публикации?
  • как показать сразу несколько переменных на одном графике?
  • как подключить matplotlib?
  • чем matplotlib отличается от seaborn?
  • когда лучше использовать seaborn?
  • как задать размер графика?
  • как изменить цвет графика?
  • как добавить заголовок и подписи осей?
  • как повернуть подписи на оси X?
  • как добавить легенду?
  • как сохранить график в файл?
  • как убрать сетку или наоборот добавить её?
  • как сделать график в одном стиле?
  • как выбрать подходящую цветовую палитру?
  • как сделать график в стиле YouTube / Spotify / Netflix?
  • как сделать тёмную тему для графиков?
  • какие цвета лучше использовать для анализа?
  • как не перегрузить график цветами?
  • как сделать график более читабельным?
  • что важнее — красота или информативность графика?
  • как оформить графики для курсовой или отчёта?
  • что показывает boxplot?
  • что нужно анализировать в первую очередь на графике?
  • как понять, есть ли зависимость между переменными?
  • что делать, если график выглядит хаотично?
  • как отличить реальную связь от случайной?
  • почему важно смотреть не только среднее, но и распределение?
  • как интерпретировать выбросы?
  • как объяснить график простыми словами?
  • какие выводы нельзя делать по графикам?
  • как не «придумывать» выводы, которых нет в данных?