X Botリーダーボードをカスタマイズ:スコアの重み付けを解説
X Botはいいね、リツイート、返信、引用、閲覧数の重み付けで投稿をスコアリングします。計算方法とコミュニティに合わせた調整方法を解説します。

X Botのレポートはいつも同じ形で締めくくられます。名前が並んだランキングリストで、それぞれの隣に数値が表示されるという形です。この数値によって、今週あなたのコミュニティで誰が一番活躍したように見えるかが決まります。ほとんどのチャットはこの計算方法に一切手を加えません。そして大半のチャットにとって、それは正しい選択です。しかし、レポートを見て「これは実際に会話を盛り上げた人とは違う」と感じたことがあるなら、解決策は別のボットに乗り換えることではありません。重み付けを調整することです。
この機能は、すべてのリーダーボードの裏で静かに働いています。/setup → 🎨 カスタマイズから調整できる、指標ごとのスコアです。ここでは、それが実際に何をしているのか、計算の仕組み、そして同じくらい重要な「いつ手を付けずにおくべきか」を説明します。
何がスコアリングされ、なぜそうなるのか#
X Botは投稿ごとに5つのエンゲージメント指標を追跡します。いいね、リツイート、返信、引用、閲覧数です。それぞれに重みが設定されています。レポートが生成されるとき、ボットはその期間中にフィルターに一致したすべての投稿を取得し、これら5つの指標の重み付き合計として投稿ごとのスコアを算出し、その後ユーザーごとに投稿スコアを合算します。合計が最も高い人がトップの座を獲得します。
デフォルトの重みは、一般的なコミュニティに適した値に調整されています。エンゲージメント(いいね、返信)は単純なリーチ(閲覧数)よりも高く評価され、リツイートと引用はその中間に位置します。このデフォルト設定は、「誰がアクティブでエンゲージメントを得ていたか」を知りたいだけであれば十分に機能します。これは、初期設定の🎯 フィルターをそのまま使っている大半のチャットに当てはまります。
しかし、「一般的なコミュニティに適している」ことと「あなたのキャンペーンにとって正しい」ことは同じではありません。生のエンゲージメント数値が同じ2つのチャットでも、測定したいものが異なれば、まったく違うリーダーボードを求めることがあります。
2つのキャンペーン、異なる「ベスト投稿」#
KOLキャンペーンを運営するトークンローンチのコーディネーターを例に考えてみましょう。目的は認知度の向上、つまり上場前にできるだけ多くの人の目にトークンを触れさせることです。この目的にとっては、5つの別のタイムラインに引用リツイートされた投稿の方が、同じ閉じたオーディエンスから静かにいいねを集めた投稿よりも価値があります。リツイートと引用の重みを上げ、返信の重みはそのままにしておくことで、リーダーボードは「単に人気の投稿をした人」ではなく「実際にこれを拡散させた人」を反映するようになります。
次に、プロジェクト独自のDiscordに近いTelegram内で毎週エンゲージメントチェックインを行っているコミュニティマネージャーを考えてみましょう。ここでの目的は正反対で、リーチではなく本物の会話です。20件の本物の返信を引き出した投稿は、ボットに近いアカウントによって虚しくリツイートされた投稿よりも価値があります。返信の重みを上げる(そして、閲覧数は水増ししやすく対処もしにくい指標なので、閲覧数の重みをゼロに近づけるのも一案です)ことで、コミュニティの健全性を実際に反映するリーダーボードが出来上がります。
どちらのチャットも、同じボットを異なる数値で使うことは「間違い」ではありません。それこそが、重みを固定値ではなく設定可能にしている理由です。
変更する場所#
重みは/setup → 🎨 カスタマイズの中にあり、プロジェクト名、説明、ロゴ、URL、リーダーボードのタイトルや色と並んで設定できます。これはグローバル設定ではなくチャットごとの設定です。3つの異なるクライアント向けに3つの名前付きフィルターを運用しているチャットであっても、重みはチャットのレポートに属するプロパティであり、個々のフィルターに属するものではないため、全フィルターで1セットの重みを共有します。

