管理杂谈:团队的运行速度和挑战

Cadance(迭代速度)的概念帮助我们理解不同团队的运作模式。按照迭代速度的差异,创业公司的工程团队一般分为三种:产品团队(product team),平台团队(platform team)和基础设施团队(infrastructure team)。这三种团队运作的迭代速度、运作模式、所面临的管理挑战、以及克服这些挑战的策略各不相同。

产品团队专注于快速启动和更新产品,因此迭代速度最快,在极端情况下每个月都需要重新做规划才能够适应市场变化。平台团队专注于为所支持的产品团队提供服务,迭代速度适中,基本可以以季度为单位执行计划。基础设施团队提供全公司范围内的基础设施服务,迭代速度最慢,其推出新产品往往需要半年到一年的时间。

产品团队围绕产品运作,因此产品经理是主要的推动者。平台团队在提升同平台稳定性开发效率的同时还需要支持和参与产品团队的开发工作。因此他们主要由工程师来设定团队目标,但同时也会参与到产品开发的支持和讨论当中。基础设施团队的项目则基本以工程师为主导。

  • 产品团队

产品团队跟用户靠得最近,因此可以近距离地感受到工作带来的用户体谅、体验和效率的提升,这往往可以带来巨大的成就感。但产品团队变化太快、重复性工作较多、技术深度较浅、没有足够的空间做扩展性良好的设计等都是领导产品团队的巨大挑战。变化迅速有时候导致产品中途更改需求变化方向;早期上线的产品往往缺乏有效的运营工具因此需要大量的手动维护;产品领域以业务逻辑为主,技术栈较为简单,另一方面快速迭代的过程往往让工程师没有时间设计扩展性强的实现。对于追求技术的深度和美感的工程师来说是一个不小的挫折。

领导产品团队的重点是在产品需求的快速变化和团队的专注程度之间保持平衡。首先需要跟产品经理建立合理的预期和工作流程。比如为了帮助工程师保持专注,产品需求改动需要首先经过经理的评估和确定优先级。另外,需要平衡技术债务和产品更新之间的投入比例。产品迭代过程中所积累的技术债务会大大升高开发和维护成本,甚至导致产品无法有效扩容。工程经理需要跟产品经理确定技术债务的比例,保证技术栈得到不断优化。第三是合理的设定开发周期避免过多的草率的改动。

  • 平台团队

平台型团队主要提供后端和平台化的服务来支持产品。平台型团队以工程指标为主导,其主要目标是提供高效率的平台以帮助产品快速发展,同时帮助产品解决扩容等问题,使得产品团队得以专注于产品的更新。平台团队不直接主导产品开发,但通过两个途径来参与甚至推动产品更新。第一是参与到需要平台更新的产品研发当中,第二是为了优化整个平台的性能和效率主动推动产品模型的更新。

平台团队同样面临诸多挑战。第一容易变成产品团队的支持,因为几乎所有的产品研发都需要经过平台和后端服务,因此容易变成支持团队,而缺少主动项目研发的机会。第二,平台团队推动性能和效率提升往往需要产品团队的相应配合,比如产品端需要逐渐迁移到新的服务等等,但是因为缺少和产品团队的直接关联因此有时候推动乏力。

解决第一个问题的方案,第一是主动和产品经理团队建立联系,寻找产品团队经理的支持,比如性能提升也可以对用户体验带来提升,第二是推动开源模式,欢迎产品团队到平台团队的代码库中进行改动,同时平台团队提供支持,同时优化整个研发的流程和效率。解决第二个问题的方案主要是在优化平台的过程中解锁产品团队所需要的特性,比如通过新的平台设计使得某些产品特性可以得到支持或者更加容易得到支持。

  • 基础设施团队

基础设置团队则聚焦于为整个工程团队提供研发和服务的基础设施。其提供的服务往往十分通用,工作的目标是提升整个技术设施的效率、可用性和稳定性。基础设施团队完全不参与到产品研发当中。创业公司的技术设施往往搭建在第三方服务的基础上,很少需要自主研发,主要以运维为主。基础设施团队招聘到的往往是在该领域有多年经验的自身工程师。

