每到年底就是财务最忙的时候了,除了要做账报税外,还要配合业务部门去为产品做销售分析,为明年的生产计划提供依据。
一般来说,我们在进行产品分析时要考虑该产品过去一年的销量如何、固定成本是否有下降的空间,如果销量太差的产品是不是该停产淘汰等等一系列的问题。
在面对这些问题时,懂管理会计的朋友就会非常有优势了!为什么这么说呢,因为在管理会计中,本量利模型是专门用来分析产品成本、销量、利润的,当你面对产品数据量多的时候就不要考虑用Excel去计算了,直接上Python吧,它不仅算得准还能算的快!
今天小秘书为大家整理好了用Python做本量利模型分析的步骤,大家觉得好用的话可以点赞收藏~建议学完原理之后,再把代码拿去复用!
在开始前,给大家介绍一下本量利分析模型中会用的基本公式:
- 营业利润=销售收入-变动成本-固定成本=(单价-单位变动成本)×销售量-固定成本
- 边际贡献=销售收入-变动成本=(单价-单位变动成本)×销售量
- 单位边际贡献 = 单价-单位变动成本
边际贡献可以理解为,销售收入弥补完变动成本后,对剩下的固定成本所作出的贡献。
用Python来构建本量利分析基本模型,我们可以这样做:
在编辑器中输入准备环境:
import pandas as pd
from matplotlib import pyplot as pit
plt.rcParams['font.family']='SimHei'#设置中文字体
plt.rcParams['axes.unicode_minus']=False#中文字体状态下负号(-)正常显示
pd.options.display.float_format='{:,.2f}'.format #DataFrame显示为两位小数的设置
构建本量利模型
根据本量利的核心公式,构建本量利分析模型(CVP),输入四个参数:单价、单位变动成本、销售量、固定成本,输出本量利分析的各项指标。
我们先对模型中使用到的变量按英文命名。
- 单价:unit_price
- 单位变动成本:unit_variable_costs
- 变动成本:variable_costs
- 固定成本:fixed_costs
- 销售量:volumn
- 销售额:sales
- 利润:profit
- 边际贡献:marginal_contribution
- 单位边际贡献:unit_marginal_contribution
def CVP(unit_price,unit_variable_costs,volumn,fixed_costs):
sales = unit_price * volumn #销售额
unit_marginal_contribution = unit_price - unit_variable_costs #单位边际贡献
marginal_contribution = unit_marginal_contribution * volumn #边际贡献
variable_costs = unit_variable_costs * volumn #变动成本
profit = (unit_price-unit_variable_costs) * volumn - fixed_costs
return [unit_price, unit_variable_costs, unit_marginal_contribution, volumn, sales, variable_costs, marginal_contribution, fixed_costs, profit]
#单价,单位变动成本,单位边际贡献,销售量,销售额,变动成本,边际贡献,固定成本,营业利润
接下来初始化某个产品某个月的实际经营数据:
unit_price = 120
unit_variable_costs = 65
volumn = 3500
fixed_costs = 160000
df=pd.DataFrame(CVP(unit_price,unit_variable_costs,volumn,fixed_costs),columns=['实际数'],index=['单价','单位变动成本','单位边际贡献','销售量','销售额','变动成本','边际贡献','固定成本','营业利润'])
df
以本量利核心公式为基础,衍生出的本量利分析方法通常包括:
- 盈亏平衡分析(保本分析)
- 安全边际分析
- 目标利润分析(保利分析)
- 敏感性分析
1
盈亏平衡分析(保本分析)
盈亏平衡分析的原理是,通过计算企业在利润为零时处于盈亏平衡的业务量,分析项目对市场需求变化的适应能力等。
利用基本公式,营业利润=(单价-单位变动成本)×销售量-固定成本=0,则可以推出:
- 盈亏平衡点的销售量=固定成本÷(单价-单位变动成本)
- 盈亏平衡点的销售额=单价×盈亏平衡点的销售量=固定成本÷(1-变动成本率)=固定成本÷边际贡献率
其中:
- 变动成本率=变动成本÷销售收入=单位变动成本÷单价
- 边际贡献率=(单价-单位变动成本)÷单价=1-变动成本率
继续案例,盈亏平衡分析:
# 核心公式:盈亏平衡点的销售量=固定成本÷(单价-单位变动成本)
BEP = fixed_costs/(unit_price-unit_variable_costs)
df['盈亏平衡分析'] = CVP(unit_price,unit_variable_costs,BEP,fixed_costs)
df
2
安全边际分析
安全边际分析是指通过分析正常销售额超过盈亏临界点销售额的差额,衡量企业在保本的前提下,能够承受因销售额下降带来的不利影响的程度和企业抵御营运风险的能力。
公式如下:
- 安全边际=实际销售量或预期销售量-盈亏平衡点的销售量
- 安全边际率=安全边际÷实际销售量或预期销售量
安全边际或安全边际率的数值越大,企业发生亏损的可能性越小,抵御营运风险的能力越强,盈利能力越大。
继续案例,安全边际分析:
# 核心公式:安全边际=实际销售量或预期销售量-盈亏平衡点的销售量
df['安全边际分析'] = df['实际数']-df['盈亏平衡分析']
df
3
目标利润分析(保利分析)
目标利润分析是在本量利分析方法的基础上,计算为达到目标利润所需达到的业务量、收入和成本的一种利润规划方法,该方法应反映市场的变化趋势、企业战略规划目标以及管理层需求等。
利用基本公式,目标利润=(单价-单位变动成本)×业务量-固定成本,则可以推出:
- 实现目标利润的业务量=(目标利润+固定成本)÷(单价-单位变动成本)
- 实现目标利润的销售额=单价×实现目标利润的业务量
继续案例,目标利润分析:
# 核心公式:实现目标利润的业务量=(目标利润+固定成本)÷(单价-单位变动成本)
#假设目标利润是:60000
TOP=(60000+fixed_costs)/(unit_price-unit_variable_costs)
df['目标利润分析']=CVP(unit_price,unit_variable_costs,TOP,fixed_costs)
df
4
敏感性分析
敏感性分析是指对影响目标实现的因素变化进行量化分析,以确定各因素变化对实现目标的影响及其敏感程度。
敏感程度的衡量指标是敏感系数=目标值变动百分比÷因素值变动百分比
企业应根据敏感系数绝对值的大小对其进行排序,按照有关因素的敏感程度优化规划和决策。
敏感性分析运用到本量利上,可以根据公式营业利润=(单价-单位变动成本)×销售量-固定成本,计算单价、单位变动成本、销售量和固定成本分别对利润的影响程度。
继续案例,敏感性分析:
# 敏感性分析(Sensitive Analysis)
# 核心公式:敏感系数=目标值变动百分比÷因素值变动百分比
# 营业利润=(单价-单位变动成本)×销售量-固定成本
# 构建一个函数,输入因素值的变动百分比,输出目标变动百分比
def Sens(ratio_p,ratio_vc,ratio_vol,ratio_fc):
unit_price2 = unit_price*(1+ratio_p/100)
unit_variable_costs2 = unit_variable_costs*(1+ratio_vc/100)
volumn2 = volumn*(1+ratio_vol/100)
fixed_costs2 = fixed_costs*(1+ratio_fc/100)
profit = (unit_price-unit_variable_costs)*volumn-fixed_costs
profit2 = (unit_price2-unit_variable_costs2)*volumn2-fixed_costs2
return profit2/profit-1
构建一个从-100到100的变动百分比序列:
df_sens=pd.DataFrame(range(-100,110,10),colunmns=['变动百分比])
df_sens
计算单价变化时对利润的影响(利润变动百分比),也就是单价从-100到100变化,其他三个因素不变:
df_sens['利润-单价']=df_sens['变动百分比'].map(lambda x:Sens(x,0,0,0)
df_sens
复刻剩余因素:
df_sens['利润-变动成本']=df_sens['变动百分比'].map(lambda x:Sens(0,x,0,0)
df_sens['利润-销量']=df_sens['变动百分比'].map(lambda x:Sens(0,x,0,0)
df_sens['利润-固定成本']=df_sens['变动百分比'].map(lambda x:Sens(0,x,0,0)
df_sens
作图以更清晰的显示因素的敏感性:
图示中斜率即体现了目标变动百分比与因素变动百分比的敏感系数,斜率越高,越敏感。
df_sens.plot=(x='变动百分比‘,y=['利润-单价',‘利润-变动成本’,‘利润-销量’,'利润-固定成本'])
可以看出来,单价对目标的影响最大,其次是变动成本、销量、固定成本。另外,单价和销量是正向影响,变动成本和固定成本是负向影响。
如果想要计算敏感系数的具体金额,在编辑器中输入:
df_sens.apply(lambda x:x/df_sens['变动百分比'],axis=0)
以上就是用Python搭建本量利模型的操作步骤了,对于财务而言万能Python学起来用处还是非常大的。
END
©图片版权归财码Python所有,如对版权有异议,请联系后台议定处理。
本文由财码Python整理发布,如需转载请务必注明以上信息。
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站不拥有所有权,不承担相关法律责任。如发现有侵权/违规的内容, 联系QQ15101117,本站将立刻清除。