すべての指標に手を加える必要はありません。1つの重みを上げて残りをデフォルトのままにしておくだけで、通常はランキングに目立った変化を与えるのに十分です。特に投稿数が多いチャットでは、指標ごとのわずかな差が期間中の数十件の投稿にわたって積み重なります。
計算式を分かりやすく#
1投稿あたり: score = (likes × weight_likes) + (retweets × weight_retweets) + (replies × weight_replies) + (quotes × weight_quotes) + (views × weight_views)。
ユーザーごと、レポート期間ごとに: ボットは(a)有効なフィルターに一致し、かつ(b)そのユーザーが投稿したか、そのユーザーに紐づけられたすべての投稿のスコアを合算し、その合計でユーザーをランク付けします。上位表示件数(こちらも🎨 カスタマイズで設定可能)は、実際にレンダリングされるレポート画像に何行表示されるかを制御します。この値を増やしても誰のスコアも変わらず、画像に表示されるリストの深さが変わるだけです。
正規化のステップも減衰(ディケイ)もありません。7日間のレポート期間の1日目にバズった投稿は、7日目になっても発生時とまったく同じだけカウントされます。より新しい活動を重視したい場合は、それは重みの変更ではなくスケジュールの変更(レポート期間を短くすること)で対応すべき問題です。
具体的にするために、実例を挙げてみましょう。同じレポート期間中に2件の投稿があり、重みがデフォルトに近いlikes=1, retweets=2, replies=3, quotes=2, views=0.01だったとします。
- 投稿A: いいね200、リツイート40、返信5、引用10、閲覧数15,000 →
(200×1) + (40×2) + (5×3) + (10×2) + (15,000×0.01) = 200 + 80 + 15 + 20 + 150 = 465。 - 投稿B: いいね60、リツイート8、返信35、引用2、閲覧数2,000 →
(60×1) + (8×2) + (35×3) + (2×2) + (2,000×0.01) = 60 + 16 + 105 + 4 + 20 = 205。
この重みでは、投稿Bが7倍の返信数を生み出したにもかかわらず、投稿Aのリーチによってより高いスコアになります。ここで返信の重みを2倍の6にし、閲覧数の重みを0.002まで下げてみましょう。投稿Aは200 + 80 + 15 + 20 + 30 = 345に、投稿Bは60 + 16 + 210 + 4 + 4 = 294になります。差は劇的に縮まり、もう1つ良い返信スレッドがあれば順位が入れ替わります。仕組みはこれがすべてです。隠れた乗数もアカウントごとの補正もなく、あなたがコントロールする5つの数値とその合計だけです。
ソロKOLのケース#
チームのリーダーボードとしてではなく、公開用の実績ポートフォリオとしてX Botで自分のアカウントを運用しているソロKOLにとって、重みの意味合いはまた違ってきます。この場合、ランキングに登場するユーザーは1人だけなので、「誰がトップか」という問いは消えてなくなります。しかし重みは、その期間の自分自身のどの投稿をボットがベストな仕事として取り上げるかを左右し、チャットが公開ダッシュボードの基準を満たした場合に表示されるトップラインのスコアも左右します。ブランド案件を売り込むソロKOLは、公開ページをざっと見るスポンサーに良い印象を与えるリーチ重視の数値(閲覧数、リツイート)を望むでしょう。一方、これから一緒に仕事をしたいプロジェクトに本物のコミュニティからの信頼を証明しようとするソロKOLは、返信重視の数値を好むかもしれません。同じボット、同じメニューでも、レポートを誰が読むかによって5つの数値は変わってきます。
重みが他の2つの機能とどう関わるか#
スコア計算式の先にある、調整を始める前に知っておく価値のある2つの事柄があります。
ベストツイートの選出。 各レポートは、同じエンゲージメントデータをもとに選ばれた、その期間の「ベストツイート」も1件表示します。選出ルールと、意図的に組み込まれた連続選出を避ける挙動については、「今日のベストツイート」ピッカーの仕組みで解説しています。重みを変更すると、全体としてどの投稿が最も高いスコアになるかが変わるため、「ベスト」として選ばれる投稿も変わる可能性があります。ピッカーは同じ重み付き指標に依存しているためです。
公開ダッシュボードの基準値。 当月中にトップスコア300以上、追跡投稿5件以上、アクティブユーザー2人以上をクリアしたチャットは、xbot.ninjaの公開リーダーボードに掲載される資格を得ます(プロジェクトを公開X Botダッシュボードに掲載するを参照)。この基準はトップスコアに対して測定されるため、スコアを膨らませる重み(生の数値が最も大きくなりがちな閲覧数など)を上げると、良くも悪くもチャットがその基準を早く超えることになります。意図的にチャットを非公開のままにしておきたい場合は、これが閲覧数の重みを控えめにしておく理由になります。
デフォルトに手を加えるべきではない場合#
ほとんどのチャットは、そもそもこのメニューを開く必要すらなく、それはそれで良い結果です。デフォルトの重みが存在するのは、一般的なケース、つまり特定の指標を誰にも操作されることなく「誰がアクティブで本物のエンゲージメントを得ていたか」を知りたいだけのコミュニティやキャンペーンにとって、うまく機能するからです。すでにレポートが正しく見えている、つまり上位の名前が直感的に予想する人と一致しているなら、重みを変更することは存在しない問題を解決しようとしているだけです。
5分をかける価値があるケースは、聞こえるほど広くはありません。会話よりもリーチを明示的に最適化したいキャンペーン(またはその逆)、特定の指標が操作されていることに気づいたチャット(よくある原因は大量リツイート集団で、その場合はリツイートの重みを下げるのが妥当な対策です)、あるいは複数のクライアントのチャット間で重みを統一し、クライアント同士でリーダーボードを比較できるようにしたい代理店、といったケースです。これら以外の場合は現状のままにして、設定にかける時間はフィルターに使いましょう。リーダーボードの精度の大部分は、実際にはそこから生まれています。
組み込みの重みの組み合わせのどれを試しても望む結果にならない場合は、/setup → ❓ ヘルプ&サポートからチームに直接連絡できます。試行錯誤で「正しい」数値を丸一日かけて逆算する前に、一度メッセージを送る価値はあります。
Xでコミュニティのトラッキングを始める準備はできましたか? @BWS_X_BotをTelegramグループに追加し、/setupを実行すれば、設定したスケジュールで最初のレポートが送信されます。無料プランは月100投稿までカバーし、カード登録は不要です。
この記事について: 本記事はX Botのコンテンツワークフローを使用してAIの支援を得て執筆され、公開前にBlockchain Web Services (BWS)の創業者兼プリンシパルであるNacho Collがレビューしています。すべての製品に関する記述は、実際に稼働しているボットと照合して確認されています。コンテンツにおけるAIの利用方法についてはこちらをご覧ください。誤りを見つけた場合は、
/setup→ ❓ ヘルプ&サポートからご連絡ください。
この記事について
この記事はAIの支援を受けて作成され、人による確認と、公開前に実際のIPFS.NINJAプラットフォームでの検証を経ています。 コンテンツ制作でのAI活用について .

著者について
Nacho Coll
Founder & Principal, Blockchain Web Services
Nacho leads the Blockchain Web Services (BWS) team that builds and operates X Bot — the Telegram bot that turns X (Twitter) activity into leaderboards for crypto communities. He writes about KOL performance tracking, the X API, and running analytics bots for Telegram groups, from the operator side of the wire. Building on blockchain and decentralized infrastructure since 2019.
- leaderboard scoring weights
- twitter engagement score formula
- customize kol ranking
- telegram bot leaderboard settings

