Битва за внимание
Представьте, что вы начинающий стример или маркетолог, который хочет запустить рекламную кампанию в индустрии диджитал-развлечений. Перед вами тысячи игр и жанров. Как выбрать то самое, из-за которого вас заметят? Как быстро найти ответ, не перебирая вручную статистику миллионов каналов?
Мой проект — это визуальное исследование датасета «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 и др.) забирают себе почти половину всех зрителей мира. Все остальные тысячи игр делят между собой остатки от этой статистики.




