エンジニアがマッチングアプリを使うと、どうしてもアルゴリズムが気になる。なぜこの人がおすすめされるのか。スワイプの順番はランダムなのか。プロフィールの何が「いいね」率に影響するのか。本記事では、バックエンドエンジニアの筆者が、マッチングアプリを技術的に分析しつつ、実際に恋活した8ヶ月間の記録をお届けする。
Eloレーティング仮説 — あなたにもスコアがつけられている
マッチングアプリの多くは、ユーザーに内部スコアを付与していると推測される。チェスの世界で使われるEloレーティングシステムに類似した仕組みだ。
Eloレーティングの基本的な考え方はこうだ。
- スコアの高いユーザーに「いいね」されると、あなたのスコアが上がる
- スコアの低いユーザーに「いいね」されても、スコアの上昇は小さい
- あなたが「いいね」したのに相手にスキップされると、スコアが下がる
- 同程度のスコアのユーザー同士がマッチングされやすい
// Eloレーティングの簡易的な計算式
function calculateNewRating(
currentRating: number,
opponentRating: number,
outcome: 'liked' | 'skipped',
K: number = 32
): number {
const expected = 1 / (1 + Math.pow(10, (opponentRating - currentRating) / 400))
const actual = outcome === 'liked' ? 1 : 0
return currentRating + K * (actual - expected)
}
この仮説が正しいなら、アプリを使い始めた直後の行動が極めて重要だ。最初に表示されるユーザーは比較的スコアの高い「人気ユーザー」であることが多い。ここで無差別に「いいね」を送ると、マッチング率が低下し、自分のスコアが下がるという悪循環に陥る。
プロフィール最適化 — A/Bテスト思考
エンジニアらしく、プロフィールの最適化にA/Bテスト的なアプローチを適用した。2週間ごとにプロフィールの要素を変更し、「いいね」数の変化を記録した。
写真の最適化
最も影響が大きかったのは、プロフィール写真だ。以下の知見が得られた。
- 1枚目は顔がはっきりわかる写真: 風景の中に小さく写っている写真はNG。笑顔で正面を向いた写真が最も反応が良かった
- 2枚目は趣味がわかる写真: カフェでコーヒーを飲んでいる写真、旅先での写真など。ライフスタイルが伝わるもの
- プログラミング中の写真はNG: カフェでMacBookを開いている写真を載せたところ、「仕事中毒っぽい」というフィードバックを複数もらった。意外だった
- 自撮りよりも他撮り: 自然な表情の他撮り写真の方が、自撮りよりもいいね率が約1.4倍高かった
自己紹介文の最適化
自己紹介文についても、複数のパターンを試した。
- 技術的なジャーゴンは排除: 「TypeScriptとRustが好きです」はNG。「Webサービスを作る仕事をしています」くらいが適切
- 具体的な趣味を3つ: 「カフェ巡り、映画鑑賞、料理」など。共通点を見つけやすいように具体的に
- ユーモアを入れる: 堅すぎる文章は避ける。少しだけ笑いを入れると反応が良い
- 適度な長さ: 3〜5行。長すぎると読まれない。短すぎると人となりが伝わらない
スワイプ戦略 — データ駆動の意思決定
8ヶ月間のデータを振り返ると、以下の傾向が見えた。
- 総スワイプ数: 約2,400回
- 「いいね」送信数: 約480回(スワイプの20%)
- マッチング数: 68回(いいね送信の14.2%)
- メッセージ交換に至った数: 41回(マッチングの60.3%)
- 実際に会った数: 12回(メッセージ交換の29.3%)
- 2回目のデートに繋がった数: 5回
- 交際に至った数: 1回
この数字を見ると、マッチングアプリの恋活は「ファネル」そのものだ。各段階でのコンバージョン率を意識し、ボトルネックを改善するアプローチが有効だ。
最初のメッセージ — コールドスタート問題
マッチング後の最初のメッセージは、まさにコールドスタート問題だ。相手の情報が限られている中で、会話を始めなければならない。
試した結果、最も返信率が高かったのは「プロフィールの具体的な要素に触れる質問形式」だった。
- NG例: 「はじめまして!マッチングありがとうございます」— 定型文感が強く、返信率が低い
- OK例: 「プロフィールのカフェの写真、すごく素敵ですね!あれはどこのお店ですか?」— 相手への関心を示し、返答しやすい質問
デートの設計 — ユーザー体験の最適化
初回デートの設計も、UXデザインの視点で考えた。
初デートの最適解
- 場所: 駅近のカフェかバー。移動のストレスを最小化する
- 時間: 平日夜の1〜2時間。週末の丸一日デートは初回にはハードルが高い
- 話題: 仕事の話は控えめに。趣味、旅行、食べ物の話が盛り上がりやすい
- 会計: 初回はスマートに奢る。割り勘の議論は2回目以降に
3回目のデート — 関係性の転換点
3回目のデートは、友人以上の関係に進むかどうかの転換点だ。ここまで来れたなら、お互いに好意がある証拠だ。少し特別な場所を選び、2人の距離を縮める演出が効果的だ。
筆者の場合、3回目のデートは夜景が見えるレストランを選んだ。食事の後、近くの公園を散歩しながら、自然な流れで手を繋いだ。技術的な話はせず、ただお互いの話に耳を傾けた。エンジニアである前に一人の人間として向き合うことが、何より大切だと気づいた瞬間だった。
薄暗い公園のベンチで隣に座った時、彼女の香水の匂いがほのかに漂った。心臓の鼓動が、デプロイ前の緊張とは全く違う理由で早まっていた。こういう瞬間は、どんなアルゴリズムでも再現できない。
アルゴリズムの限界 — 人間の心はコードで書けない
8ヶ月間のデータ分析とプロフィール最適化を経て辿り着いた結論は、皮肉にも「アルゴリズムには限界がある」ということだった。
プロフィール写真の最適化でマッチング率は上がる。メッセージ戦略で返信率も改善できる。しかし、実際に会った時に感じる「この人と一緒にいたい」という感覚は、データでは予測できない。
最終的に交際に至った彼女とは、プロフィール上のスペックでは「最適な」マッチではなかった。趣味もバックグラウンドも異なる。しかし、初めて会った時の会話の心地よさ、笑いのツボの近さ、沈黙が苦にならない安心感——これらは事前のデータからは読み取れなかった。
技術者としての恋活で学んだこと
エンジニア的なアプローチは、恋活の「効率」を上げるには有効だ。しかし、恋愛は効率だけでは語れない。
- データは方向性を示すが、答えは出さない: 最適化は手段であり、目的ではない
- バグのない恋愛は存在しない: すれ違い、誤解、喧嘩——これらはバグではなく、人間関係の正常な動作だ
- 完璧なアルゴリズムより、不完全な人間同士の化学反応: 相性は計算で求められるものではなく、一緒に過ごすことで発見するものだ
「人生のコードには、テストで検証できない部分がある。恋愛はその最たるものだ。でも、だからこそ面白い。」
マッチングアプリのアルゴリズムを解析し、プロフィールを最適化し、メッセージ戦略を練った8ヶ月。その全ての分析を超えて、最後に信じたのは自分の直感だった。理系の恋活は、論理の果てに感情と出会う旅なのかもしれない。












>_ コメント