基础设施团队的挑战来自外部和内部。外部需要避免陷入到无限的救火和支持当中,需要培养产品团队自主解决问题的能力,以保证在面向未来的项目上有足够的投入。内部需要避免陷入到各自为战的处境中。基础设施团队往往领域极深,工程师极为经验丰富,喜欢自己主导。需要促进彼此之间的协作,逐步形成梯队。

《Trade and Poverty》全球贸易扩大了世界的贫富差距?

全球贸易是否扩大了世界的贫富差距?答案似乎是否定的。二战之后的亚洲也许是最好的例子,亚洲四小龙的韩国、台湾、香港和新加坡在二战之后都迅速走向了发达国家和地区的行列,中国大陆在改革开放之后也以前所未见的速度发展起来。这些国家都受益于二战之后全球贸易的蓬勃发展,那么答案不是很明显的吗?但1970年之前的世界并非如此。

1970年之后,大多数第三世界国家的增长率都超过了发达国家的增长率,世界经济开会出现大融合(convergence)。但是在此之前,经合组织(OCED)国家和第三世界国家之间经历过一段大分流(the great divergence)现象。其主要表现就是这两类国家之间的收入差距越来越大。《Trade and Poverty》研究的是大分流与全球贸易之间的关系:全球贸易是否曾经加剧了第三世界国家的贫困?

为了寻找全球贸易和贫困之间的关系,作者鉴别出了三种贸易可能影响收入的渠道:去工业化,加剧不平等,和大宗商品的价格波动。

全球贸易加深了全球范围内的贸易分工。在1860 ~ 1970年的两百年间,这种分工体现在富裕国家日益转向机械和制造行业,而贫穷国家则日益专注于农业和资源商品的出口。专业化加深提升了贫穷国家的绝对经济收入,但是提升作用远小于对富裕国家的提升作用。因此可以说全球化的贸易分工加深了贫富国家之间收入增速的差距。

全球贸易加剧了资源充裕的贫穷国家的经济不平等。拥有土体和矿产资源的阶层从全球贸易中的获益远大于不拥有土体的阶层。这种经济上的不平等住建造成了政治不平等,强化了市场寻租行为(rent-seeking),使的这些贫穷国家更难从对资源和农产品出口的依赖中摆脱出来。

最后,对于资源和农产出口的依赖导致他们的收入波动更大,损害了经济增长。大宗商品抵抗波动的能力小于机械和制造行业,比如容易受到气候等的影响。贸易分工又进一步强化他们对于出口资源和产品的依赖,降低了经济多元化,在价格波动中更容易受到影响。

这本书还从其他侧面验证了上述结论。比如研究发现,1870年后,原先存在一定工业化的贫穷国家的工业化进展停止了,这是贸易带来的对于落后行业的抑制作用。另外,这些贫穷国家虽然同样使用关税壁垒等保护手段,但并不是为了保护和促进工业化,而只是为了补偿在全球贸易中受损的人。

本书主要围绕对上面三种影响渠道的论证展开。

管理杂谈:创业公司的职级系统

创业公司早期的职级系统(leveling system)相对混乱。一方面是创业公司倾向通过升级录取的方式吸引人才,另一方面是考核晋升标准不统一且随机性较大,倾向于通过晋升奖励员工。职级混乱的表现是是职级膨胀、职级与工作年限不匹配。职级混乱会打击员工的成就动机。创业公司逐渐成熟之后一般会通过三种方式修正职级体系:提升招聘门槛,控制绩效考核标准和晋升指标,收紧招聘名额。

创业公司因为缺乏名气、风险巨大,往往招聘困难。一般倾向于通过升级录取的方式吸引人才。对于管理层来说,常见的现象就是遍地总监。英文中用scope来描述一个团队的责任范围,scope越大团队潜力越大。录取管理层的时候一般会给相对大的scope,但是需要经理负责招聘和建设团队。对于个人贡献者(IC),则采取升级录取的方式。升级录取有时候是一种招聘策略,配以末尾淘汰的制度来迫使员工努力达成期望,比如某FB,这个话题有机会单独讨论。

