【问题标题】:Python and a "time value of money" problemPython 和“货币时间价值”问题
【发布时间】:2010-03-04 01:40:53
【问题描述】:

(我今天早些时候问过这个问题,但我解释得不好。让我再试一次)

我的客户是一家工业维修公司。他们出售的服务协议是技术人员 20 小时的预付时间。他们的一些大客户可能会在两周内完成该协议,而问题较少的客户可能会在同一份合同上持续八个月。我想使用 Python 来帮助对预计的销售收入进行建模,并确定他们每月需要支付多少计费小时数。

如果每个客户只购买了一份服务合同(从未续签),那么很容易将销售额计算为monthly_revenue = contract_value * qty_contracts_sold。计费时间也很容易:billable_hrs = hrs_per_contract * qty_contracts_sold。但是,我如何计算续订?假设 90%(或其他任意数量)的客户续订,那么他们的月收入应该以几何级数增长。另一个重要的变量是平均客户通过合同燃烧多长时间。如何根据不同的续订率和消耗率确定从现在起 3、6 或 12 个月后的收入和计费小时数?

我假设我会使用某种类型的递归函数,但数学从来都不是我的强项之一。请问有什么建议吗?

编辑:我认为解决此问题的最佳方法是将其视为“货币时间价值”问题。我已经将问题重新命名为这样。如果您将“月销售额”视为类似于年金支付的东西,那么这个问题可能会更常见。

【问题讨论】:

  • 首先计算出如何为单个客户计算此值。扩展到多个客户是很容易的部分。
  • 根据你上面的描述,他们的收入实际上会逐月减少。从 1000 小时开始,90% 续订,即 900 小时,其中 90% 为 810 小时,等等。他们是否接受新合同?如果是这样,以什么速度? 90% 的续订率是按客户还是按小时数?所有合同每小时的价值是否相同?我不认为你有一个很好的问题。您需要对项目有更好的描述才能获得任何真正的帮助。
  • ZVarberg:我改变了我原来的问题,显然我删掉了太多数据。是的,他们会以 10% 的流失率失去业务。然而,部分公式是他们通过销售努力补充客户。显然,我们的目标是更快地更换客户,而不是失去客户。很抱歉造成混乱。

标签: python math finance


【解决方案1】:

如果您想根据未来收入的现值来考虑问题(这就是“货币时间价值”对我的含义),那么您有以下参数:贴现率 D(为方便起见按月计算) , 客户用完预付费用时间的时间 T, 他们在预付费用时间结束后续订的可能性 L, 首次销售的美元金额 F 和续订 R. 当然这有几个假设更可能更新,例如——这个模型没有考虑到这一点)但它可能仍然是一个有用的第一个近似值。

所以今天进行销售是值得的:F 立即确定;加上,在 T 个月内,R 更多,概率为 L;另外,在 2T 个月内,R 更多,概率为 LL;等等。所以这笔交易的价值是 F + RL / (DT) + RLL / (D2T) + ... = F + (R*L / DT ) * (1 + L/DT + L2/(DT)**2 + ...)。

级数收敛到 1 / (1 - L/(D**T)),因此整体公式为封闭形式(转移到 Python;-):

def salesworth(D, T, L, F, R):
  return F + (R * L) / (D**T * (1 - L / (D**T))) 

使用相同的公式可以获得预期的计费小时数,只需将首次销售和续订的小时数用于 F 和 R,并且(如果折扣率概念不适用于计费小时数)D 为 1 (所以 T 实际上并不重要,因为 1**T == 1 对于任何 T;-)。

【讨论】:

  • 亚历克斯,感谢您的回答。能否请您澄清一下“D”在这个公式的应用中的用途?
  • @jamieb,如果 T 以月为单位,则为每月折扣率。一个月后收到的钱比现在收到的钱值钱:具体来说,它的价值是 D 倍,对于某些 D
【解决方案2】:

感谢您的帮助,尽管我的要求有点模糊。在咨询了一位精通金融数学的人后,我确定一个简单的公式不是一个合适的解决方案。

我最终做的是使用 xrange() 将月份“分解”为组件天并每天迭代。在评估每一天时,我确定当天是否签订了新合同,如果是,则在未来哪些日期需要续签合同。我将这些续订日期推送到一个列表中,然后将这些值相加。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-01
    相关资源
    最近更新 更多