Hinge permite a los usuarios solicitar una exportación de sus datos personales que fueron recopilados mientras usaban la aplicación. Si tienes una cuenta Hinge, puedes solicitar tus datos yendo a Configuración -> Descargar Mis Datos. Por lo general, se necesitan entre 24 y 48 horas para completar esta solicitud y, una vez que los datos están listos, Hinge proporciona un archivo .zip
con sus datos personales.
La exportación de datos proporcionada por Hinge contiene varios archivos, pero el principal es el archivo index.html
, que se utiliza para representar una página web con pestañas que muestran diferentes datos. Las pestañas proporcionadas por Hinge están etiquetadas: Usuario, Coincidencias, Avisos, Medios, Suscripciones, Nuevos comienzos y Verificación de selfies. Aparte de ver los cambios en tus mensajes o ver qué imágenes has subido, estos datos no son particularmente útiles, especialmente en la pestaña Coincidencias, que debería ser la parte más interesante.
La pestaña Coincidencias en la exportación de Hinge contiene una lista de "Coincidencias", o más bien "interacciones", como las llamo en este proyecto, como esta:
Partido # 1 2024-01-22 20:13:22 Me gusta
Partido # 2 2024-01-23 20:15:42 Me gusta
Partido # 3 2024-01-23 20:37:27 Partido
2024-01-23 20:39:45 Chat: ¡Hola mundo!
2024-01-23 21:49:26 Quitar
La lista de coincidencias proporcionada por Hinge deja mucho que desear, por eso decidí construir este proyecto analizando y visualizando información interesante a partir de la exportación de datos de Hinge.
La aplicación es una aplicación Dash Plotly de varias páginas que se ejecuta en un contenedor Docker en el puerto 8050
. Cree una imagen de compilación de Docker con: docker compose build
y ejecute la aplicación con: docker compose up -d
. La aplicación estará disponible en http://0.0.0.0:8050/. Para bajar el contenedor, use docker compose down
.
La página se mostrará con información sobre la aplicación e instrucciones sobre cómo usarla.
La sección "Cargar archivos" permite a los usuarios cargar un matches.json
o user.json
para su análisis. Por el momento, el programa espera que el archivo se matches.json
o user.json
, tal como aparecen en la exportación proporcionada por Hinge. Una vez seleccionado un archivo, debería mostrar el nombre del archivo cargado debajo del cuadro de carga.
La sección "Información de datos" contiene enlaces para mostrar páginas con datos relacionados con datos de coincidencias o datos de usuario. Haga clic en "Coincidencias" o "Usuarios" para mostrar la información y los gráficos de cualquiera de los temas. Las visualizaciones se mostrarán inicialmente como gráficos en blanco hasta que se cargue un archivo y se vuelvan a cargar los gráficos. Al hacer clic en el botón "Recargar gráficos" se regenerarán los gráficos con los datos cargados.
La página de análisis de partidos contiene varios gráficos que muestran diferentes aspectos de los datos del partido. Hinge solo proporciona datos sobre las acciones del usuario por razones de privacidad, por lo que la mayoría de los datos se refieren a cómo el usuario interactuó con otros usuarios.
El primer gráfico es el Interaction Funnel , que es una visualización de los diferentes tipos de interacciones que ocurrieron entre el usuario y otros usuarios. La parte más externa del embudo "Interacciones distintas" es el número total de interacciones únicas que ocurrieron. Esta es una combinación de Me gusta que el usuario recibió y no correspondió, Me gusta que el usuario envió y no fue correspondido, y Me gusta que el usuario envió y que conducen a coincidencias y chats.
El embudo es una buena forma de ver cuántas interacciones inició el usuario y cuántas conducen a coincidencias y conversaciones.
La sección Me gusta salientes que has enviado contiene gráficos que detallan más detalles sobre los Me gusta salientes del usuario. El primer gráfico muestra a los usuarios en la aplicación que les gustó más de una vez. Este escenario es desconcertante, ya que no está claro cómo puede suceder esto, pero ocurre con poca frecuencia en los datos. El segundo gráfico circular a la derecha muestra la proporción de cuántos me gusta salientes envió el usuario con un comentario.
Debajo de los gráficos circulares, hay una tabla llamada Qué estás comentando cuando te gusta el contenido de alguien , que muestra los comentarios que el usuario dejó en los perfiles de otros usuarios cuando le gustaron. Esta tabla es útil para ver lo que el usuario decía a otros usuarios cuando les gustaban.
La siguiente sección Frecuencia de tipos de acciones por día muestra la frecuencia de las diferentes acciones que el usuario realizó en la aplicación por día. Esto es útil para ver patrones de actividad y cuándo estuvieron más activos en la aplicación.
Después de eso, hay un gráfico circular llamado ¿A cuántas personas les diste tu número? , que muestra exactamente eso. De todas las interacciones que tuvo un usuario que condujeron a chats, este gráfico muestra la proporción de cuántos chats llevan al usuario a dar su número de teléfono. Esto opera bajo el supuesto de que el usuario compartió su número de teléfono en uno de los formatos comunes que se enumeran a continuación.
La última sección de Match Analytics muestra mensajes salientes por chat . Este gráfico de barras es una distribución de cuántos mensajes envió el usuario en cada interacción en la que se intercambiaron mensajes. Esto es útil para ver la duración promedio de las conversaciones que el usuario tuvo con otras personas.
Esta pestaña está actualmente en construcción y estará disponible en una versión futura.
Hinge cambia y actualiza el esquema de exportación de datos de vez en cuando, y eso puede o no romper el código de análisis actual y hacer que las cosas queden obsoletas. Hasta ahora, no he experimentado ningún cambio de esquema que haya roto mi código, pero supongo que con el tiempo se producirán cambios y las cosas ya no funcionarán. No he encontrado una manera de mantenerme actualizado con los cambios de esquema en este momento.
Dado que Hinge no proporciona documentación, aquí hay algunas suposiciones que hago sobre los datos:
where block_type = 'remove'
) podrían ir en cualquier dirección, lo que significa que ese bloque podría representar que alguien elimina la coincidencia con el usuario, o podría representar que el usuario elimina el bloqueo con otra persona.Hay varios escenarios posibles que ocurren en los datos de exportación en lo que Hinge denomina "coincidencias". No todos estos son "matches", porque algunos eventos son simplemente me gusta salientes que no fueron correspondidos. Por eso me refiero a ellas como interacciones , donde una interacción representa los encuentros (me gusta, coincidencias, chats, bloqueos) que ocurrieron entre el usuario y otra persona.
A continuación se detallan los diferentes escenarios de interacciones que ocurren en los datos:
Como | Fósforo | Charlas | Bloquear | Significado |
---|---|---|---|---|
incógnita | El usuario envió un mensaje saliente, a la persona no le gustó. | |||
incógnita | incógnita | incógnita | El usuario envió un me gusta saliente, la otra persona le devolvió el me gusta y se intercambió al menos un mensaje. | |
incógnita | incógnita | El usuario recibió un Me gusta entrante, le devolvió el Me gusta a la otra persona y se intercambió al menos un mensaje. | ||
incógnita | La coincidencia fue eliminada o "no coincide", no puedo decir quién no coincide con quién. Por alguna razón, muchos de estos existen sin ninguna otra información y no hay forma de saber a qué interacción se vinculó originalmente. | |||
incógnita | incógnita | El usuario recibió un Me gusta entrante, la otra persona también le dio Me gusta, no se intercambiaron mensajes y se eliminó la coincidencia. |
Tengo una larga lista de mejoras y correcciones que quiero hacerle a la aplicación para mejorarla. Para ver lo que hay disponible, consulte la pestaña Proyectos en el repositorio.