О проекте
TikTok продолжает оставаться популярной развлекательной платформой, продвигающей музыку и формирующей тренды. Я сама часто ищу на этой платформе новую музыку для плейлистов и периодически задаюсь вопросом, почему именно этот трек стал вирусным с помощью этой площадки, и что повлияло на его буст.
Для исследования был выбран датасет «TikTok Popularity Track» с платформы Kaggle, так как он содержит разнообразные данные о популярных музыкальных треках на платформе TikTok, включая метрики популярности, танцевальности, энергии и другие музыкальные характеристики.
Анализ таких данных помогает понять, какие факторы влияют на вирусность и популярность треков. Кроме того, данные позволяют исследовать взаимосвязь между музыкальными параметрами и поведением аудитории.
Для исследования я выбрала 4 типа графиков: boxplot, круговую диаграмму, тепловую карту, точечный график с линией регрессии. Эти типы охватывают разные важные музыкальные параметры — ритм (темп), тональность, эмоциональный фон (valence и energy), длительность и громкость. Позволяют всесторонне проанализировать, какие характеристики влияют на вирусность и популярность треков на TikTok.
Вместе они дают комплексное понимание музыкальных факторов, которые формируют тренды и помогают создавать успешный контент на платформе.

Логотип платформы
Для основной цветовой палитры были использованы два базовых контрастных цвета черный и белый, они применялись для фона и текста, яркий голубой и розовый — служили цветами для наполнения графиков. Все оттенки были стилизованны под платформу Tik Tok. Шрифт был выбран Akzidenz-grotesk pro — современный гротеск, подходящий под веб-эстетику площадки.

