Hinge permet aux utilisateurs de demander une exportation de leurs données personnelles collectées lors de l'utilisation de l'application. Si vous disposez d'un compte Hinge, vous pouvez demander vos données en allant dans Paramètres -> Télécharger mes données. Cela prend généralement entre 24 et 48 heures pour répondre à cette demande, et une fois les données prêtes, Hinge fournit un fichier .zip
avec vos données personnelles.
L'exportation de données fournie par Hinge contient plusieurs fichiers, mais l'essentiel est le fichier index.html
, qui est utilisé pour restituer une page Web avec des onglets affichant différentes données. Les onglets fournis par Hinge sont étiquetés : Utilisateur, Correspondances, Invites, Médias, Abonnements, Nouveau départ et Vérification du selfie. Mis à part l'affichage des modifications apportées à vos invites ou la visualisation des images que vous avez téléchargées, ces données ne sont pas particulièrement utiles, en particulier dans l'onglet Correspondances qui devrait être la partie la plus intéressante.
L'onglet Correspondances de l'export Hinge contient une liste de « Correspondances », ou plutôt d'« interactions » comme je les appelle dans ce projet, comme ceci :
Match n°1 2024-01-22 20:13:22 J'aime
Match n°2 2024-01-23 20:15:42 J'aime
Match n°3 2024-01-23 20:37:27 Match
2024-01-23 20:39:45 Chat : Bonjour le monde !
2024-01-23 21:49:26 Supprimer
La liste des correspondances fournies par Hinge laisse beaucoup à désirer, c'est pourquoi j'ai décidé de construire ce projet en analysant et en visualisant des informations intéressantes issues de l'exportation de données Hinge.
L'application est une application Dash Plotly multipage qui s'exécute dans un conteneur Docker sur le port 8050
. Créez une image de build Docker avec : docker compose build
et exécutez l'application avec : docker compose up -d
. L'application sera disponible sur http://0.0.0.0:8050/. Pour faire descendre le conteneur, utilisez docker compose down
.
La page s'affichera avec des informations sur l'application et des instructions sur la façon de l'utiliser.
La section « Télécharger des fichiers » permet aux utilisateurs de télécharger un fichier matches.json
ou user.json
pour analyse. Pour le moment, le programme s'attend à ce que le fichier s'appelle matches.json
ou user.json
, comme ils le sont dans l'exportation fournie par Hinge. Une fois qu'un fichier a été sélectionné, il devrait afficher le(s) nom(s) du fichier téléchargé sous la zone de téléchargement.
La section « Data Insights » contient des liens pour afficher des pages contenant des données liées aux données de correspondance ou aux données utilisateur. Cliquez sur « Correspondances » ou « Utilisateurs » pour afficher les informations et les graphiques pour l'un ou l'autre sujet. Les visualisations s'afficheront initialement sous forme de graphiques vierges jusqu'à ce qu'un fichier soit téléchargé et que les graphiques soient rechargés. En cliquant sur le bouton « Recharger les graphiques », les graphiques seront régénérés avec les données téléchargées.
La page d'analyse de match contient plusieurs graphiques qui montrent différents aspects des données de match. Hinge ne fournit des données sur les actions de l'utilisateur que pour des raisons de confidentialité. La plupart des données concernent donc la manière dont l'utilisateur a interagi avec les autres utilisateurs.
Le premier graphique est l' entonnoir d'interaction , qui est une visualisation des différents types d'interactions qui se sont produites entre l'utilisateur et les autres utilisateurs. La partie la plus externe de l'entonnoir « Interactions distinctes » correspond au nombre total d'interactions uniques qui se sont produites. Il s'agit d'une combinaison de likes que l'utilisateur a reçus et n'ont pas rendu la pareille, de likes que l'utilisateur a envoyés et n'ont pas reçu de réciprocité, et de likes que l'utilisateur a envoyés qui ont conduit à des correspondances et à des discussions.
L'entonnoir est un bon moyen de voir combien d'interactions ont été initiées par l'utilisateur et combien mènent à des correspondances et à des conversations.
La section J'aime sortants que vous avez envoyés contient des graphiques qui donnent plus de détails sur les J'aime sortants de l'utilisateur. Le premier graphique montre les utilisateurs de l'application que l'utilisateur a aimés plus d'une fois. Ce scénario laisse perplexe, car on ne sait pas clairement comment cela peut se produire, mais cela se produit rarement dans les données. Le deuxième diagramme circulaire à droite montre le ratio du nombre de likes sortants que l'utilisateur a envoyés avec un commentaire.
Sous les diagrammes circulaires, il y a un tableau appelé Ce que vous commentez lorsque vous aimez le contenu de quelqu'un , qui montre les commentaires que l'utilisateur a laissés sur les profils d'autres utilisateurs lorsqu'il les a aimés. Ce tableau est utile pour voir ce que l'utilisateur disait aux autres utilisateurs lorsqu'ils les aimaient.
La section suivante Fréquence des types d'actions par jour affiche la fréquence des différentes actions effectuées par l'utilisateur sur l'application par jour. Ceci est utile pour voir les modèles d’activité et le moment où ils ont été les plus actifs sur l’application.
Après cela, il y a un diagramme circulaire intitulé À combien de personnes avez-vous donné votre numéro ? , ce qui montre exactement cela. Parmi toutes les interactions qu'un utilisateur a eues et qui ont conduit à des discussions, ce graphique montre le ratio du nombre de discussions qui ont conduit l'utilisateur à donner son numéro de téléphone. Cela fonctionne en supposant que l'utilisateur a partagé son numéro de téléphone dans l'un des formats courants répertoriés ci-dessous.
La dernière section de Match Analytics affiche les messages sortants par chat . Ce graphique à barres est une distribution du nombre de messages envoyés par l'utilisateur lors de chaque interaction au cours de laquelle des messages ont été échangés. Ceci est utile pour voir la durée moyenne des conversations que l'utilisateur a eues avec d'autres.
Cet onglet est actuellement en construction et sera disponible dans une prochaine version.
Hinge modifie et met à jour le schéma d'exportation des données de temps en temps, ce qui peut ou non casser le code d'analyse actuel et rendre les choses obsolètes. Jusqu'à présent, je n'ai rencontré aucun changement de schéma qui aurait brisé mon code, mais je suppose qu'avec le temps, des changements se produiront et les choses ne fonctionneront plus. Je n'ai pas trouvé de moyen de rester au courant de leurs modifications de schéma pour le moment.
Puisqu'il n'y a aucune documentation fournie par Hinge, voici quelques hypothèses que je fais concernant les données :
where block_type = 'remove'
) peuvent aller dans les deux sens, ce qui signifie que le bloc peut représenter quelqu'un supprimant la correspondance avec l'utilisateur, ou il peut représenter l'utilisateur supprimant le bloc avec quelqu'un d'autre.Il existe plusieurs scénarios possibles dans les données d'exportation dans ce que Hinge appelle des « correspondances ». Ce ne sont pas tous des « matchs », car certains événements sont simplement des likes sortants qui n'ont pas été réciproques. C'est pourquoi je les appelle interactions , où une interaction représente les rencontres (j'aime, correspondances, discussions, blocages) qui ont eu lieu entre l'utilisateur et une autre personne.
Voici les différents scénarios d’interactions qui se produisent dans les données :
Comme | Correspondre | Discussions | Bloc | Signification |
---|---|---|---|---|
X | L'utilisateur a envoyé un message sortant, la personne ne l'a pas aimé en retour | |||
X | X | X | L'utilisateur a envoyé un like sortant, l'autre personne l'a aimé en retour, au moins un message a été échangé | |
X | X | L'utilisateur a reçu un like entrant, l'utilisateur a aimé l'autre personne en retour et au moins un message a été échangé | ||
X | La correspondance a été supprimée ou "sans correspondance", on ne peut pas dire qui n'a pas de correspondance avec qui. Pour une raison quelconque, beaucoup d'entre eux existent sans aucune autre information et il n'y a aucun moyen de savoir à quelle interaction ils étaient initialement liés. | |||
X | X | L'utilisateur a reçu un like entrant, l'utilisateur a aimé l'autre personne en retour, aucun message n'a été échangé et la correspondance a été supprimée |
J'ai une longue liste d'améliorations et de correctifs que je souhaite apporter à l'application pour l'améliorer. Pour voir ce qu'il y a sur le pont, consultez l'onglet Projets dans le dépôt.