怎么搭建一个财务模型?

搭此财务模型目的是,对企业进行投资决策分析。分不同情景,在自由现金流的基础上测算企业未来几年的IRR,进行敏感性分析。 由于题主对财务建模这一块刚刚入…
关注者
7,998
被浏览
1,146,149

58 个回答

不少人私信我要求开一个关于如何做财务模型的Live,本来想在关于管理咨询的Live(何明科的知乎 Live -- 解密管理咨询)提及部分,然而内容太多只好作罢。又因为目前实在懒得去开Live,就利用这个问题的回答好好满足大家的需求。

首先展现的是一个经典Financial Model的架构,这个模型设计到三张财务报表的预测、资产注入、投资回报及敏感性分析以及LBO等等。接下来讲述按照怎么样的顺序和思路来构建如此复杂的财务模型。核心主线是按照信息或数据的确定性,从强到弱(从常数、到历史数据、到假设、到敏感性测试的输入),构建财务模型直到推导出结果以及展现最核心的输出。

第一步,设置核心常量。这一般都是些在该模型中不变动而且会高频反复用到的常量,比如:所得税率、汇率(当然在某些模型中,汇率会成为变量或者敏感性分析中的场景变量)、市场调研报告对某类市场规模的历史数据总结及预估等等。建模型的最初可以梳理一遍,当然不可能尽善尽美,但是可以在构建过程中不断添加。



第二步,输入历史的财务报表。将历史的财务数据(完整的三张报表,如果需要,有可能拆分到每个季度或者1H/2H),输入到适合此次建模需要的标准格式中,并进行一定的财务指标分析,许多数据在核心假设设定以及场景设定中都有可能作为变量来使用。

在输入历史财务报表中的一个难点是,因为各报表的财务分类偶尔会发生变化或者季报和年报的财务分类会略有不同,如何将其形成延时间序列完美展开的统一格式,是输入历史财务报表中的难点。


另外财务模型的核心是做出预测的三张财务报表,配平Cash Flow永远是一个蛋疼的点。这里有一个诀窍可以分享,就是对历史Balance Sheet中的各项按照Cash Flow的财务项进行归类并确定-/+,这样在预测财务报表的时候,搞定了另外两张表,七七八八就可以利用统一的公式自动生成Cash Flow。




第三步,设置核心假设。对于一些核心的假设提前列出来便于反复修改,比如:收入的逐年增长率、营销成本的占比以及毛利率等等,这一步的不少数据来自于第二步的财务分析。这一页的数字全是基于人肉假设,公司的一些财务指标会基本保持恒定(如:SG&A占比在商业模式很定的情况下保持不变)或者线性的可预期变化(如:市场份额的逐年增加,或者营销费用随着市场垄断地位的提升而逐年降低)。

这些假设看起来简单粗暴直接低科技,然而就个人经验而言,这是财务模型中最核心的部分——对公司以及相关部分最深入的理解,从公司的内部因素(成本控制、变现效率以及商业模式),到外部因素(税收政策、汇率变动以及竞争格局)。同时把这些因素都转化成数字,这个定量化的过程不求绝对的精准,而只求量级符合基本商业规律。比如:市场份额在三年内从10%增长到15%还是16%谁也说不准,但是增长到50%就有点违背商业规律(互联网赢家通吃的模式另说)。

在财务模型中,往往有巨多的假设数据,这也是财务模型经常被人诟病之处。所以最好还是按照一定的框架或者思路呈现这些假设的数据,比如:以财务三张报表的核心架构作为假设数据的呈现结构。(灰色区域遮挡的模块是该公司的不同产品线)


第四步,设置各类商业条件及其参数。财务模型的另一大功效是验证那些核心的商业条件以及它们对于最后产出(比如:利润还是投资回报倍数等)的影响。

一般来讲根据某种商业条件可以由多个假设参数来描述,对多个假设参数进行不同程度的调整之后形成某种商业条件(也可叫做场景,case),最后观察不同商业条件下产出的差异。对于真正的决策层来说,往往不是根据一个数来拍,而是根据一个范围以及概率来做博弈判断以及最后的决定。因此这种不同商业条件对结果影响的分析,还是颇为重要的。

业界比较通行使用悲观、中性和乐观三种商业条件。然而这只是一维的,当然可以增加更多维度。下图就是两个维度的商业条件假设:不同的市场规模增长率(悲观、中性和乐观),不同的市场占有率变化(悲观、中性和乐观)以及毛利率变化(悲观、中性和乐观)。


第五步,计算。这部分全是干货,根据上面提到的已知数据、假设数据或者选中场景中的数据,严格按照公式进行计算(看起来公式很多,但是不用恐慌,这里的计算很难超过四则运算)。一般来讲,首先需要推导出来的时候预测的三张财务报表,这是之后更负责计算的基础。