Визуализация данных
График № 1
Теперь можно было приступать к визуализации. На первом графике планировалось показать влияние тональности темпа и музыки на восприятие песен.
Первым шагом было подключение необходимой библиотеки для анализа данных и визуализации. Загружался выбранный датасет с треками TikTok.
Затем проводилось формирование групп для анализа.
- tempo_group: делит треки на две группы по темпу — выше 120 BPM и ниже/равно 120 BPM.
- mode_group: делит треки на мажорные и минорные (mode=1 — мажор, mode=0 — минор).
Это позволяет анализировать не просто все треки подряд, а сравнивать их по музыкальным характеристикам.
Гипотеза: «Мажорные треки (mode=1) с темпом >120 BPM виральнее» Ящики с усами покажут медиану (линия внутри ящика) и разброс популярности: Если голубой ящик (Мажор + >120 BPM) выше других — гипотеза верна. Усы покажут выбросы (аномально популярные/непопулярные треки).
Третьим шагом была визуализация с помощью boxplot (ящики с усами).
- x='mode_group' — по оси X будут две категории: Мажор и Минор.
- y='track_pop' — по оси Y будет измеряться популярность трека.
- hue='tempo_group' — для каждой тональности (мажор/минор) строятся два ящика: для темпа >120 BPM и ≤120 BPM.
Финальный шаг оформление графика. Добавление заголовка, подписи оси Y, легенды (где видно, какой цвет — какой темп).
Анализ графика: Треки с медленным темпом (≤120 BPM) в среднем более популярны на TikTok, чем быстрые (>120 BPM), независимо от тональности.
Существенного влияния тональности (минор или мажор) на популярность не наблюдается — распределения почти совпадают.
Неожиданностью стало то, что популярность трека на TikTok больше зависит от темпа, чем от тональности: медленные треки востребованы сильнее, а разница между минором и мажором минимальна.
График № 2
Второй график посвящен выборке топ-10% песен по популярности, и визуализации доли из них с высокими показателями настроения и энергии.
Первым шагом, идет определение топ-10% песен по популярности и создание новых столбцов.
- Вычисляется порог для топ-10% песен по столбцу track_pop (популярность трека) с помощью квантиля 0.9.
- Создаётся булев столбец is_top, который помечает песни с популярностью выше этого порога (т.е. в топ-10%).
- Создаётся ещё один булев столбец high_valence_energy, который отмечает песни с высокими значениями valence (более 0.8) и energy (более 0.7). Эти параметры обычно характеризуют настроение (valence — позитивность) и энергичность трека.
Затем подсчёт количества песен с высокими valence и energy среди топ-10% и подготовка данных для графика.
Из DataFrame выбираются только песни из топ-10% (df[df['is_top']]).
В этой выборке подсчитывается количество песен с high_valence_energy равным True и False.
Создаётся список меток для графика: «Другие» — песни без высоких valence и energy, «High valence + energy» — песни с высокими значениями этих параметров.
Строится круговая диаграмма, где сектора соответствуют количеству песен с и без высоких valence и energy. Затем идет ее оформление.
Гипотеза: «Треки с высокой валентностью (valence > 0.8) и энергией (energy > 0.7) чаще в топ-10%» : Если сектор High valence + energy занимает >50%, гипотеза подтверждается.
Анализ графика: Среди самых популярных треков TikTok только небольшая доля (8,3%) отличается одновременно высокой позитивностью (valence > 0.8) и энергичностью (energy > 0.7).
Абсолютное большинство топовых песен (91,7%) не соответствуют этим характеристикам.
Это говорит о том, что для попадания в топ-10% по популярности на TikTok вовсе не обязательно быть «весёлым» и «энергичным» треком. Популярность достигают песни с разным эмоциональным и энергетическим фоном, а не только ярко позитивные и энергичные композиции.
График № 3
Третий график анализирует, как средняя популярность треков на TikTok зависит от двух параметров: длительности песни и её громкости.
Сначала идет преобразование длительности треков из миллисекунд в минуты:
- Создаётся новый столбец duration_min, в котором длительность трека переведена из миллисекунд в минуты для удобства анализа.
Создание категорий для длительности и громкости:
- Длительность разбивается на три категории: менее 2.5 минут, от 2.5 до 5 минут, более 5 минут.
- Громкость (loudness) разбивается на две категории: «Тише» — громкость ниже -8 дБ, «Громче» — громкость от -8 дБ до 0 дБ.
Подготовка данных для тепловой карты:
- Группируются данные по категориям длительности и громкости.
- Для каждой группы вычисляется средняя популярность треков.
- Результат преобразуется в таблицу с длительностью по строкам и громкостью по столбцам для удобства визуализации.
Построение тепловой карты:
- Строится тепловая карта с аннотациями — средними значениями популярности, округлёнными до одного знака.
- Создается гармоничное визуальное оформление.
Гипотеза: «Короткие (<2.5 мин) и громкие (>-8 dB) треки популярнее» Цвет и числа в ячейках: Ярко-розовый цвет — высокие значения, ярко-голубой низкие, переходные цвета средние.
Анализ графика: Треки средней длительности (2.5–5 минут) с более высокой громкостью демонстрируют наивысшую среднюю популярность. Это может объясняться тем, что такие песни оптимальны по длительности для формата TikTok и при этом достаточно громкие, чтобы привлечь внимание слушателей.
Короткие треки (<2.5 мин) с низкой громкостью имеют наименьшую среднюю популярность, что указывает на то, что слишком короткие и тихие песни менее востребованы.
Длительные треки (>5 мин) в целом имеют среднюю или ниже популярность, независимо от громкости.
Громкость играет важную роль: более громкие песни в каждой категории длительности обычно популярнее тихих.
График № 4
Последнее исследование — анализ зависимости популярности треков TikTok от их танцевальности.
Первым этапом построения этого графика было создание создание фигуры с тёмным фоном:
- Создаётся окно графика размером 10×6 дюймов с тёмно-серым фоном.
Затем было построение точечного графика с линией тренда (регрессии):
- Строится scatter plot (точечный график), где по оси X — танцевальность трека, по оси Y — его популярность.
- Точки полупрозрачные, розового цвета (#FF005E), размером 40.
- Добавляется пунктирная линия тренда регрессии голубого цвета (#00F0FF), толщиной 3.
Добавление сетки:
- Добавляется полупрозрачная пунктирная белая сетка для удобства чтения графика.
Аннотация самого популярного трека:
- На графике отмечается название трека с максимальной популярностью, расположенное рядом с соответствующей точкой.
Затем идет стилизация текста и самого графика.
4 Гипотеза: «Чем выше танцевальность (danceability), тем больше лайков (или просмотров) получает трек в TikTok»
Точки: Каждая точка — трек. Чем выше точка, тем он популярнее.
Линия тренда: Идёт вверх → чем больше danceability, тем выше популярность (гипотеза подтверждается). Идёт вниз → обратная зависимость (гипотеза неверна). Плоская → связи нет.