晋升标准不统一,通过晋升奖励员工等也是造成职级混乱的原因。创业公司绩效考核和晋升流程简单,随机成分较多。一方面是因为创业公司往往以产品绩效为考核标准,对其他方面的贡献缺少关注。另一方面是考核过程缺少客观标准,经理的个人影响力对结果影响大。除此之外,创业公司倾向于通过晋升并进一步获得加薪来奖励员工,造成部分员工晋升过快,而由于晋升流程简单,这一工具容易被经理滥用。

职级混轮会导致诸多问题。第一是职级倒挂,新招聘的资深员工可能不如早期加入的年轻员工职级高,新员工容易不满,后续考核也更加困难。第二是后继乏力。随着公司规模的扩大,早期快速晋升的员工由于缺少积累,后续职业进展乏力。随着公司成熟,建立公平的职级体系对团队健康发展至关重要。

第一步是通过提升招聘门槛保证招聘源头标准统一。比如在面试的时候有所区分:对更资深的候选人使用不同的面试问题,要求定级轮的面试者必须比候选人的目标定级高一到两级。比如引入定级标准:将工作经历与目标职级相联系,对于工作经历与目标职级不匹配的候选人增加核查力度。比如引入多个渠道衡量候选人的背景和潜力:通过幕后调查(back channel)等方式了解候选人在当前工作中的表现。

第二步是控制绩效考核和晋升标准以逐渐统一内部职级。比如建立职级期望:统一和公开各职级的员工的绩效期望,对员工在每个职级服务的最短时间加以限制,超过这一时间之后才能获得晋升。这一步可以保证经理在招聘的时候尽量公平定级,因为一旦犯错后续修正的时间成本极高。比如严格控制绩效考核的结果:规定考核名额,控制可以获得达成、超过期望和可以晋升的员工的比例,通过限制名额可以保证经理在考核定级的时候更加有区分度,迫使他们选出真正有资格晋级的人,同时防止晋升过快的现象。

第三步是控制招聘名额。这一步不常用到,但是通过控制招聘名额可以迫使经理淘汰掉不能到达职级期望的队员,从而间接提升团队的职级标准。

管理杂谈:机会稀缺

公司进入瓶颈期后,业务自然增长所提供的机会不足以支持团队的扩张需求,这样的差距会导致团队盲目寻求发展,造成重复建设、资源浪费、争抢项目等问题。

团队天然存在发展需求:经理需要扩大自己的职能和组织以获得升迁,队员需要扩大自己的影响力以获得升职加薪。一般来说,通过业务的增长带来的组织扩大和财务回报、开辟新业务线带来的新职能可以有效满足这些需求。但当公司的业务发展进入瓶颈期,机会变得稀缺,内在扩张需求得不到满足,各种各样的拍脑袋、造轮子、伪需求就会出现。上周面试了一个来自某Y公司的EM,他的团队就存在明显的机会稀缺乱廓张的问题。

Y候选人的团队负责建设给用户推送手机通知和邮件的消息平台,上游有两个主要客户:客户端产品团队和市场营销团队。客户端产品团队将推送的消息和目标用户的信息发送到平台,平台将消息发送给指定用户。市场营销团队将邮件内容和目标客户的邮件地址发送到平台,平台负责将邮件发出。一般来说这样平台型的团队的主要目标是保证消息平台的高可用性和稳定性:推送和邮件需要被稳定地发给目标客户,主要挑战来自和不同第三方平台的对接以及对服务的扩容。

Y公司已经进入了瓶颈期,第三方的集成应该早已完成,业务增长缓慢所以服务扩容的需求不大。Y候选人的团队为了创造影响力开始试图拓宽自己服务的边界:跟机器学习部门合作通过更加智能的推送时间安排来提高用户推送的互动率。但这样做问题重重。

第一,扩大后的目标和上游的产品团队目标相冲突,产品团队希望对用户的推送能够按照自己的规划及时稳定地发送出去,而不是在自己和用户之间再加上一层优化。第二,平台团队并不处在最有利的位置来进行这些优化。互动率优化需要大量用户数据和行为作为训练基础,平台团队无法控制这些数据的采集,即使是进行优化,产品团队来做也更合适。第三,平台能进行优化的空间非常小。提供用户互动率更重要的是推送内容的相关性,这些不在平台的控制范围内。总而言之,这是一个典型的内部创造伪需求的例子。

