Hinge を使用すると、ユーザーはアプリの使用中に収集された個人データのエクスポートをリクエストできます。 Hinge アカウントをお持ちの場合は、[設定] -> [データのダウンロード] に移動してデータをリクエストできます。通常、このリクエストを満たすには 24 ~ 48 時間かかります。データの準備が完了すると、Hinge は個人データを含む.zip
ファイルを提供します。
Hinge によって提供されるデータ エクスポートにはいくつかのファイルが含まれていますが、主なものは、さまざまなデータを表示するタブを含む Web ページをレンダリングするために使用される、 index.html
ファイルです。 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 チャット: Hello, World!
2024-01-23 21:49:26 削除
Hinge が提供する一致リストにはまだ不十分な点がたくさんあります。そのため、Hinge データ エクスポートからの興味深い洞察を分析および視覚化するこのプロジェクトを構築することにしました。
このアプリケーションは、ポート8050
の Docker コンテナーで実行される複数ページの Dash Plotly アプリケーションです。 docker docker compose build
ビルド イメージを作成し、 docker compose up -d
を使用してアプリを実行します。アプリは http://0.0.0.0:8050/ で入手可能になります。コンテナーを停止するには、 docker compose down
使用します。
ページには、アプリに関する情報とその使用方法に関する説明が表示されます。
「ファイルのアップロード」セクションでは、ユーザーは分析のためにmatches.json
またはuser.json
ファイルをアップロードできます。現時点では、プログラムは、Hinge によって提供されるエクスポートにあるファイルの名前がmatches.json
またはuser.json
であることを期待しています。ファイルを選択すると、アップロード ボックスの下にアップロードされたファイル名が表示されます。
「データ分析」セクションには、試合データまたはユーザー データに関連するデータを含むページを表示するためのリンクが含まれています。 「一致」または「ユーザー」をクリックすると、いずれかのトピックの情報とグラフが表示されます。ファイルがアップロードされ、グラフが再ロードされるまで、ビジュアライゼーションは最初は空のグラフとして表示されます。 [グラフの再読み込み] ボタンをクリックすると、アップロードされたデータでグラフが再生成されます。
試合分析ページには、試合データのさまざまな側面を示すいくつかのグラフが含まれています。 Hinge はプライバシー上の理由からユーザーの行動に関するデータのみを提供するため、データのほとんどはユーザーが他のユーザーとどのようにやり取りしたかに関するものです。
最初のグラフはインタラクション ファネルで、ユーザーと他のユーザーの間で発生したさまざまな種類のインタラクションを視覚化したものです。ファネルの最も外側の部分「個別のインタラクション」は、発生した一意のインタラクションの総数です。これは、ユーザーが受信したが返されなかった「いいね」、ユーザーが送信したが返されなかった「いいね」、マッチやチャットにつながったユーザーが送信した「いいね」の組み合わせです。
ファネルは、ユーザーによって開始されたインタラクションの数と、一致や会話につながったインタラクションの数を確認する良い方法です。
[送信したいいね!]セクションには、ユーザーの発信するいいね! について詳しく説明するグラフが含まれています。最初のグラフは、アプリを複数回気に入ったユーザーを示しています。このシナリオは、これがどのようにして起こるのかは明らかではないものの、データ内ではまれにしか発生しないため、複雑です。右側の 2 番目の円グラフは、ユーザーがコメントとともに送信したいいね! の数の割合を示しています。
円グラフの下には、 「誰かのコンテンツを気に入ったときにコメントしている内容」という表があり、ユーザーが他のユーザーのプロフィールに「いいね!」をしたときにそのユーザーが残したコメントが表示されます。この表は、ユーザーが他のユーザーに「いいね」をしたときに何を言ったかを確認するのに役立ちます。
次のセクション「アクション タイプの頻度 (日別)」では、ユーザーがアプリ上で実行したさまざまなアクションの頻度を日ごとに示します。これは、アクティビティのパターンと、アプリ上で最もアクティブだった時期を確認するのに役立ちます。
その後、 「何人に番号を渡しましたか?」という円グラフが表示されます。 、まさにそれを示しています。このグラフは、チャットにつながるユーザーのすべてのインタラクションのうち、ユーザーが自分の電話番号を教えることにつながったチャットの数の割合を示しています。これは、ユーザーが以下に示す一般的な形式のいずれかで電話番号を共有しているという前提で動作します。
Match Analytics の最後のセクションには、チャットごとの送信メッセージが表示されます。この棒グラフは、メッセージが交換された各インタラクションでユーザーが送信したメッセージの数の分布です。これは、ユーザーが他のユーザーと行った会話の平均長さを確認するのに役立ちます。
このタブは現在作成中であり、将来のリリースで利用可能になる予定です。
Hinge はデータ エクスポートのスキーマを随時変更および更新します。これにより、現在の分析コードが壊れて、時代遅れになる可能性があります。これまでのところ、コードが壊れるようなスキーマ変更は経験していませんが、時間の経過とともに変更が発生し、機能しなくなるものと思われます。現時点では、スキーマの変更を最新の状態に保つ方法が見つかりません。
Hinge から提供されるドキュメントがないため、データについて私が推測しているいくつかのことを以下に示します。
where block_type = 'remove'
) はどちらの方向にも進むことができます。つまり、ブロックは誰かがユーザーとの一致を削除することを表すことも、ユーザーが他の誰かとのブロックを削除することを表すこともできます。Hinge が「一致」と呼ぶエクスポート データでは、いくつかのシナリオが発生する可能性があります。一部のイベントは単に送信され、返信されなかったものであるため、これらはすべて「一致」というわけではありません。これが、私がそれらをインタラクションと呼ぶ理由です。インタラクションは、ユーザーと他の人の間で発生した出会い (いいね、マッチ、チャット、ブロック) を表します。
データ内で発生するインタラクションのさまざまなシナリオを次に示します。
のように | マッチ | チャット | ブロック | 意味 |
---|---|---|---|---|
× | ユーザーが発信を送信したが、相手は返信を好まなかった | |||
× | × | × | ユーザーがいいねを送信し、相手もいいねを返し、少なくとも 1 つのメッセージが交換されました | |
× | × | ユーザーが「いいね!」を受信し、ユーザーが相手にいいねを返し、少なくとも 1 つのメッセージが交換されました | ||
× | 一致が削除されたか、「不一致」になりました。誰が誰を不一致にしたのかわかりません。何らかの理由で、これらの多くは他の情報なしで存在しており、最初にどのインタラクションにリンクされていたかを知る方法がありません。 | |||
× | × | ユーザーが「いいね!」を受信し、ユーザーは相手にいいねを返しましたが、メッセージは交換されず、マッチングは削除されました |
アプリケーションをより良くするために、アプリケーションに対して実行したい拡張機能や修正の長いリストがあります。デッキの内容を確認するには、リポジトリの [プロジェクト] タブをチェックしてください。