O Hinge permite que os usuários solicitem a exportação de seus dados pessoais coletados enquanto usavam o aplicativo. Se você possui uma conta Hinge, pode solicitar seus dados acessando Configurações -> Baixar meus dados. Normalmente, leva de 24 a 48 horas para atender a essa solicitação e, assim que os dados estiverem prontos, o Hinge fornece um arquivo .zip
com seus dados pessoais.
A exportação de dados fornecida pelo Hinge contém vários arquivos, mas o principal é o arquivo index.html
, que é usado para renderizar uma página web com abas mostrando dados diferentes. As guias fornecidas pelo Hinge são rotuladas: Usuário, Correspondências, Prompts, Mídia, Assinaturas, Novos Começos e Verificação de Selfie. Além de visualizar as alterações em suas solicitações ou ver quais fotos você enviou, esses dados não são particularmente úteis, especialmente na guia Correspondências, que deve ser a parte mais interessante.
A guia Correspondências na exportação do Hinge contém uma lista de "Correspondências", ou melhor, "interações", como as chamo neste projeto, assim:
Partida # 1 2024-01-22 20:13:22 Curtir
Partida # 2 23/01/2024 20:15:42 Curtir
Partida # 3 2024-01-23 20:37:27 Partida
2024-01-23 20:39:45 Bate-papo: Olá, mundo!
23/01/2024 21:49:26 Remover
A lista de Matches fornecida pelo Hinge deixa muito a desejar, por isso decidi construir este projeto analisando e visualizando insights interessantes da exportação de dados do Hinge.
O aplicativo é um aplicativo Dash Plotly de várias páginas que é executado em um contêiner Docker na porta 8050
. Crie uma imagem de compilação do Docker com: docker compose build
e execute o aplicativo com: docker compose up -d
. O aplicativo estará disponível em http://0.0.0.0:8050/. Para desativar o contêiner, use docker compose down
.
A página será renderizada com informações sobre o aplicativo e instruções sobre como usá-lo.
A seção "Carregar arquivos" permite que os usuários carreguem um arquivo matches.json
ou user.json
para análise. No momento, o programa espera que o arquivo se chame matches.json
ou user.json
, conforme estão na exportação fornecida pelo Hinge. Depois que um arquivo for selecionado, ele deverá mostrar o(s) nome(s) do(s) arquivo(s) enviado(s) na caixa de upload.
A seção "Data Insights" contém links para exibir páginas com dados relacionados a dados de correspondência ou dados do usuário. Clique em “Correspondências” ou “Usuários” para mostrar as informações e gráficos de qualquer tópico. As visualizações serão inicialmente exibidas como gráficos em branco até que um arquivo seja carregado e os gráficos sejam recarregados. Clicar no botão "Recarregar Gráficos" irá regenerar os gráficos com os dados carregados.
A página de análise da partida contém vários gráficos que mostram diferentes aspectos dos dados da partida. O Hinge fornece dados sobre as ações do usuário apenas por motivos de privacidade, portanto, a maioria dos dados refere-se à forma como o usuário interagiu com outros usuários.
O primeiro gráfico é o Funil de Interação , que é uma visualização dos diferentes tipos de interações que ocorreram entre o usuário e outros usuários. A parte mais externa do funil “Interações distintas” é o número total de interações únicas que ocorreram. Esta é uma combinação de curtidas que o usuário recebeu e não retribuiu, curtidas que o usuário enviou e não foram retribuídas e curtidas que o usuário enviou que levam a partidas e chats.
O funil é uma boa maneira de ver quantas interações foram iniciadas pelo usuário e quantas levaram a correspondências e conversas.
A seção Curtidas enviadas que você enviou contém gráficos que fornecem mais detalhes sobre as curtidas enviadas pelo usuário. O primeiro gráfico mostra os usuários do aplicativo dos quais o usuário gostou mais de uma vez. Este cenário é desconcertante, pois não está claro como isso pode acontecer, mas ocorre com pouca frequência nos dados. O segundo gráfico de pizza à direita mostra a proporção de quantas curtidas enviadas o usuário enviou com um comentário.
Abaixo dos gráficos de pizza, há uma tabela chamada O que você comenta quando gosta do conteúdo de alguém , que mostra os comentários que o usuário deixou nos perfis de outros usuários quando gostou deles. Esta tabela é útil para ver o que o usuário estava dizendo a outros usuários quando gostou deles.
A próxima seção Frequência dos tipos de ação por dia mostra a frequência das diferentes ações que o usuário realiza no aplicativo por dia. Isso é útil para ver padrões de atividade e quando eles estavam mais ativos no aplicativo.
Depois disso, há um gráfico de pizza chamado Para quantas pessoas você deu seu número? , o que mostra exatamente isso. De todas as interações que um usuário teve que levaram a chats, este gráfico mostra a proporção de quantos chats levaram o usuário a fornecer seu número de telefone. Isso funciona sob a suposição de que o usuário compartilhou seu número de telefone em um dos formatos comuns listados abaixo.
A última seção do Match Analytics mostra mensagens de saída por bate-papo . Este gráfico de barras é uma distribuição de quantas mensagens foram enviadas pelo usuário em cada interação onde foram trocadas mensagens. Isso é útil para ver a duração média das conversas que o usuário teve com outras pessoas.
Esta guia está atualmente em construção e estará disponível em uma versão futura.
O Hinge altera e atualiza o esquema de exportação de dados de tempos em tempos, e isso pode ou não quebrar o código de análise atual e tornar as coisas obsoletas. Até agora, não experimentei nenhuma alteração de esquema que tenha quebrado meu código, mas presumo que, com o tempo, ocorrerão alterações e as coisas não funcionarão mais. Não encontrei uma maneira de me manter atualizado com as alterações de esquema no momento.
Como não há documentação fornecida pela Hinge, aqui estão algumas suposições que estou fazendo sobre os dados:
where block_type = 'remove'
) podem seguir qualquer direção, o que significa que o bloco pode representar alguém removendo a correspondência com o usuário ou pode representar o usuário removendo o bloco com outra pessoaExistem vários cenários possíveis acontecendo nos dados de exportação no que Hinge chama de "correspondências". Nem todos são “correspondências”, porque alguns eventos são simplesmente curtidas enviadas que não foram retribuídas. É por isso que me refiro a eles como interações , onde uma interação representa os encontros (curtidas, partidas, chats, bloqueios) que ocorreram entre o usuário e outra pessoa.
Aqui estão os diferentes cenários de interações que ocorrem nos dados:
Como | Corresponder | Bate-papos | Bloquear | Significado |
---|---|---|---|---|
X | O usuário enviou uma mensagem, a pessoa não gostou dela de volta | |||
X | X | X | O usuário enviou um like, a outra pessoa também gostou, pelo menos uma mensagem foi trocada | |
X | X | O usuário recebeu uma curtida, o usuário também gostou da outra pessoa e pelo menos uma mensagem foi trocada | ||
X | A correspondência foi removida ou "não correspondida", não é possível dizer quem não corresponde a quem. Por alguma razão, muitos deles existem sem qualquer outra informação e não há como saber a qual interação eles estavam originalmente vinculados. | |||
X | X | O usuário recebeu uma curtida, o usuário também gostou da outra pessoa, nenhuma mensagem foi trocada e a correspondência foi removida |
Tenho uma longa lista de melhorias e correções que desejo fazer no aplicativo para melhorá-lo. Para ver o que está acontecendo, verifique a guia Projetos no repositório.