机会稀缺、增长乏力的后果就是人才的流失,文化恶化。有创造力,寻求发展的人才不会满足于内部创造的这些伪需求,最后只会选择出走,这是企业衰退周期中的一个部分。

管理杂谈:为什么大公司做事慢?

对同等复杂的项目,大公司的完成周期要远长于小公司。如果将项目分为计划、执行和展示三个环节,大公司不仅每个环节都更慢,而且项目计划和展示这些非生产性的工作占比大,进一步拖慢了节奏。大公司做事慢有三个主要原因,第一是组织之间存在大量壁垒导致沟通和协调困难,第二是质量控制严格导致大量精力用在校准质量上,第三是需要进行过度的成果展示以弥补实际影响不足的问题。

  • 组织壁垒

大公司内部存在非常清晰的权力边界,跨越边界的行动必须得到审核批准,审批过程成为执行任务的第一个壁垒。大公司业务分工细致,业务线通常由不同团队负责上下游环节。在规划项目的时候,主导项目的团队为了获得业务线上各个团队的批准,需要花费大量精力解释对流程的改动,而这样的沟通一般需要多个回合。在执行过程中,因为跨越边界,团队往往需要将改动递交给业务主管的团队审核,这样来回提交和审批更是拖慢节奏的毒药。

大公司的团队之间壁垒较高有两个主要原因:细致分工自然带来的专业性权威和为了彰显存在感而制造的壁垒。大公司内各个部门所主管的领域往往十分细致,专业门槛较高。为了保证对业务改动正确有效,需要领域内的权威进行审核,这就自然而然地催生了审核流程和文化。另一方面,设立壁垒既是彰显自身存在的必要环节,也是避免自己在组织中被替换掉的防御性手段。对于专业门槛不高的团队尤其如此,他们比其他团队更有动力使用手中的权力。

成长型公司内部团队之间壁垒较少。各个团队被赋予了充分的自由来变动工作流程,当然他们必须为自己的改动负责。相比由专家委员会审核批准,这样松散的协作方式也许会带来更多的人为错误,但是总体上它赋予了每个人更大的自由,会带来效率的提升。这方面的典型企业是FB,所以你常常听到有人抱怨FB的速度太快压力太大。

在成长型的组织里,设立防御性的壁垒既不需要也没有用。每个团队都有足够多的空间来发展和证明自己,没有时间也没有必要设立防御性的壁垒。另外,成长型组织的考核标准更多的偏向于业务的增长,而不是现有业务的维护,依靠设立壁垒来包住自己地位的方法是没用的。

  • 质量控制

大公司过于强调质量是做事慢的第二个原因。对于质量的强调是出于三个方面的需求。第一是业务更新周期更长,对质量的投入有长期的回报,因此人们有动力这样。随着业务流程质量的下降,后续投入的收效会下降。这种下降对于整体效率的影响随着时间增长而放大。比如不好的软件设计需要后来的程序员花费更多的时间理解和修改代码。第二是因为大公司较慢的流程当中往往有更多的空间给人们关注质量,比如有大量的时间进行代码审核。第三是通过对质量的强调创造知识权威,这也进一步弥补了通过业务影响创造权威的不足。

小公司需要将更多的精力放在业务的成长上。比如他们对代码的质量和对架构的前瞻性要求较低,因为反复的代码审核会极大的拉低项目速度,当每个人都在忙于成长性项目的时候,没有人有足够多的的时间审阅他人的工作。另外,默认设定是每两年左右需要重构一次所有代码,过于前瞻性的设计和对质量的高要求没有长期的回报,因此也就得不到提倡了。

  • 宣传包装

大公司重视宣传和展示成果是做事慢的第三个原因,比如将项目点成果在不同场合加以汇报。因为项目本身的周期长消耗大,团队需要通过重度宣传的方式来宣示成果。但更重要的是大公司进入稳定期之后,产品的迭代对于业务指标的提升越来越不显著,需要通过夸张的庆贺和宣传来创造一种实际影响很大的印象。

