Делюсь опытом разработки аналитики для стриминговых площадок с нуля, рассказываю о том, что из этого получилось и какие предварительные выводы я из этого сделал.
Я так себе писатель, но рассказать хочется. Может это кого-то на что-то мотивирует. Так что прошу понять и простить, если что не так.
Очень коротко о себе
Мой путь в IT начался с разработки мобильных игр на Unity, чем занимаюсь и по сей день. После устроился на работу в мобильный паблишинг, где проработал два года успешно развиваясь как Ad Monetization Manager (AMM) с сильным упором в аналитику и чуть менее сильным в разработку сопутствующих решений позволяющих упростить работу или повысить эффективность монетизации. Доработал до условного хеда (ближе к лиду, так как много хедить не было необходимости — уж слишком я все оптимизировал), после чего ушел в свободное плавание — делать игры, разрабатывать сервисы.
Я не очень хороший разработчик, не лучший в мире аналитик и уж точно не “самый умный в классе”. Но я дружу с логикой, умею искать информацию и очень широко смотрю на многие вещи. А в силу того, что я успел в своей жизни повидать некоторое дерьмо, с такой чудной “комбинацией” у меня получается видеть то, что не видят специалисты с многолетним опытом работы, так как не только туда не смотрят, а просто не знают, что голова в ту сторону крутится.
С чего все началось
Мне предложили поработать над проектом аналитики для потенциального продюсерского агентства стримеров. Задумка выглядела интересно и, в теории, перспективно. Моей основной задачей было обеспечить аналитикой потенциальных продюсеров для помощи им в развитии стримеров.
Проект по аналитике стриминговых платформ я начал со знаниями C# на уровне “сделать приемлемую игру не прося помощи” и средними знаниями SQL. Так что в статье не будет технических подробностей, кода и всего того, за что я не могу поручиться в плане качества. Да и статья не об этом.
Что нужно было получить?
Необходимо было создать аналитическую платформу, которая позволит понять:
1. Что в целом происходит с каналом стримера.
2. Где искать точки роста и как они влияют на канал и аудиторию.
3. Как ведет себя аудитория в разных ситуациях, как ведет себя в целом и что на это влияет.
4. Ответить на вопросы рекламодателей об эффективности и качестве их кампаний на канале.
Сначала был Twitch
Не имея изначально ни знаний, ни опыта — нужно было с чего-то начать.
В первую очередь необходимо было заложить основу для будущей аналитической платформы — это сбор и хранение данных. Я понятия не имел, какой сервер для этого нужен, поэтому взял самый дешевый VPS за 300р с возможностью повысить мощности в пару кликов в случае необходимости.
Для хранения был выбран Clickhouse, так как с ним я уже работал на уровне пользователя БД. Поставить его на сервер по гайдам было несложно.
Сбор данных оказался самым тяжелым этапом на котором методика сбора и структура хранения менялись по несколько раз в день. А для того, чтобы не терять данные — приходилось реструктурировать имеющиеся данные и записывать заново. Все обработчики собранных данных были на питоне и работали очень медленно, в связи с моей неопытностью на этом языке.
К концу первых двух недель я был просто закопан в куче легаси кода из сборщиков, обработчиков и анализаторов.
После организации основной структуры, которая оптимизировалась и менялась еще очень много раз, настал момент с выводом информации.
Очень хотелось сделать свой сайт с интерактивными графиками, таблицами и прочей красотой. Но так как на сайты я до этого только заходил — делать его сейчас, не имея никаких знаний и все еще имея большую нагрузку по анализу собираемых данных было слишком. Поэтому решил первичным визуализатором сделать телеграм бота.
Суть была проста. В бота отправляется запрос с данными по необходимому стримеру или стриму, далее на сервере обрабатывается запрос, в зависимости от него генерируется график/таблица/любая другая информация, и отправляется обратно в телеграм. На тот момент это был лучший вариант в плане скорости разработки и качества. До закрытия проекта этот бот потом использовался для управления сервером и получением алертов с логами.
Так прошла еще неделя в поисках решения и наиболее оптимального варианта. Параллельно также улучшалась аналитика и появлялись новые таблицы и графики.
Было решено в первую очередь сосредоточится на том, что не обеспечивают другие аналитические платформы. А также мониторить чат, что могло быть полезным для потенциальных рекламодателей при отслеживании упоминания бренда/товара.
Спустя еще неделю выглядело это примерно так.