【2026年最新版】Xのおすすめアルゴリズムを公開ソースコードから解析|スコア計算式・加点・減点・伸ばし方
X(旧Twitter)の「おすすめ」に投稿が表示される仕組みについては、 「いいねが多いほど伸びる」 「リポストが重要」 「返信を増やせばいい」 など、さまざまな情報が出回っていましたが
Xが8/13アルゴリズムをソースコードで公開しました。これを見ると、 ランキングは単純なエンゲージメント件数だけでは決められていませんでした。ソースコードを見るのが苦手、面倒な方向けにソースコードの大まかにまとめました。
XではPhoenixと呼ばれる推薦モデルが、 「このユーザーにこの投稿を見せた場合、どの行動を起こす可能性があるか」 を行動ごとに予測します。
その予測値に、行動ごとに設定されたWeight(重み)を掛け、 複数の評価を足し合わせることでランキング用の基礎スコアを作ります。
Xアルゴリズムの基本となるスコア計算式
より簡単に言えば、 Xは投稿そのものに固定点数を付けるのではなく、 「あなたがその投稿を見たときに何をしそうか」 を予測して、その結果からスコアを作っています。
例えばこんなイメージです
あるユーザーAさんに、投稿Xを表示するとします。
Phoenixが仮に次のような予測をしたとします。
| 予測される行動 | 予測確率 | Weight | 計算 |
|---|---|---|---|
| いいね | 30% | 0.5 | 0.30 × 0.5 = 0.15 |
| 返信 | 5% | 5.0 | 0.05 × 5.0 = 0.25 |
| リポスト | 10% | 1.0 | 0.10 × 1.0 = 0.10 |
| 引用 | 3% | 5.0 | 0.03 × 5.0 = 0.15 |
| フォロー | 2% | 4.0 | 0.02 × 4.0 = 0.08 |
0.15 + 0.25 + 0.10 + 0.15 + 0.08
= 0.73
というように、複数の行動予測を足し合わせていきます。
実際にはこれ以外にも、 共有、DM共有、リンクコピー、クリック、動画視聴、滞在時間、 「興味なし」、ミュート、ブロック、通報など、 多くの予測値が計算対象になります。
公開されている ranking_scorer.rs では、
Phoenixから取得した各スコアに、それぞれのWeightを掛けて
合成スコアを作る処理が実装されています。
重要|「いいね1件=0.5点」ではない
Weightが0.5だからといって、
「いいね1件=0.5点」
という意味ではありません。
同様に、ReportWeightが-234だからといって、
「通報1件=-234点」
でもありません。
Weightを掛けているのは、 実際に発生したエンゲージメント件数ではなく、そのユーザーが行動を起こす予測値 です。
つまり、
× 返信1件はいいね10件分
× 通報1件でいいね468件が相殺される
という単純計算ではありません。
X自身も公開リポジトリの説明で、 Weightは生のエンゲージメント件数ではなく、 ユーザーごとの予測確率や連続値に掛けられるものだと明記しています。
ではWeightの数字を見る意味は何なのか?
「1件あたりの点数」ではないなら、 Weightを見る意味がないのでは? と思うかもしれません。
そうではありません。
Weightを見ることで、 Xのランキングモデルが、どの種類のユーザー行動を評価材料として採用しているか を確認できます。
また、同程度の予測値であれば、 Weightの大きい行動ほどランキングスコアへの影響も大きくなります。
公開コードで確認できる主な加点・減点Weight
| ユーザー行動 | Weight | 方向 | 運用上の見方 |
|---|---|---|---|
| いいね(Favorite) | +0.5 | プラス | 基本的な好意シグナル |
| 返信(Reply) | +5.0 | プラス | 会話につながる |
| リポスト(Retweet) | +1.0 | プラス | 拡散シグナル |
| 引用(Quote) | +5.0 | プラス | 深い反応につながる |
| Share | +2.0 | プラス | 共有価値 |
| DMで共有 | +5.0 | プラス | 人に送りたくなる投稿 |
| リンクコピー共有 | +20.0 | プラス | 強い共有行動 |
| 投稿者をフォロー | +4.0 | プラス | 継続的な関心 |
| 投稿クリック | +0.4 | プラス | 投稿への興味 |
| 画像拡大 | +0.05 | プラス | 画像への関心 |
| 継続滞在時間 | +0.004 | プラス | 読まれる時間 |
| 興味なし | -43.2 | マイナス | 強いネガティブシグナル |
| ブロック | -31.2 | マイナス | 強い拒否反応 |
| ミュート | -58.8 | マイナス | 非常に強い拒否反応 |
| 通報 | -234.0 | マイナス | 非常に強いネガティブ評価 |
| 滞在しなかった | -0.02 | マイナス | すぐ流された可能性 |
Xのスコアは「投稿単位」ではなく「ユーザー×投稿」で変わる
ここがXのおすすめアルゴリズムを理解するうえで、 最も重要なポイントのひとつです。
同じ投稿であっても、 ユーザーAさんとユーザーBさんでは、 予測される行動確率が違います。
例えばラーメンに関する投稿があったとして、
Aさん:普段からラーメン投稿をよく見る
Bさん:ラーメン投稿をほとんど見ない
というユーザーであれば、 Phoenixが予測するクリック、いいね、返信、共有などの確率も 異なる可能性があります。
「この投稿を、この人に見せる価値はどれくらいあるか?」
をユーザーごとに計算している、と考えると分かりやすくなります。
基礎スコアだけでおすすめ順位が決まるわけではない
もうひとつ注意したいのが、 先ほどの
Σ(予測値 × Weight)
だけで最終的なFor Youの表示順が完全に決まるわけではない点です。
現在公開されているコードでは、 重み付きスコアを算出したあとにも複数の調整処理が存在します。
1.スコアの正規化
ポジティブ・ネガティブ双方のスコアを扱うため、 RankingScorer内ではスコアを一定の範囲に調整する処理があります。
2.Author Diversity
同じ投稿者の投稿ばかりがおすすめ欄を占有しないよう、 同一作者の2本目以降には減衰処理が入ります。
公開されている基本値では、
Decay = 0.5
Floor = 0.25
となっており、考え方は次の式です。
| 同じ投稿者の投稿 | 倍率の目安 |
|---|---|
| 1本目 | 100% |
| 2本目 | 62.5% |
| 3本目 | 43.75% |
| 4本目 | 34.375% |
| 5本目 | 約29.7% |
そのため、 大量投稿すれば単純に露出が投稿数分だけ増える、 という仕組みではありません。
3.フォロー外投稿への補正
自分がフォローしていないアカウントの投稿、 いわゆるOut-of-Network投稿については、 別の係数による調整も行われます。
公開パラメータでは通常のOON Weight Factorとして 0.75が設定されています。
つまり、フォロー外投稿は不利になる場合があるものの、 それでも予測スコアが高ければ、 おすすめ候補として表示される可能性があります。
4.New Author Boost
公開コードでは、 表示回数が一定以下の投稿者に対して、 新しい投稿者を発見しやすくするための調整処理も存在します。
つまりXは、 単純にフォロワー数が多いアカウントだけを おすすめする設計ではありません。
5.VMRankerによる再ランキング
現在の公開コードでは、 設定によってVMRankerという別のランキング処理へ 候補を送る仕組みも存在します。
そのため厳密には、
↓
② 予測値 × Weightを合計
↓
③ スコアを正規化
↓
④ Author Diversityなどの補正
↓
⑤ フォロー外補正などを適用
↓
⑥ 必要に応じて再ランキング
↓
⑦ For Youへ表示
という流れとして理解する方が正確です。
では「おすすめ」に載せるには何を意識すればいいのか?
ここまでのスコア計算方法から、 X運用で見るべきポイントがかなり明確になります。
① いいねだけを集める投稿にしない
XはFavoriteだけでなく、 Reply、Quote、Share、Followなど 複数の行動を同時に予測しています。
そのため、
「いいねされる投稿」
だけではなく、
「返信したくなる」
「誰かに送りたくなる」
「引用して意見を書きたくなる」
「この人をフォローしたくなる」
といった投稿を作ることが重要です。
② 人に送りたくなる投稿を作る
公開Weightを見ると、 共有系の行動もランキング評価に組み込まれています。
例えば、
- 業界の最新情報
- 比較表
- チェックリスト
- 料金比較
- 失敗事例
- 便利なテンプレート
- 保存したくなるノウハウ
- 人に教えたくなる情報
などは、 単純な雑談投稿より共有行動につながりやすくなります。
「この投稿にいいねしてもらえるか?」
だけではなく、
「この投稿を誰かに送りたくなるか?」
まで考えるのがおすすめです。
③ 返信したくなる余白を作る
一方的に情報を伝えて終了するよりも、 読者が自分の意見を書けるテーマを入れると、 自然な会話が生まれやすくなります。
例えば、
「大阪で一番おすすめのラーメン屋は?」
「皆さんはAとBどちらを使っていますか?」
「実際にこれを経験した人いますか?」
などです。
ただし、 「返信してください」 「いいねしてください」 を毎回繰り返すような、 露骨なエンゲージメント稼ぎをする必要はありません。
④ フォローする理由を明確にする
FollowAuthorも予測対象です。
そこで重要になるのが、 アカウントの専門性です。
例えばWEBマーケティング会社なら、
- SEO
- MEO
- Google広告
- SNS運用
- Web制作
- 集客事例
など、 一定のテーマに沿って投稿していくことで、
「この人をフォローしておけば今後も役立つ情報が見られる」
という理由を作ることができます。
⑤ ネガティブ反応を増やさない
おすすめを狙う場合、 プラスのエンゲージメントだけを見るのは危険です。
Phoenixは、
- Not Interested
- Mute
- Block
- Report
- Not Dwelled
といったネガティブ行動についても予測しています。
つまり、 炎上して反応数だけ増やせばよい、 とは限りません。
刺激の強い投稿で大量の反応を取っても、 同時にミュート、ブロック、興味なしなどの予測値まで上がれば、 ランキング上プラスとは限らないためです。
投稿後48時間もひとつの重要なポイント
For You候補を作る際にはAgeFilterが存在し、 公開コードでは48時間より古い投稿を候補から除外する処理があります。
そのためFor Youを狙うという意味では、 投稿後48時間以内 が重要な時間帯のひとつと考えられます。
ただし、
「投稿後30分ですべて決まる」
「1時間以内に○いいね必要」
といったルールまで、 今回の公開コードから確認できるわけではありません。
Xアルゴリズムを一言で表すと
これをAIモデルが予測して、 おすすめ順位を決めていると考えると分かりやすいでしょう。
つまり、
フォロワー数だけ
いいね数だけ
リポスト数だけ
を見ているわけではありません。
おすすめに載せるための投稿設計まとめ
① 最初の1〜2行で読む理由を作る
ユーザーに流されず、内容を見てもらう。
② 返信したくなるテーマにする
自然な会話が生まれる余白を作る。
③ 人に送りたくなる情報を入れる
比較、ノウハウ、チェックリスト、最新情報などを意識する。
④ フォローしたくなる専門性を作る
投稿テーマをある程度統一する。
⑤ 長文なら最後まで読みやすくする
改行、箇条書き、数字、画像などを使う。
⑥ 同じ投稿を大量連投しない
Author Diversityによる減衰を意識する。
⑦ フォロワー外でも理解できる投稿にする
おすすめ欄では初見ユーザーに表示される可能性がある。
⑧ ネガティブ反応を増やさない
釣り、過度な煽り、同じ宣伝の連投を避ける。
まとめ|X攻略で最も重要なのは「予測されるユーザー行動」
Xが公開しているアルゴリズムを理解するうえで、 最も重要なのはこの式です。
つまりXは、 「現在何件いいねされているか」だけではなく、
このユーザーなら、この投稿にいいねするか?
返信するか?
共有するか?
フォローするか?
逆にミュートやブロックをするか?
を予測しています。
そのためX運用で考えるべきことは、 単純に
「どうすればいいねを増やせるか?」
ではありません。
むしろ、
まで設計することが重要です。
読む、返信する、共有する、引用する、フォローする。
そうした自然で深いユーザー行動が起きる投稿を作ることが、 公開されているXアルゴリズムから見ても、 「おすすめ」を狙ううえで重要な考え方と言えるでしょう。
参考ソース
本記事は、2026年8月16日時点で公開されている xAI公式GitHubリポジトリ 「xai-org/x-algorithm」 を基に作成しています。
- README.md
- home-mixer/scorers/ranking_scorer.rs
- home-mixer/params/param.rs
- Phoenix関連コード
- For You Candidate Pipeline
なお、公開リポジトリに含まれるWeightやパラメータは、 今後変更される可能性があります。 またXのランキングシステムのすべてが公開されているわけではありません。最新情報はX-algorithmをご覧下さい。https://github.com/xai-org/x-algorithm
最終確認日:2026年8月16日











コメント