重视展示成果的文化也会自我加强。因为一旦这成为一种常态,人们就会假设那些没有进行展示的项目的实际成果不显著。这样的设定逼迫人们不得不努力去花费时间进行展示。在小公司因为从产品到业务的层级较少,所有的影响都可以通过简单直观的业务指标评价,不需要过多花费时间在这个步骤。

Ray Dalio的全天候投资组合

Ray Dalio的全天候投资组合(All Weather Portfolio)是基于这两个目的而设计的:抵抗各种经济风险,抵抗入场时间的风险。

根据他在经济是如何运行的这个视频中阐释的理论,Ray Dalio认为经济有两种主要风险来源:增长速度和通货膨胀。高增速和低通货膨胀是最理想的情况,但我们也可能经历经济衰退和高通货膨胀的情况。Ray Dalio认为由于经济中的债务越来越多,到了一定程度之后中央银行必须出手干预以保证债务链条不断裂,但这种干预极为复杂难以成功,出现周期性的衰退是无可避免的。

为了避免这种衰退,最重要的是将投资分散在能够抵抗不同风险的组合当中。Ray Dailo 认为,决定投资风险至关重要的因素是资产的相关性。如果新额投资资金被反复投入到相关性较大的资产中,整个组合的风险并不会降低。简单来说,Ray Dailo认为能抵抗所有经济问题的投资组合大致是这样的比例:

  • 股票市场:30%
  • 长期债券:40%
  • 短期债券:15%
  • 大宗商品:7.50%
  • 黄金7.50%

历史上投资回报最高的是股票市场,投资30%的资金在股票市场中以保证整个组合的高增长。债券是防止经济衰退影响的利器。因为衰退期间拥有固定收益的债券可以保证持续的现金流,同时,政府一般会通过降低利率和加大印制钞票的方式来走出衰退,债券的价值随着利率的降低而升高。大宗商品和黄金斗士抵抗通货膨胀和经济衰退的选择。在经济衰退通货膨胀期间,其他的资产随着通货膨胀贬值,黄金和大宗商品相对升值。

目前有不少关于这个投资组合的研究。有模拟的研究结果发现,这个组合能够保证长期5.5%左右的回报率,同时保证极低的风险:在经济衰退最严重的时候损失率极小。同时,这个组合基本能保证在任何时间入场对于长期投资回报都不会有太大影响。这个特性极为重要,股票投资的问题在于,入场时间错误可能导致在是多年内也无法获得正收益,而我们都无法知道自己正处在历史的哪个阶段。

关于这个组合批评较多的是它相对保守。在30%的股票投资占比之下,长期年化收益率较低。尤其是在持续十多年的大牛市面前,这个组合的机会成本看起来非常大。

如果打算卖房子重新做贷款是否划算?

如果你打算十年之后把房子卖掉,此刻重新做贷款是否划算?上一篇文章讨论了重新做贷款的问题。文章里的假设是最终还完贷款,但是有很多人打算如果年之后把卖掉,这个时候重新做贷款是否还划算?

问题的关键点仍然在房贷的利息曲线。房贷开始的时候还款额里面利息较多,本金较少。卖房子的时候,剩余的贷款会被清算,我们需要从卖房的款项中拿出钱来还清剩下的贷款本金。这种情况下剩下的贷款本金越少我们从卖房款中收益就越多。因此上面的问题可以量化成:

  • 假设我有一笔总额外M利率为a的房贷,已经还款了X个月,我计划在Y个月之后把房子卖掉,现在我有机会重新做一笔利率为b的贷款,请问我是否应该重新做贷款?

解决问题的关键是计算在重新做贷款和保持现有贷款情况下,卖掉房子时最终收益的差距。这个收益包括三部分:卖房子的款项,贷款剩余的本金,以及中间付出的贷款额度。

首先计算房贷的差距,使用之前介绍PMT函数就可以得到两种情况下每月房贷的数额,记为Ma和Mb。然后计算两种情况下剩余的房贷的本金,使用FV函数我们可以计算出这两个值:Pa和Pb。由于每次重新贷款利息曲线都会重新调整,在从第X到第Y个月这段时间里,重新做贷款之后所还的本金可能比不重新做贷款少,也就是Pa小于Pb。为了方便理解我们引入房子的售价S,则在这两种情况下我们的收益分别为:

  • 重新做贷款的收益:S-Pb-Mb*(Y-X)
  • 使用原有的贷款的收益:S-Pa-Ma*(Y-X)

