之前在学习Python时编了一个实现计算WCI的程序:
WCI计算
后来发现传播指数WCI的计算定义已经发生了变化,
现在用的是全新版本13.0
如下:
微信传播指数WCI(V13.0)
WCI(V13.0)公式优化说明
1、指标拓展:指标更加丰富,从“整体传播力”、“篇均传播力”、“头条传播力”、“峰值传播力”四个维度进行评价,评价维度更全面。
2、算法优化:根据历史数据模型,优化指标权重,排名更加科学。
3、更新时间:2017年7月1日之后的榜单使用该公式。
WCI测算V13.0计算公式如下:
其中:
R为评估时间段内所有文章(n)的阅读总数;
Z为评估时间段内所有文章(n)的在看总数;
d为评估时间段所含天数(一般周取7天,月度取30天,年度取365天,其他自定义时间段以真实天数计算);
n为评估时间段内账号所发文章数;
Rt和Zt为评估时间段内账号所发头条的总阅读数和总在看数;
Rmax和Zmax为评估时间段内账号所发文章的最高阅读数和最高在看数。
代码实现如下:
"""
作者:玉笙寒
功能:WCI指数计算器
"""
import math
def main():
"""
主函数
"""
y_or_n = input('是否退出程序(y/n)?')
while y_or_n != 'y':
# 总阅读数R
print('请输入以下参数:')
R = float(input('评估时间内所有文章总阅读数:'))
# 所有文章n
n = float(input('评估时间内所有文章数:'))
# 所有文章n
d = float(input('评估时间内所含天数:'))
# 平均阅读数(R/n)
R_d = R / d
R_n = R / n
print('平均阅读数:', R_n)
# 最高阅读数Rmax
Rmax = float(input('所有文章的最高阅读数:'))
# 所发头条总阅读数Rt
Rt = float(input('所发头条总阅读数:'))
# 所发头条总阅读数Rt
Zt = float(input('所发头条总在看数:'))
# 总在看数
Z = float(input('评估时间内所有文章总在看数:'))
# 平均点赞数(Z/n)
Z_d = Z / d
Z_n = Z / n
# 最高点赞数Zmax
Zmax = float(input('所有文章的最高在看数:'))
# 点赞率
Rt_d = Rt / d
Zt_d = Zt / d
#计算公式
WCI = pow((0.3 * (0.85 * math.log(R_d + 1) + 0.15 * math.log(10 * Z_d + 1)) + 0.3 * (
0.85 * math.log(R_n + 1) + 0.15 * math.log(10 * Z_n + 1)) + 0.3 * (
0.85 * math.log(Rt_d + 1) + 0.15 * math.log(10 * Zt_d + 1)) + 0.1 * (
(0.85 * math.log(Rmax + 1)) + 0.15 * math.log(10 * Zmax + 1))), 2) * 10
print('WCI指数为:', WCI)
print('————————————————————————————')
y_or_n = input('是否退出程序(y/n)?')
if __name__ == '__main__':
main()
WCI_13.0的计算公式与之前版本的分段函数相比来说更为简单,
只是在输入参数时较为繁琐,
可以设计成交互界面的模式,
等我学会了再来试试哈。