zoukankan      html  css  js  c++  java
  • 案例 >> EXP和LOG数学函数实现复合增长率计算

    什么是年复合增长率呢?(这里借助百度知道上面的一段解释)

    一项投资在特定时期内的年度增长率
    计算方法为总增长率百分比的n方根,n相等于有关时期内的年数
    公式为:(现有价值/基础价值)^(1/年数) - 1

    这个概念并不复杂。举个例子,你在2005年1月1日最初投资了10,000美金,而到了2006年1月1日你的资产增长到了13,000美金,到了2007年增长到了14,000美金,而到了2008年1月1日变为19,500美金。
    根据计算公式,你的资金的复合增长率CAGR是末年的数额(19,500)除以首年的数额(10,000),得1.95,再取1/(2008-2005)次幂,也就是开年数次方根,最后减去1。
    1.95的1/3次幂是1.2493,公式是1.95^(1/3)=1.2493
    1.2493-1=0.2493,也就是24.93%.
    最后计算获得的CAGR为24.93%,从而意味着你三年的投资回报率为24.93%,即将按年份计算的增长率在时间轴上平坦化。当然,你也看到第一年的增长率则是30%(13000-10000)/10000*100%

    现在的实际案例是,有一年我们公司打算做来年的预算,做预算就意味着要定未来每年的销售业绩目标,老板就希望数据分析团队可以依据公司业务的历史增长情况、销售人员情况等因素做一个推理,确立每月多少目标合适。

    我的做法是,先按来年年底目标作为目标值,当年年底的实际业绩来作为基础值,这里要求得是就是复合增长率,这不过这里是月的复合增长而不是年。

    其实从上面的百度知道的答案就已经得出了公式了。这里我简单讲下EXCEL和SQL各自的实现。

    PS. 写SQL的和EXCEL的,我估计大部分人都极少或者几乎没用过EXP和LOG数据函数。每次自己用到这种数据函数都有种学以致用的兴奋感。

    EXCEL的实现:

    假设季度末业绩是50,下季度末业绩做到80,也就是160%的增长率(80-50)/50=160%
    如果要得到每月固定的增长率,统计学里面的指数增长,这里用EXPONENTIAL和LOG两个对数函数来实现
    =EXP(LN(1.6)/3)  -- 这里的1.6就是160%的目标增长,3就是一个季度3个月

    SQL的实现:

    SELECT EXP(LOG(1.*(19500-10000)/10000+1)/3)
  • 相关阅读:
    appcan封装好的ajax,解决onDATA覆盖问题
    待研究
    mysql主从实验
    jQuery动态加载JS以减少服务器压力
    HTTP协议详解
    企业站收藏
    Linux查看程序端口占用情况
    大流量网站优化
    营销类网站
    Nginx (简体中文)
  • 原文地址:https://www.cnblogs.com/jenrrychen/p/15573553.html
Copyright © 2011-2022 走看看