因此总的差距是[S-Pb-Mb*(Y-X)] – [S-Pa-Ma*(Y-X)]= (Ma-Mb)*(Y-X)+(Pa-Pb)。也许你会问,当前贷款已经还款了X个月的收益为什么没有考虑?实际上这部分的收益已经反映在房屋的剩余本金Pa中了。

下面举一个例子:

一笔60万的贷款,30年利率为3.5%。房租考虑在120个月的时候卖掉它,当前已经还款了18个月。新贷款是30年3%的利息,则从18个月到第120个月,如果选择重新贷款,还款额度从323K变成了299K。但是因为利息曲线的调整,他付给房贷本金的额度从135K变为133K,意味着他在卖房子时少收益2K。总收益差距是323K-299K -2K=2K,值得重新贷款。

总的来说我们发现,卖房子将缩短我们的还款周期,两种情况的收益差距变小,如果算上重新做贷款的费用等等,重新贷款不一定是一个划算的选项。

重新做贷款是否划算?

市场利率出现变化的时候重新做贷款(refinance)是否划算?当市场利率或者经济能力出现变化的时候,很多人会重新做贷款。但是我们常常会困惑重新做贷款是否划算。我们先将这个问题量化,再利用模型进行分析:

  • 假设我原来有一笔总额为M,利率为a的贷款,已经还了X个月,现在我有机会重新做成一笔利率为b的贷款,请问我是否应该选择在这个时候做贷款?

要回答这个问题我们需要首先定义什么是划算。重新做贷款会降低我们当前的每月还款额度,但是我们知道银行贷款前期需要偿还的利息较多,后期偿还的本金较多利息较少。如果已经还款了一段时间,则我们剩下的利息将会变少,如果重新做贷款,会不会导致我们最后偿还了更多的利息?也就是说,我们需要比较的是在两种情况之下我们偿还的利息或者说剩余还款额度的差别。

Google Spreadsheet当中提供了一个函数帮助我们计算每月还款额度,也就是前文介绍过的PMT公式。这里使用方法有所不同,因此重新介绍一遍:

  • PMT(rate, number_of_periods, present_value, [future_value], [end_or_beginning])

其中,rate表示利率,也就是你贷款利率,主义一般贷款是年利率,计算的时候需要除以12得到月利率。number_of_periods 就是你需要还款的次数,比如30年的定期贷款需要换360次。present_value就是你的贷款额度。future_value 就是还款结束之后剩余的贷款数,也就是清零。用这个公式可以计算出每月的还款额度,记为P0。

假设你不进行重新贷款,那么将贷款还完需要支付的利息是:P0*360,其中利息是P0*360 – M。这里提供一个实际数据:一笔总额60万美元,30年固定利率3.5%的贷款,每月的还款额为2694.27万元,最终总的还款额为96.9万元,其中36.9万元是利息,占原来贷款比例60%以上。

下面考虑重新做贷款的情况。重新做贷款时,首先需要知道自己剩余的贷款本金数量N。这里可以用Google Spreadsheet中的终值函数来计算。终值函数可以用来计算在一定的周期之后现金流的终值,这里面的现金流可以是正的也可以是负的。

  • FV(rate, number_of_periods, payment_amount, present_value, [end_or_beginning])

其中:rate是你的贷款利率,number_of_periods 就是你在重新做贷款的时候已经还款单月数。payment_amount就是你每月还款的额度,主义这里是向银行还款,因此还款额度要记为负数。present_value就是你的贷款额度。

假设你在原贷款开始18个月之后重新贷款。你剩余的本金是58.2万元,过去18个月你一共还款4.8万元,本金占1.8万元。在知道剩余本金之后,你就可以用PMT函数计算对剩余本金重新贷款需要的月还款额度,记为P1。在决定重新贷款的时候你主要比较:P0*(360-18) 和 P1* 360,也就是两种选择剩余还款总量之间的大小。

假设新贷款的利率是3%,同样30年定期,你的月还款将从2694.27元变成2456.16元。新贷款的还款总量是88.4万元,而原来的贷款还需要还92.1万元。重新做贷款将是你少还款3.7万元,因此是划算的。如果你把重新做贷款的日期改成180个月,则重新做贷款就变得不合算起来。

