X

X で FF 比が 0.6 以上のアカウントは、ペナルティ「ポストが表示されにくくなる」がある話。

この記事の内容

  • FF 比が高いとデメリットあり。
  • FF 比が 0.6 以上のアカウントはポストが表示されにくい。
  • 理由は、アカウントの「信頼度」が落ちるため。
  • フォロー数が 500 以上のアカウントがペナルティ対象。

X のアルゴリズムが公開され、FF 比がポストの表示に影響する重要な要素であることが明らかになりました。この記事では、FF 比によって起こるアカウントへのデメリットをご紹介します。

FF 比とは、フォロー数(F)とフォロワー数(F)の比率です。例えば、フォロー数が 600 人でフォロワー数が 1000人 の場合は 0.6 となります。

FF比が高いアカウントはフォロー数が多いことを意味し、フォロー数がフォロワー数より多い場合、FF 比は 1.0 以上になります。

 

FF 比が 0.6 以上のアカウントにペナルティ

結論、FF 比が 0.6 を超えるアカウントのポストは、ほかの人のタイムラインに表示されにくくなります。

タイムラインは、たくさんのポストから各ユーザーごとに「おすすめ」のポストが表示されています。しかし、FF 比が 0.6 を超えるアカウントは、自身のポストがほかのユーザーのおすすめとして表示されにくくなります。

ポストの表示機会が下がるため、アカウント認知が低下したり、フォロワーが増えにくくなったりと、さまざまな悪影響を引き起こします。

 

ただし、このデメリットを受けるのはフォロー数が 500 以上のアカウントに限られます。

 Scala
private val threshAbsNumFriendsUMass = 500
private val threshFriendsToFollowersRatioUMass = 0.6

出典:GitHub. 「twitter/the-algorithm-ml」(2023/4) - https://github.com/twitter/the-algorithm/blob/main/src/scala/com/twitter/graph/batch/job/tweepcred/UserMass.scala

 

ちなみに、本記事では FF 比の計算を以下①の計算式を使っています。別のサイトや情報によっては②の計算式を使うもいますが、公式的には誤りです。

①フォロ-数 / フォロワー数
②フォロワー数 / フォロー数

X のソースコードから、FF 比は①の計算が正しいことが分かっています。細かいことまでいうのであれば、0 で除算することはできないため、1 を足します。

val friendsToFollowersRatio = (1.0 + numFollowings) / (1.0 + numFollowers)

 

 

タイムラインに表示されにくくなる理由

ポストがほかの人のタイムラインに表示されにくくなる理由は、アカウントが持っている「信頼度」が落ちるためです。

タイムラインに表示されるツイートはさまざまな要因によって決定されますが、そのひとつに「信頼度」があります。そして、X は信頼度が高いアカウントのポストを優先的に表示します。逆に、信頼度が低いアカウントのポストは表示されにくくなります。

 

これは、大量のフォローを行うスパムアカウントや Bot を排除するための合理的な方法です。影響力のあるインフルエンサーはフォロー数に比べてフォロワー数が多く、そのポストに需要があることが明確です。

 

 

信頼度の低下率について

では、FF 比によって、信頼度はどれくらい落ちるのでしょうか。アカウントがデフォルトで持っているスコアを 100 とした場合、次のとおりです。(最低値は「2」)

FF 比 スコア(約)
0.6 100(最大値)
0.7 50
0.8 25
0.9 15
1.0 5
1.1 3
1.2 2(最低値)

 

FF 比が大きいほどアカウントスコアは下がります。フォロー数とフォロワー数が同じ(FF 比:1.0)でも信頼度がほぼ最低値になることから、FF 比が重要な要素であることが分かります。

 

--

 

誤解のないように言っておきますが、信頼度はタイムラインに表示するポストを選定するための要素のひとつでしかありません。ですので、「信頼度が低いからポストが見られない。」というのは正確ではありません。信頼度が 50 %減ることは「表示されるポストが50%減ること」にはならないからです。

また、信頼度によってポストの表示がどれくらい下がるのかは公開されていません。現状、アカウントスコアは「あくまで表示する確率を決める要素のひとつである」くらいに思っておくのが良いでしょう。

 

 

アカウントが持っているスコアとは

上記の表は、アカウントが持っているスコアを100としていますが、100に満たないユーザーもいます。

この記事では詳細な計算は省略しますが、ソースコードからはアカウントが持っているスコア───X 公式ではユーザーの「質量スコア」と呼ばれます───は、アカウントの年齢、フォロワーとフォローの数、デバイスの使用状況、安全性の状態(制限、一時停止、検証済み)など、さまざまな要素によって決定されます。

 

 

Appendix

過去のアルゴリズム

過去、アカウントの「信頼度」を計算するコードは以下で、フォロー数が 2,500 人以上のアカウントがペナルティ対象でした。(厳しくなったようです。)

 Scala
// these constants are take from repo reputations, config/production.conf
private val threshAbsNumFriendsReps = 2500
private val constantDivisionFactorGt_threshFriendsToFollowersRatioReps = 3.0
private val threshFriendsToFollowersRatioUMass = 0.6
private val maxDivFactorReps = 50
/**
* reduce pagerank of users with low followers but high followings
*/
def adjustReputationsPostCalculation(mass: Double, numFollowers: Int, numFollowings: Int) = {
    if (numFollowings > threshAbsNumFriendsReps) {
        val friendsToFollowersRatio = (1.0 + numFollowings) / (1.0 + numFollowers)
        val divFactor =
        scala.math.exp(
            constantDivisionFactorGt_threshFriendsToFollowersRatioReps *
            (friendsToFollowersRatio - threshFriendsToFollowersRatioUMass) *
            scala.math.log(scala.math.log(numFollowings))
        )
    mass / ((divFactor min maxDivFactorReps) max 1.0)
    } else {
        mass
    }
}

 

 

以上です。

-X

© 2025 はいはいブログ