Hinge позволяет пользователям запрашивать экспорт своих личных данных, собранных во время использования приложения. Если у вас есть учетная запись Hinge, вы можете запросить свои данные, выбрав «Настройки» -> «Загрузить мои данные». Обычно выполнение этого запроса занимает от 24 до 48 часов, и как только данные будут готовы, Hinge предоставит .zip
файл с вашими личными данными.
Экспорт данных, предоставляемый Hinge, содержит несколько файлов, но главным является файл index.html
, который используется для рендеринга веб-страницы с вкладками, отображающими различные данные. Вкладки, предоставляемые Hinge, помечены: «Пользователь», «Совпадения», «Подсказки», «Медиа», «Подписки», «Новый старт» и «Подтверждение селфи». Помимо просмотра изменений в ваших подсказках или просмотра загруженных вами изображений, эти данные не особенно полезны, особенно на вкладке «Совпадения», которая должна быть самой интересной частью.
Вкладка «Совпадения» в экспорте Hinge содержит список «Совпадений», или, скорее, «взаимодействий», как я называю их в этом проекте, например:
Матч №1 2024-01-22 20:13:22 Нравится
Матч №2 2024-01-23 20:15:42 Нравится
Матч №3 2024-01-23 20:37:27 Матч
2024-01-23 20:39:45 Чат: Привет, Мир!
2024-01-23 21:49:26 Удалить
Список совпадений, предоставленный Hinge, оставляет желать лучшего, поэтому я решил создать этот проект, анализируя и визуализируя интересные идеи из экспорта данных Hinge.
Приложение представляет собой многостраничное приложение Dash Plotly, которое работает в контейнере Docker через порт 8050
. Создайте образ сборки Docker с помощью: docker compose build
и запустите приложение с помощью: docker compose up -d
. Приложение будет доступно по адресу http://0.0.0.0:8050/. Чтобы отключить контейнер, используйте docker compose down
.
На странице откроется информация о приложении и инструкции по его использованию.
Раздел «Загрузить файлы» позволяет пользователям загружать файлы matches.json
или user.json
для анализа. На данный момент программа ожидает, что файл будет называться matches.json
или user.json
, как они указаны в экспорте, предоставленном Hinge. После выбора файла в поле загрузки должно отображаться имя(а) загруженного файла.
Раздел «Аналитика данных» содержит ссылки для отображения страниц с данными, связанными с данными совпадений или пользовательскими данными. Нажмите «Совпадения» или «Пользователи», чтобы отобразить информацию и графики по любой теме. Визуализации первоначально будут отображаться как пустые графики, пока файл не будет загружен и графики не будут перезагружены. Нажатие кнопки «Обновить графики» восстановит графики с загруженными данными.
Страница аналитики матча содержит несколько графиков, которые показывают различные аспекты данных о матче. Hinge предоставляет данные о действиях пользователя только по соображениям конфиденциальности, поэтому большая часть данных относится к тому, как пользователь взаимодействовал с другими пользователями.
Первый график — это воронка взаимодействия , которая представляет собой визуализацию различных типов взаимодействий, произошедших между пользователем и другими пользователями. Самая внешняя часть воронки «Различные взаимодействия» – это общее количество произошедших уникальных взаимодействий. Это комбинация лайков, которые пользователь получил и не ответил взаимностью, лайков, которые пользователь отправил, но на которые не ответили взаимностью, а также лайков, отправленных пользователем, которые приводят к совпадениям и чатам.
Воронка — хороший способ увидеть, сколько взаимодействий было инициировано пользователем и сколько привело к совпадениям и разговорам.
Раздел «Исходящие лайки, которые вы отправили» содержит диаграммы, в которых более подробно представлены исходящие лайки пользователя. На первой диаграмме показаны пользователи приложения, которое понравилось пользователю более одного раза. Этот сценарий вызывает недоумение, поскольку неясно, как это может произойти, но в данных он встречается нечасто. Вторая круговая диаграмма справа показывает соотношение количества лайков, отправленных пользователем с комментарием.
Под круговыми диаграммами находится таблица « Что вы комментируете, когда вам нравится чей-то контент» , в которой показаны комментарии, которые пользователь оставил в профилях других пользователей, когда они ему понравились. Эта таблица полезна для просмотра того, что пользователь говорил другим пользователям, когда они им нравились.
В следующем разделе «Частота типов действий по дням » показана частота различных действий, совершаемых пользователем в приложении по дням. Это полезно для просмотра моделей активности и того, когда они были наиболее активны в приложении.
После этого появляется круговая диаграмма под названием «Скольким людям вы дали свой номер?» , что показывает именно это. Из всех взаимодействий пользователя, которые привели к чатам, на этом графике показано соотношение того, сколько чатов привело к тому, что пользователь дал свой номер телефона. Это работает при условии, что пользователь предоставил свой номер телефона в одном из распространенных форматов, перечисленных ниже.
В последнем разделе «Аналитики матчей» показано исходящее сообщение для каждого чата . Эта гистограмма представляет собой распределение того, сколько сообщений было отправлено пользователем в каждом взаимодействии, в ходе которого осуществлялся обмен сообщениями. Это полезно для просмотра средней продолжительности разговоров пользователя с другими.
Эта вкладка в настоящее время находится в разработке и будет доступна в будущем выпуске.
Время от времени Hinge меняет и обновляет схему экспорта данных, и это может или не может нарушить текущий код анализа и сделать его устаревшим. До сих пор я не заметил никаких изменений схемы, которые нарушили бы мой код, но я предполагаю, что со временем произойдут изменения и все перестанет работать. В настоящее время я не нашел способа быть в курсе изменений их схемы.
Поскольку Hinge не предоставил никакой документации, я делаю некоторые предположения относительно данных:
where block_type = 'remove'
) могут идти в любом направлении, то есть этот блок может представлять собой удаление совпадения с пользователем или удаление пользователем блока с кем-то другим.Существует несколько возможных сценариев, происходящих с экспортными данными, которые Hinge называет «совпадениями». Это не все «совпадения», ведь некоторые события — это просто исходящие лайки, на которые не ответили взаимностью. Вот почему я называю их взаимодействиями , где взаимодействие представляет собой встречи (лайки, совпадения, чаты, блоки), которые произошли между пользователем и другим человеком.
Вот различные сценарии взаимодействия, которые происходят в данных:
Нравиться | Соответствовать | Чаты | Блокировать | Значение |
---|---|---|---|---|
Х | Пользователь отправил исходящую, человек не поставил лайк в ответ | |||
Х | Х | Х | Пользователь поставил исходящий лайк, другому человеку он понравился в ответ, был обменян хотя бы одним сообщением | |
Х | Х | Пользователь получил входящий лайк, пользователь ответил лайком другому человеку и был обменян хотя бы одним сообщением. | ||
Х | Совпадение было удалено или «непревзойдено», не могу сказать, кто кого не имел. По какой-то причине многие из них существуют без какой-либо другой информации, и невозможно определить, с каким взаимодействием они изначально были связаны. | |||
Х | Х | Пользователь получил входящий лайк, пользователь ответил лайком другому человеку, обмен сообщениями не состоялся, совпадение было удалено. |
У меня есть длинный список улучшений и исправлений, которые я хочу внести в приложение, чтобы сделать его лучше. Чтобы увидеть, что есть, посетите вкладку «Проекты» в репозитории.