当然产出不可能仅仅是财务报表,投资人又不是会计。

下图是在本案例中的核心产出,不同场景下的IRR和回报倍数计算。该产出依赖于之前的计算过程——三张财务报表预测以及PE倍数假设等等。


下图是考虑LBO情况之后的回报率,同时以两个维度的参数(EPS及PE)做敏感性分析。


第六步,总结以及美观呈现核心产出。除去上面的计算过程不谈,最后需要把最核心的产出以美观形式呈现出来,便于讨论。到此,一个比较完整的模型就此完成。



...更多文章请到数据冰山 - 知乎专栏

...更多回答请看何明科的主页

工作相关,之前在投行工作,目前在一家美元基金。团队里教导Analyst (分析师) 搭建模型和建模测试(modelling test)出考题一般都是我负责。

日常工作涉及excel建模的,包括投行发过来的模型以及自己搭模型, 从简单的一个sheet之内 100多行,到很多个sheet的模型,再到复杂的某PE(某基建基金)做的一个sheet之内有 7000行、一个模型之内有几十个sheet的都接触过。

下面内容以茅台(600519)为例:简单讲解一下,如何搭建一个operating model (含DCF)。


一个基本的operating model 应该包括的基本内容是 income statement, balance sheet, cash flow statement, debt schedule, PP&E schedule, DCF output再加上其他的output page。这里强调,一个只有3张报表连接的模型是不完整的。


首先找到公司的历史数据, 在这里我的财务数据都是直接从Capital IQ 下载得到:

Income Statement (Raw)


Balance Sheet(Raw)


Cash Flow statement (Raw)



有基本的财务数据之后,下面一步就是根据这些原始数据整理归类成公司常用的格式,即将一些non-recurring item归类在一起,将 Income statement 和Balance Sheet 连接起来。 我们一般做模型的方式是Cash flow statement 不放历史数据,只预测未来。

清理好了历史数据,现在的income statement 和balance sheet长这样

Income Statement



细心的小伙伴可能已经发现了,在income statement 和balance sheet下都算了一些常用的ratio,即income statement 上各个条目的增长率, balance sheet 上receivable, inventory, payable 上周转率等

此外Balance sheet 上除了算出常用的周转率以外,也需要算出working capital和现在的总债务(短期债务 + 长期债务),在茅台这个例子里,公司身上没有债务(摊手)

现在我们连接好了income statement 和balance sheet, 下一步开始预测未来的income statement , 未来的balance sheet 和cash flow

关于Income statement 的预测,如果有管理层预测是最好,如果没有的话,我们应该根据历史上的增长率预测一下。

Income statement预测好了大概长这样:


在这里我标黄的地方是现在还不能预测的数据。D&A需要根据PP&E schedule ,而financial cost也就是你的债务费用需要根据Debt Schedule 来填写。

下面我们也预测一下未来的Balance Sheet:


和Income Statement 类似,上面balance sheet标黄的地方是现在无法预测的数字,主要是cash & cash equivalent, PP&E固定资产(包括折旧),以及长期债务和短期债务。

首先解释一下这两个简称——PP&E: Property, Plant and Equipment,泛指固定资产;Debt Schedule: 债务还款安排

现在我们来把PP&E和Debt Schedule 做一下。

PP&E的变化主要取决于每年新的资本性支出是多少。同样的,最好是有管理层的预测,在这里我们先根据历史上的增长率假设;同时,假设50%的资本性支出是由债务融资的,假设债务成本为5%每年,得到结果如下:


做到这里,我们已经可以把前面的Income statement 和Balance sheet 大部分预测数字填充完毕了:

Income Statement


Balance sheet

我们现在唯一还差就是Balance sheet 上的cash & cash Equivalent了。这项需要搭建完cash flow statement 后链接过来。

下面附上预测好的Cash flow statement:


搭建完了cash flow statement,我们用里面的ending cash balance 连回到 balance sheet,如下图:


这样的话一个基本的Operating Model 就算搭建完成了。

做好了一个联动的operating model以后,我们再做一下DCF:


以及sensitivity table:


以上就是一个比较简洁的 operating model 加上 DCF output了。



举个实际应用的例子,会搭建财务模型之后,大家可以利用这个工具对市场上的交易进行分析,作出尽可能有逻辑的推测等等。具体例子可以看我另外的回答。在这个例子里面就是根据一些已有的财务信息,去模拟摩拜单车的估值和美团收购的定价可能性。


我们有几位投行、PE的朋友一起做了个公众号小马估值,平时会做一些干货内容分享,也会抽出业余时间给一些同学或者在职的小伙伴做一对一的辅导,希望能够帮助大家在短时间内迅速提高,提升自己在实习或工作中实际操作的水平。

有兴趣系统学习估值建模的同学,欢迎参加【知乎&小马估值】联合课程(链接见下方卡片)。