继续分享有意思的数据,关于声望分

很久很久很久以前,大概11个月以前,我去学习如何计算声望分
为什么要去学习这个呢?因为steem节点返回的用户声望分是这个样子的:

话说你若能从'reputation': '131708387059711'这里分辨出来这个声望分是多少,是高还是低,那么我表示佩服。至少,我是看不出来啊。

声望分计算公式

于是千般周折、百般差找,我总算找到了计算公式:

/**
    This is a rough approximation of log10 that works with huge digit-strings.
    Warning: Math.log10(0) === NaN
    The 0.00000001 offset fixes cases of Math.log(1000)/Math.LN10 = 2.99999999~
*/
function log10(str) {
    const leadingDigits = parseInt(str.substring(0, 4));
    const log = Math.log(leadingDigits) / Math.LN10 + 0.00000001
    const n = str.length - 1;
    return n + (log - parseInt(log));
}

export const repLog10 = rep2 => {
    if(rep2 == null) return rep2
    let rep = String(rep2)
    const neg = rep.charAt(0) === '-'
    rep = neg ? rep.substring(1) : rep

    let out = log10(rep)
    if(isNaN(out)) out = 0
    out = Math.max(out - 9, 0); // @ -9, $0.50 earned is approx magnitude 1
    out = (neg ? -1 : 1) * out
    out = (out * 9) + 25 // 9 points per magnitude. center at 25
    // base-line 0 to darken and < 0 to auto hide (grep rephide)
    out = parseInt(out)
    return out
}

https://github.com/steemit/condenser/blob/master/app/utils/ParsersAndFormatters.js
你让我解释一下?对不起,我也不懂,我多说只能照猫画虎移植一下。

如何与新手 25 声望分说再见?

通过分析上述公式,我发现一些很有趣的事情。

比如这句:
out = Math.max(out - 9, 0); // @ -9, $0.50 earned is approx magnitude 1
也就是说,
reputation值在-1000000000 以及 1000000000 之间的用户声望分都是25
新用户注册reputation值为0,亦即声望分为25。26级为1291549665.01,其实这个还是超级快的,只要你的帖子被大鲸鱼点到,声望分可能一下子就到30以上了。

ScoreReputationDifference
251000000000.001000000000.00
261291549665.01291549665.01
271668100537.20376550872.19
282154434690.03486334152.83
292782559402.21628124712.18
303593813663.80811254261.60

一些有意思的数据

'reputation'为零的用户有多少?

reputation=0亦即用户注册后声望分没加没减,大致分为两部分用户

  • 一部分是沉寂号,注册后就没有进行任何操作
  • 另一部分可能仅用于点赞和转账等金钱操作

通过数据库查询,'reputation':0 的用户为: 179611

声望分小于25的用户

我们之前说过
reputation值在-1000000000 以及 1000000000 之间的用户声望分都是25
声望分小于25,亦即用户因为一些错误行为/或者别人恶意踩踏,导致reputation < -1000000000

通过数据库查询,声望分小于25的用户: 43394

声望分大于25的用户

相对于从未活跃的用户或者声望分小于25的用户,我们可以认为声望分大于25的用户,是在STEEMIT上活跃并且好评大于差评的用户
通过数据库查询,声望分大于25的用户: 52538

当前总用户数

我们找出了未活跃用户,以及声望分小于25(差评多余好评) 以及声望分大于25(好评多于差评)的用户,那么当前一共有多少用户呢?

通过数据库查询,当前总用户数: 275573

从上边这组数据看出什么?

通过上边一组数据,我们不难得出以下结论

  • 未活跃用户(从未发帖和回复)占比为: 65.18%
  • 活跃且差评多于好评的用户占比为: 15.75%
  • 活跃且好评多于差评的用户占比为: 19.07%

排除掉被差评误伤的,也就是说仅有不到20%的好评用户在发帖和回复

结论

  • 有大约65%的注册用户从未发帖和回复
  • 其余35%的活跃用户,差评用户和好评用户比例接近 1:1 (15%:19%)

补充说明:

  1. 被downvote的原因很多,所以被差评的用户不一定是坏用户
  2. 以上所有数据来源于 steemdata
  3. 数据库有延迟,并且数据在随时刷新,具体数字仅供参考
  4. 经过我核实,数据库有些用户信用计算的不对,应该是25被计算成负的,所有数据仅供参考
H2
H3
H4
3 columns
2 columns
1 column
94 Comments