Некоторые авторские размышления о том, какую информацию можно извлечь, анализируя статистику сообщества TJ. Текст довольно скучный, перегруженный математической терминологией, и вообще, предназначен для редакции, а также для тех, кто не боится немного поскрипеть мозгами. В общем, заходить и читать не советую. Ну, вы поняли.
Давным-давно, а если быть более конкретным, 4 месяца назад я имел небольшой диалог с Владом Цыплухиным на тему клуба TJ, в котором он признался, что руководство до конца не уверено, какие из действий следует предпринять, чтобы привлечь больше пользователей на сайт. В тот раз я отписался общими словами, мол, прежде, чем что-то делать, надо провести «анализ динамики активности», сам до конца не понимая, что это значит. Вместе с тем, из статистики TJ можно извлечь действительно интересную информацию. Сам не знаю, почему, но мне в один прекрасный день захотелось ответить Владу более развернуто. Так появился этот текст.
Сразу оговорюсь: автор сего опуса не является экспертом в матстатистике и бигдата. Мой кругозор ограничивается курсом тервера и статов в университете, а также некоторыми индивидуальными изысканиями. Кроме того, мой брат (Шамиль Хамадеев, руководитель проекта iq300) защищал диссертацию по оптимизации производственных процессов, и мы с ним часто обсуждали методы кластеризации массивов данных. Наконец, одно время я залипал на сериал “Numb3rs”. Всё это в совокупности привило мне ощущение, что статы знают все. Шутка ли: длиннющие уравнения, про которые я думал, что они – результат подгонки эксперимента, оказывается, выводятся из первых принципов в рамках матстатистики.
Итак, постановка задачи такова: у нас есть большой массив данных, нужно извлечь из него какую-нибудь, желательно полезную информацию. Здесь, как это часто в науке бывает, есть два подхода: индуктивный и дедуктивный. Первый заключается в постановке конкретной формулировке того, что мы хотим узнать, и последующей обработке массива с целью извлечения искомой информации. Второй – в том, чтобы поиграться с массивом в надежде рассмотреть какие-либо статистические структуры либо закономерности, которые могут что-то рассказать об объекте.
Влад писал, что желанным является ответ на вопрос, какие меры помогут увеличить размер сообщества. Поскольку есть конкретный запрос, можно применить индукцию. Для этого надо понять, какие конкретные данные могут быть полезны. В первую очередь я бы обратил внимание на такой параметр, как число новых членов клуба, купивших подписку, за единицу времени (день, неделю, год), и отобразил бы его графически. Я не видел статистику по этому вопросу, но осмелюсь предположить, что это что-то вроде кривой, представленной на рисунке.
Модельный график того, как могла бы выглядеть зависимость числа купивших подписку от времени.
Если график имеет примерно такую форму, он может служить источником новых данных. Не нужно быть семи пядей во лбу, чтобы понять, что всплески новых регистраций соответствуют каким-либо значимым событиям, которых наверняка не такое уж большое число. В первую очередь, это, разумеется, перезапуск (которому в ноябре исполняется год, btw). Также, если подобный всплеск имел место, он мог бы быть вызван, например, знаменитым тредом про утечки интимных фотографий.
Можно ли извлечь из этих всплесков какую-нибудь информацию с помощью математики? Думаю да. Смотрите, мы видим рост, сначала резкий, затем всё более и более ослабевающий. Есть два самых вероятный сценария такого роста: с асимптотой и без неё. Если кривая роста имеет асимптоту – то есть предел, выше которой она не поднимется за счёт фактора, вызвавшего рост, – это означает, что данный фактор уже привлек свою публику в клуб и, по сути, себя исчерпал. Если же асимптоты нет, значит, данный фактор ещё может привести людей, и, возможно его стоит усилить или повторить.
Вот простая аналогия: рассмотрим классический вирус, который делает из людей зомби, и через зомби распространяется на незараженных. Если вокруг города, где завелся вирус, построить стену, то кривая числа зараженных в зависимости от времени однажды упрется в максимум (асимптоту), равный числу человек внутри ограждения. Если же стены не будет, то это число однажды сможет превысить такой предел. Может показаться, что на начальной стадии распространения вируса по поведению этой кривой мы не сможем сказать, какой у нас случай. Однако это можно сделать, либо подождав достаточно большое время, либо попытавшись подогнать под получающиеся кривые какие-нибудь расчеты. Как понять, какой в данном случае рост? Необходимо играться с графиками: удалять шумы, сглаживать, смотреть в логарифмической шкале или иных деформированных шкалах, выполнять подгонку.
За анализом роста числа новых пользователей не стоит забывать о тех, кто не продлевает подписку. Эта величина может быть оценена как разность числа зарегистрированных пользователей и числа актуальных пользователей. С этой цифрой сложнее, поскольку момент окончания подписки не совпадает с моментом, когда пользователь решил, что клуб читателей ему больше не интересен. Здесь могут помочь данные о заходе на сайт под своим аккаунтом, в частности, дата последнего перед окончанием подписки захода. Анализируя временную зависимость оттока пользователей, можно попытаться понять, что стало причиной ухода. Кроме того, данная величина наверняка будет коррелировать с оценками пользователя (конкретно, с минусами).
Вообще, корреляционный анализ может дать много всего интересного о клубе. Скажем, каждый пользователь может быть параметризован с помощью таблицы с различными цифрами: кроме id и рейтинга можно строить зависимости от времени числа комментариев, поставленных плюсов и минусов, опубликованных постов и т.д. (например, если пользователь комментирует новость не сразу после её опубликования, а через некоторое время, то по такому усредненному времени можно измерять занятость пользователя). Более того, всех пользователей можно по этим параметрам подвергнуть кластеризации с помощью разнообразного инструментария методов, развитых в математической статистике. Как показывает практика, машинная кластеризация зачастую демонстрирует разделение, которое согласуется с интуицией. Только надо учитывать, что пользователи со временем меняются, их характеристики эволюционируют, поэтому нужно проводить оконный анализ (то есть учитывать данные только за определенный период).
И это ещё не все. Как и в любой социальной среде, пользователи взаимодействуют, формируя, таким образом, граф. Размерность графа – это квадрат размерности узлов пополам, а значит это ещё больше информации, которую так же можно кластеризовать, а результат сопоставить с кластеризацией пользователей. В социальных сетях существует большой спектр взаимодействий между пользователями, в клубе эти возможности ограничены: ставить плюс или минус комментарию или статье, отвечать в комментариях или в статьях, да и все, пожалуй. Это упрощает анализ массива данных. Таким образом, например, можно подтвердить или опровергнуть тезис о том, что пользователи на TJ явно или неявно поделены на «фракции» (на тех же условных «либералов» или условных «ватников»). Можно выделять лидеров мнений, если они есть. Можно выделять пользователей-источников негатива, и, скажем, если с активностью этих источников коррелируют какие-то плохие для клуба процессы (например, уход пользователей), то можно принимать меры.
Такой подход является дедуктивным. Он связан со свободным поиском и потому более творческий. Быть может, он не столь продуктивен, поскольку он не всегда поможет ответить на вопрос, как привлечь аудиторию, зато он будет давать информацию о внутренней структуре клуба, что может быть полезно для управления уже существующим положением.
Комбинация индуктивного и дедуктивного подходов может стать мощным инструментом оценки различных нововведений. Например, редакция вводит пробные инвайты, то есть бесплатное членство в клуб по приглашению пользователей на некоторый срок, скажем, 2 недели. За это время приглашенный юзер тщательно анализируется: что читает, с кем дружит или ссорится, как часто комментирует. Затем анализируется корреляция собранной информации по каждому новичку с его решением покупать или не покупать подписку. А дальше остается только выявить позитивные факторы и усилить их.
Конечно, это всё довольно сложные технологии. Конкурентом математической статистики является банальная интуиция, то есть, когда «кажется». Пока сообщество небольшое, она вполне себя оправдывает. Скажем, методы матстатистики могли бы доказать нам, что тема порно и секс явно привлекает внимание читателей, а Федор Хан вызывал негатив некоторых пользователей, пока редакция не приняла меры, но это и так было понятно невооруженным взглядом. Однако интуиция зачастую находит только ответы, лежащие на поверхности, а связи с более сложной структурой могут улавливать лишь единицы. Вместе с тем, сложность связей в сообществе очевидным образом увеличивается с его ростом. Если держать курс на прибавление, матстатистике стоит уделить внимание. Другой вопрос, кто этим будет заниматься, учитывая, что редакция и так работает «до крови из носа»? Однако это уже организационный вопрос и ответ на него выходит за рамки данного эссе. Я полагаю, крупнейшие игроки на поле социальных сетей вроде «Вконтакте» наверняка имеют сотрудников, занимающихся анализом статистики, и тут Влад уж точно должен знать больше меня.
Как бы там ни было, ответы на вопрос о том, какие меры помогут увеличить размер сообщества, стоит искать в самом сообществе, но для того, чтобы эту информацию извлечь, нужно понять, как её считывать с цифр, которыми богата любая сложная система. Но как это делать – целая наука.
Надеюсь, я достаточно развернуто ответил на вопрос.
Science, bitch
Смешно)))))
Вы меня простите, но я ожидал тут увидеть собственно сам анализ статистики (не знаю как собранной), а не простой набор очевидных выводов - что можно из статистики вытащить.
Для специалиста по IT и экономики это может быть и очевидно, для обывателя - совсем нет. Я сам себя отношу к обывателю, поэтому не смог Владу сразу ответить по-человечески, пришлось покурить тему.
Я бы сам с удовольствием взглянул на статистику и даже провёл бы небольшой анализ на досуге, самому любопытно, но, увы, такой возможности не имею. Поэтому мне остается фантазировать, что я и сделал. В конце концов, это просто мнение.
сразу напишите, чем там дело кончилось
Все будет хорошо. Но, в следующей серии.
Дайте Марату гостевую стату в Аналитикс :)
И интуиция мне подсказывает, что если раздать инвайты знаменитостям и девушкам (красивым), то все станет лучше.
смешно)
Что такое Аналитикс?)
Марат, а есть удачные примеры использования мат. статистики для сайтов? Популярные тематики для новостей определяются по статистике просмотров и комментариев, источники всплесков регистрации отслеживаются через любую систему статистики (откуда пришел трафик, который сконвертировался в регистрацию).
Идея понять динамику общения звучит очень круто, но мне сложно придумать что считать и как на это воздействовать.
И большое спасибо за пост.
не могу сказать. Уверен, что завсегдатаи хабра наверняка знают ответ на этот вопрос, но по опыту общения с обработчиками шумов могу сказать, что полезная информация в таких массивах наверняка содержится. На самом деле мой взгляд - это взгляд дилетанта. Отчасти мне хотелось запустить здесь дискуссию на эту тему и услышать мнение тех, кто с этим сталкивался.
Может скажу глупость, но стандартное А/В тестирование разве не является таковым ?
Марат, спасибо за интересное эссе. Хотелось бы побольше таких очерков на ТЖ. (Как раз для того, чтоб мой будущий вопрос исчерпался.)
Только надо учитывать, что пользователи со временем меняются, их характеристики эволюционируютВопрос, что за характеристики? Почему вы императивно думаете, что они именно эволюционируют? Не деградируют?
"характеристики эволюционируют"... Может нек-е становятся грамотными, благодаря замечаниям подписчиков?
И да, эти характеристики эволюционируют во внешней среде или в глобальной сети, именно на ТЖ? Стало быть, если второе, то по-моему нереально найти корреляцию. Плюс еще то, что если каждая характеристика - это единица, отдельная переменная, то задача усложняется. Напоминает то упражнение, где предсказывается передвижение бильярдного шара по столу (вычислял Майкл Берри).
Я не понимаю, вот вы хотите пользователей подвергнуть кластеризации. Для чего? Это будет просто история одного id. И ссылаясь на статистику пользователя подбирать материал? А подписчики, ссылаясь на его историю манипулировать им в комментариях? (кстати, неплохая идея)
Просто тут нет модели или правил игры, что очень сужает работу и объем всего. TJ это всё-таки не PECOTA (Player Empirical Comparison and Optimization Test Algorithm)
Я ни в коем разе не придираюсь. Повторюсь хороший материал. Потому жду дополнений. Спасибо)
Спасибо за вопросы, отвечаю.
что за характеристики?каждый пользователь может быть параметризован с помощью таблицы с различными цифрами: кроме id и рейтинга можно строить зависимости от времени числа комментариев, поставленных плюсов и минусов, опубликованных постов и т.д.
Почему вы императивно думаете, что они именно эволюционируют? Не деградируют?Иначе говоря, с точки зрения формальной логики, пользователь - это запись, а также какие-либо параметры - результаты статобработки.
Слово "эволюционировать" я употребил в общем смысле, как синоним слову "изменяться". Да, это и деградация в том числе.
эти характеристики эволюционируют во внешней среде или в глобальной сети, именно на ТЖ?Сами по себе характеристики - это чисто ТЖшная мулька, но они отражают пользователя вообще. Если человек меняется, то и характеристики изменятся. Поймите, задача - не изучать пользователей самих по себе, задача - найти инструмент, который позволит ответить на вопрос, как изменилось сообщество в ответ на те или иные действия. Для этого нужно собирать статистику.
Я не понимаю, вот вы хотите пользователей подвергнуть кластеризации. Для чего?Очень важно понимать, что представляет собой аудитория ТЖ. Тут вопрос в другом: да, можно параметризовать пользователей, и какой-нибудь метод разобьёт их на группы, дальше что? Нужно уметь интерпретировать кластеризацию, для этого нужно жить в комментариях, понимать, почему условно Вася постоянно лайкает Петю и дизлайкает Сашу. Тогда можно сформировать представление о том, какие слои представлены в клубе и кого больше, каких друзей эти слои могут привести, как будут реагировать на материал.
Просто тут нет модели или правил игры, что очень сужает работу и объем всего.Небольшой пример: уже был прецедент, когда сформировалась неформальная группа, которая массово минусовала новости. Этот факт привлек внимание редакции, она приняла меры. Но это довольно явное явление, оно очевидно и без статов.
Верно. Было бы просто, редакция бы уже наверно давно взяла в оборот. Самое сложное: это выбор критических параметров и интерпретация
который позволит ответить на вопрос, как изменилось сообщество в ответ на те или иные действия.
Два пассажа, которые были ключом к идее
Спасибо)
Я должен был донести это в тексте
Комментарий удален модератором
Ничего удивительного, учитывая, что автор сего опуса не является экспертом в матстатистике и бигдата. Это был зов совести, на самом деле. Так бывает, когда нерешённые вопросы крутятся на задворках.
Если Влад с Ильей никогда об этом не слышали, я буду очень удивлен – на дворе 2015-й год, про работу с данными долбят на каждому углу, особенно в условиях высокорисковых проектов.Логично, потому я и предположил, что Влад должен знать больше меня. Но к чему тогда этот коммент?
Проблема, скорее всего, кроется в банальном отсутствии ресурсов на внедрение аналитики на проектеhttps://tjournal.ru/c/8333-analiz-soobshestva-tj-nemnozhko-sociologii-nemnozhko-fiziki#comment935660
Впрочем, может быть я тогда Влада неправильно понял, но пока ни он, ни Илья здесь не отписались. Только Никита, чей месседж, честно говоря, я не понял :)
Ну да, там, подозреваю, работы много
Прочитал статью, почитал комменты.. ничего не понял. Пойду дальше в "Новостях" сидеть