
Битва за внимание
Представьте, что вы начинающий стример или маркетолог, который хочет запустить рекламную кампанию в индустрии диджитал-развлечений. Перед вами тысячи игр и жанров. Как выбрать то самое, из-за которого вас заметят? Как быстро найти ответ, не перебирая вручную статистику миллионов каналов?
Мой проект — это визуальное исследование датасета «Most Watched Games on Twitch» (SullyGnome). Он отвечает на вопросы эффективности контента, используя методы Data Science и выразительную визуализацию.
Для работы я использовала такие библиотеки: - pandas для работы с данными; - matplotlib.pyplot и seaborn для построения графиков.
Для анализа я использую следующие типы графиков:
• Столбчатая диаграмма (Bar Chart).
• Диаграмма рассеяния (Scatter Plot).
• Круговая диаграмма (Pie Chart).
• Тепловая карта корреляций (Heatmap).
Визуальное оформление
Чтобы передать атмосферу индустрии, я отказалась от стандартных белых графиков. Была разработана специальная палитра.
Анализ данных
Столбчатая диаграмма: Лидеры эфира
Первым делом необходимо выявить гигантов индустрии. Я отфильтровала топ-10 категорий по суммарному времени просмотра (Watch Time).
import seaborn as sns
top_10 = df.sort_values ('Watch time (mins)', ascending=False).head (10)
purple_palette = sns.light_palette (»#9146FF», n_colors=15, reverse=True)
plt.figure (figsize=(12, 6)) ax = sns.barplot ( data=top_10, x='Watch Hours (M)', y='Game', palette=purple_palette )
ax.set_title ('ТОП-10 Категорий по времени просмотра', fontsize=16) ax.set_xlabel ('Миллионы часов', color='#9146FF') ax.grid (axis='x', linestyle='--', alpha=0.3)
Для визуального разделения использован градиент фиолетового: от самого яркого (лидеры) к темному.
На диаграмме четко видно доминирование категории Just Chatting («Общение»). Это разрушает стереотип о том, что Twitch — площадка только для игр. Люди приходят сюда прежде всего за общением. Следом с небольшим отрывом идут киберспортивные дисциплины: League of Legends и GTA V. Остальные игры отстают от топ-3 более чем в два раза.
Карта ниш
Каждая точка — это отдельная игра.
Ось X (горизонталь): Насколько сложно раскрутиться.
Ось Y (вертикаль): Сколько там зрителей.
Цвет: Эффективность.
Шкалы: Логарифмические
top_50 = df.head (50)
plt.figure (figsize=(10, 6)) scatter = plt.scatter ( x=top_50['Streamers'], y=top_50['Average viewers'], c=top_50['Viewer_Ratio'], cmap='Purples', s=top_50['Peak viewers']/10000, alpha=0.9, edgecolors='white' )
plt.xscale ('log') plt.yscale ('log')
plt.title ('Конкуренция vs Спрос (Log Scale)', fontsize=16) plt.xlabel ('Количество Стримеров', color='#9146FF') plt.ylabel ('Средний Онлайн', color='#9146FF')
cbar = plt.colorbar (scatter) cbar.set_label ('Эффективность (Зрителей на канал)', color='white')
Тепловая карта
Карта показывает, что корреляция между Streamers и Average Viewers не идеальна (она ниже 1). Это математически доказывает вывод со Scatter Plot: количество контента не равно качеству спроса. Зато связь между Peak Viewers и Watch Time почти абсолютная — турниры являются главным драйвером просмотров.
corr_matrix = df[['Watch time (mins)', 'Streamers', 'Average viewers', 'Peak viewers']].corr ()
plt.figure (figsize=(8, 6)) sns.heatmap ( corr_matrix, annot=True, cmap='Purples', fmt=».2f», cbar=True, annot_kws={'color': 'black'} ) plt.title ('Матрица корреляций', fontsize=16)
Круговая диаграмма
Чтобы избежать визуального шума, я программно сгруппировала сотни мелких категорий в сегмент «Others». А для соответствия брендбуку Twitch использовала кастомную фиолетовую палитру с разделителями секторов, что позволило выделить лидеров рынка на контрастном темном фоне.
Выводы
Оказалось, самая популярная «игра» на Twitch — это… вообще не игра. Это категория Just Chatting (Общение).
Люди приходят не смотреть на видеоигры, а поболтать с ведущим.
Всего 5 игр (LoL, GTA, Valorant и др.) забирают себе почти половину всех зрителей мира. Все остальные тысячи игр делят между собой остатки от этой статистики.
Вывести свой жанр в Топ-5 новичку почти нереально.
Работает ли правило «Больше стримишь = больше смотрят»?
Нет, не работает. Можно вести трансляцию игры у которой 100 000 человек активных в моменте игроков, но зрителей будет 0. Количество каналов не создает просмотры. Просмотры создает инфоповод (турниры и ивенты).
В процессе работы над проектом использовалась нейросеть Google Gemini.