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

Стандартный сценарий аналитики
Базовый сценарий доступен всем пользователям личного кабинета по умолчанию.
Web (прослушивание через сайт):
- количество визитов;
- количество уникальных пользователей;
- количество сессий прослушивания;
- общая длительность прослушивания (часы:минуты);
- средняя длительность прослушивания (часы:минуты).
Мобильное приложение:
- количество кликов по станции;
- количество уникальных пользователей;
- количество сессий прослушивания;
- общая длительность прослушивания (часы:минуты);
- средняя длительность прослушивания (часы:минуты).
Особенности:
- отчёт доступен только за полный календарный месяц;
- данные доступны начиная с января 2025 года;
- текущий месяц отображается только после его завершения;
- отчёт содержит суммарные показатели без детализации по дням.
Расширенный сценарий аналитики
Расширенный сценарий назначается администратором радиоплеера и включает все параметры базового сценария, а также дополнительные данные:
Демография и технические параметры пользователей (при наличии доступа в Метрике):
- пол, возраст, геолокация;
- тип устройства и браузера;
- время суток входа.
Взаимодействие со станцией:
- количество добавлений/удалений станции в «Избранное».
Анализ времени прослушивания:
- распределение по времени суток;
- распределение по дням недели.
Особенности:
- возможность формирования отчётов за день, неделю, месяц, квартал, год или произвольный диапазон;
- экспорт отчётов в файл;
- представление данных в табличной форме и в виде графиков/диаграмм;
- детализация по часам, дням, неделям или месяцам.


Техническая реализация
Дизайн:
- Проектирование интерфейсов в Figma.
- Особое внимание уделено удобству навигации и визуализации данных.
Frontend:
- Использование JavaScript и HTML.
- Для построения графиков и диаграмм применена библиотека ApexCharts.
Backend:
- Разработка на PHP (Symfony).
- Интеграция с API Яндекс Метрики для извлечения данных.
- Гибкая архитектура для масштабирования и добавления новых метрик.
Особенности:
- Высокая скорость загрузки отчётов.
- Возможность кастомизации параметров аналитики.
- Поддержка экспорта данных в файл.

Связанные проекты: RadioPlayer Этап 1, RadioPlayer Этап 2, RadioPlayer Этап 3, RadioPlayer Этап 4, Radioplayer Этап 5