当然实际计算到时候还需要考虑到重新做贷款的成本,比如贷款申请费和房屋重新估值的费用。

如何估算退休所需资金

需要多少钱才能保证退休后仍能维持体面的生活?如何从现在开始为退休进行投资和储蓄?很多人为这两个问题困扰。我们在某个时刻会停止通过工作创造收入,而主要依靠存款、投资和社会福利生活等被动收入生活。如何建立一个简单的模型帮助我们思考上面两个问题呢?首先这两个问题可以更加量化地表示如下:

  • 假设我在X岁退休,我希望在退休后的Y年时间里,每个月从退休账户领取Z元钱。假设这个退休账户保持年收益率A的速度增长,请问我在M岁开始退休的时候需要在退休账户里准备多少钱?
  • 假设我有一个退休账户保持年收益率A,假设我从X岁开始想这个账户存钱,请问我应该每个月存多少前来保障我在Y岁退休的时候账户上有Z元?

解决第一个问题的关键概念是现值(present value)。现值就是未来一系列现金流现在的价值。第一个问题的本质是假设我们正处在退休的时刻,知道我们未来每个月需要的退休金数额,知道从退休到死亡会持续多久,我们需要估算这样一个现金流在现在的价值,或者说我们现在需要多少资金以维持这样的现金流。我们可以利用Google Spreadsheet中提供的现值函数:

  • PV(rate, number_of_periods, payment_amount, [future_value], [end_or_beginning])

其中,rate表示利率,也就是说你的退休账户增长率,注意这里是每个支付周期的利率,比如你的年利率是6%,你准备每个月领一次钱,那么应该用年利率除以12得到月利率。number_of_periods 表示你需要领退休金多少次,比如退休之后40年每年12次就是480次。payment_amount表示你每月所需要的退休金。future_value 是说在死亡会后还想要剩下多少钱,比如给子女留下的遗产。end_or_beginning 则表示在月初还是月末领退休金,我们假设都是在月末。

这里提供一个使用上述公式计算得到的实例:假设你每个月从退休账户领到3000元,退休账户年利率是6%,你想要在50岁退休,领40年退休金到90岁,计算之后发现你的退休金只需要550K就足够了。

解决第二个问题的关键概念是终值(future value)。终值就是现金流在未来能够值多少钱。第二个问题的本质是假设我们从某个年龄现在开始为退休投资,我们知道计划的退休年龄,也知道退休需要550K,那么我需要多少每个月存多少前前到我的退休账户。我们可以用Google Spreadsheet当中提供的简单易用的周期支付计算函数:

  • PMT(rate, number_of_periods, present_value, [future_value], [end_or_beginning])

其中,rate表示利率,你的投资账户增长利率,注意这里也是要统一到你的支付周期,比如按月存钱,那么年利率应该转换为月利率。number_of_periods也是你往投资账户存钱的次数,比如从30岁到50岁之间,20年每个月存一笔钱到退休账户,则投资次数为240。present_value就是现有的投资账户资金量。future_value 就是你希望投资账户中的终值是多少,也就是在上一步中计算出来的退休资金量。

这里同样提供一个简单的实例:假设你退休的时候需要550K在退休账户上,从30岁到50岁每个月定期往退休账户存钱,退休账户的年均增长率是8%,那么你只需要每个月存770元就足够了。

需要注意我们在计算现值和终值的时候都没有算上通货膨胀。为了准确估算未来所需的资金,我们还需要算上通货膨航率。算法很简单,在计算的时候我们需要在增长率当中减去通货膨胀率,比如假设通货膨胀率是3%,则年增长率应该是3%。经过这样的调账,我们发现我们退休的时候需要840K的资金。同样的,在投资账户增长率中减去通货膨胀率之后,我们发现每个月需要1750才能在推的时候够存够840K。

如何快速估算你的现金流

出于两个原因我们需要周期性地评估自己的现金流:定期回顾消费状况,估算可用于投资和储蓄的资金。前者帮助我们检查消费分布,及时发现不合理和可优化的支出;后者帮助我们制定投资计划和目标。

