用Python实现微信公众号传播指数WCI_v13.0版计算

之前在学习Python时编了一个实现计算WCI的程序:
WCI计算
后来发现传播指数WCI的计算定义已经发生了变化,
现在用的是全新版本13.0
如下:

微信传播指数WCI(V13.0)
WCI(V13.0)公式优化说明
1、指标拓展:指标更加丰富,从“整体传播力”、“篇均传播力”、“头条传播力”、“峰值传播力”四个维度进行评价,评价维度更全面。
2、算法优化:根据历史数据模型,优化指标权重,排名更加科学。
3、更新时间:2017年7月1日之后的榜单使用该公式。

WCI测算V13.0计算公式如下:
用Python实现微信公众号传播指数WCI_v13.0版计算_第1张图片
其中:
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的计算公式与之前版本的分段函数相比来说更为简单,
只是在输入参数时较为繁琐,
可以设计成交互界面的模式,
等我学会了再来试试哈。

你可能感兴趣的:(Python学习)