估算现金流有两个主要挑战:难以获得完整的现金流概况和难以估计跨时间以及突发性支出。

第一个挑战是因为我们的个人收入和支出情况往往较为分散。除了常规的工资和股票收入,还可能存在一些现金收入,比如房租、公司补贴等等。这些收入往往分布在多个储蓄账户和投资账户。资金的支出渠道同样复杂。我们大部分人有多张信用卡用于不同项目的支付,同时还有直接从储蓄账户支出的项目,比如水电费、贷款、房产税等。

第二个挑战是因为跨时间和突发性的支出估算较为困难。有很多支付项目所覆盖的时间跨度和起始周期都不相同,难以估算,比如电气费用两个月一收,汽车保险、房产税、房屋保险半年一次,但起始时间不同。此外有许多支出是一次性的,比如购物等等,难以预估。

获得完整现金流分布的方法是使用工具。使用手动记账往往效率低下,而且缺少有效的分类、整合和可视化工具。最有效效的办法是使用现有的工具,比如Mint。使用Mint这类工具需要关联你所有的投资、储蓄和信用账户。有人可能担心暴露隐私,这是一件仁者见仁的事。Mint分析现金流的工具只支持网页版,目前并不支持移动客户端,但对交易(transaction)进行标记(tag)的功能在移动客户端也可支持。

计算现金流的平均值是获得稳定预估的有效办法。六个月是较好的时间跨度,既可以覆盖大部分半年度以内的支出,又不至于因为估算时间窗口过长而失去时效性。对于突发性的支出我们可以使用预算代替。

下面是进行现金流估算的具体的步骤:

  • 评估过去六个月的收入状况。

注意这里仅限于现金收入。你可以选择登陆你的ADP系统查看每个月的工资收入。然后录入其他现金收入,比如公司提供的通勤补贴等以支票形式发放的收入。我们的主要目标是估算每月用于投资的剩余资金,因此股票出售的收入不计算在内。

  • 评估过去六个月的储蓄账户支出

这里需要使用mint -> trend -> spending 功能。你需要选中所有的储蓄账户,反选其他的信用账户和投资账户。你可以选择按照类别(category)检查。注意这些现金支出当中已经包含了所有的信用卡支出。从来源说所有的信用卡还款的资金都来你的储蓄账户,因此你已经可以用这些支出的平均值估算你每个月的资金支出。但我们通常想对支出做更进一步的分析,因此我们需要找到其中的非信用卡还款的常规项目,记录过去六个月的平均值。常见的常规性项目有水电费、房产税、房屋贷款、汽车贷款等等。

  • 评估过去六个月的信用账户支出

这里仍然需要使用mint -> trend -> spending 功能。但是这一次需要选中所有的信用账户,反选储蓄账户和投资账户。Mint将信用账户的支出细分为多个类别,比较重要的部分包括:餐饮,汽车和交通,购物,费用,旅行,房屋相关等。你可以参照这种分类将自己的消费进一步细分,比如可以将餐饮分为外出就餐和生鲜食材购买费用,将汽车分为汽车保险、汽油费用,将旅行费用分为汽车租赁、机票和酒店等等。Mint上提供的事各个项目的总开支以及该项目之下的交易明细,你可以点击进入交易明细浏览具体的支出。你需要计算每个项目的平均开支,以消除跨时间和突发性的支出对估算的影响。

  • 汇总和估算现金流

你需要结合信用账户和储蓄账户的支出以获得总体的支出情况,比如将汽车贷款合并到汽车支出之下,如此一来你就了解汽车的总维护成本:贷款,保险,维护和汽油。评估完支出之后你就可以估算出自己每个月剩余资金。这样的评估结果在每个月会有所波动,比如需要进行大额还款的月份,但在长期范围内具有较强的准确性。

建议你建立一个Google Spreadsheet表格来记录自己的评估结果,以便进行周期性的对比。你可以按照自己的喜好,通过更加细致的分类获得更加细致的支出评估,你往往会有以外的收获,比如一些已经不经常使用但仍在订阅当中的服务。使用这种方法进行评估的准确度相对较高而成本较小,每次评估通常不会超过半个小时,建议你每个季度进行一次评估。