别再用Excel算到崩溃!Python做经济评估 3个实战案例让你看懂

360影视 日韩动漫 2025-09-06 15:33 1

摘要:在职场里,有个隐形竞争力叫“用数据做决策”。小到便利店选品的利润测算,大到公司百万级项目的投资分析,懂经济评估的人总能快速抓住关键,但多数人还在被Excel折磨:改一个数要手动刷新十几列公式,画个对比图要调半小时格式,最后出的报告还总被领导问“数据依据在哪”。

在职场里,有个隐形竞争力叫“用数据做决策”。小到便利店选品的利润测算,大到公司百万级项目的投资分析,懂经济评估的人总能快速抓住关键,但多数人还在被Excel折磨:改一个数要手动刷新十几列公式,画个对比图要调半小时格式,最后出的报告还总被领导问“数据依据在哪”。

其实,Python才是经济评估的“效率神器”——自动算指标、批量出图表、一键生成分析报告,甚至能帮你预判风险。今天这篇教程,从环境搭建到3个高频率实战案例,全程“代码+解读”保姆级教学,哪怕你是零基础,跟着复制粘贴也能搞定,学会直接用在工作汇报里!

做经济评估不用学复杂编程,掌握3个核心库就够了。先花3分钟把环境搭好,已装Python的直接跳第二步。

1. 装Python:官网1步搞定

打开Python官网,选3.8以上版本(兼容性最好),安装时务必勾选“Add Python to PATH”(避免后续配置路径),一路点“Next”,1分钟就能装完。

2. 装3个核心库:复制命令就行

按下Win+R(Mac按Command+空格),输入“cmd”打开命令提示符,粘贴以下3行命令,每输完一行按回车(出现“Successfully installed”就是成功):

• pip install pandas:处理表格数据,比Excel快10倍

• pip install numpy:算经济指标(如净现值、回报率),零计算错误

• pip install matplotlib:生成可视化图表,让数据更直观

3. 选编辑器:优先用Jupyter Notebook

新手推荐用Jupyter Notebook,能边写代码边看结果,还能插文字说明,像“带代码的Word”。安装命令:pip install jupyter,装完后输入jupyter notebook,会自动弹出浏览器页面,点“New-Python 3”就能开始。

便利店老板常纠结:“可乐和果汁该重点推哪个?”靠感觉说“可乐卖得多”没用,用Python算清“单位利润、周转率、保本销量”,答案一目了然。

1. 明确评估逻辑

核心看3个指标:

• 单位利润=售价-进货成本-损耗成本(按售价10%估算)

• 月周转率=月销量/进货量(越高说明卖得越快)

• 保本销量=月固定成本(如货架费)÷单位利润(卖够这个数才不亏)

2. 准备数据(真实场景模拟)

假设两款饮品的基础数据如下,Python会自动读取,不用手动输:

商品 售价(元) 进货成本(元) 月销量(瓶) 月进货量(瓶) 月货架费(元)

可乐 3.5 1.8 1200 1500 200

果汁 5 2.5 800 1000 200

3. Python代码实战(复制就能用)

第一步:导入库+读数据

# 导入核心库

import pandas as pd

import numpy as np

import matplotlib.pyplot as plt

# 解决中文乱码

plt.rcparams['font.sans-serif'] = ['SimHei']

plt.rcParams['axes.unicode_minus'] = False

# 输入数据(也能用水印读取Excel:pd.read_excel("选品数据.xlsx"))

data = {

'商品': ['可乐', '果汁'],

'售价': [3.5, 5],

'进货成本': [1.8, 2.5],

'月销量': [1200, 800],

'月进货量': [1500, 1000],

'月货架费': [200, 200]

}

# 转成表格格式

df = pd.DataFrame(data)

print("选品基础数据:")

print(df)

运行后会显示表格,确认数据没写错。

第二步:算核心指标

# 1. 算单位利润(损耗按售价10%算)

df['损耗成本'] = df['售价'] * 0.1

df['单位利润'] = df['售价'] - df['进货成本'] - df['损耗成本']

# 2. 算月周转率(销量/进货量,越高越好)

df['月周转率'] = (df['月销量'] / df['月进货量']).round(2)

# 3. 算保本销量(卖够多少才不亏)

df['保本销量'] = df['月货架费'] / df['单位利润']

# 4. 算月净利润

df['月净利润'] = df['月销量'] * df['单位利润'] - df['月货架费']

# 显示结果

print("\n选品评估结果:")

print(df[['商品', '单位利润', '月周转率', '保本销量', '月净利润']].round(2))

运行结果解读:

• 可乐:单位利润1.35元,周转率0.8(卖得快),保本卖149瓶就能回本,月净利润1420元

果汁:单位利润2元,周转率0.8,但保本要卖100瓶,月净利润1400元

看似果汁单位利润高,实际可乐总利润更高,该重点推可乐!

第三步:画对比图(汇报用)

# 画柱状图对比利润和保本销量

x = df['商品']

fig, ax1 = plt.subplots(figsize=(10, 6))

# 左轴:月净利润

ax1.bar(x, df['月净利润'], color='#FF9999', label='月净利润(元)', alpha=0.8)

ax1.set_ylabel('月净利润(元)', color='#FF9999', fontsize=12)

ax1.tick_params(axis='y', labelcolor='#FF9999')

# 右轴:保本销量

ax2 = ax1.twinx

ax2.plot(x, df['保本销量'], color='#66B2FF', marker='o', linewidth=3, label='保本销量(瓶)')

ax2.set_ylabel('保本销量(瓶)', color='#66B2FF', fontsize=12)

ax2.tick_params(axis='y', labelcolor='#66B2FF')

# 加数值标签

for i, v in enumerate(df['月净利润']):

ax1.text(i, v + 50, f'{int(v)}元', ha='center', va='bottom', fontsize=10)

for i, v in enumerate(df['保本销量']):

ax2.text(i, v + 10, f'{int(v)}瓶', ha='center', va='bottom', fontsize=10)

# 标题和图例

plt.title('便利店饮品选品对比', fontsize=14, fontweight='bold')

lines1, labels1 = ax1.get_legend_handles_labels

lines2, labels2 = ax2.get_legend_handles_labels

ax1.legend(lines1 + lines2, labels1 + labels2, loc='upper right')

# 保存图片(和代码放同一文件夹)

plt.savefig('选品对比图.png', dpi=300)

plt.show

生成的图既有利润又有保本量,汇报时一放,领导秒懂你的分析逻辑。

公司要投一个新能源项目,初始投500万,周期5年,怎么判断值不值?关键看“净现值(NPV)”:把未来的钱折算成现在的钱,正数就值得投,负数就放弃。

1. 基础数据(真实项目模拟)

• 初始投资:-500万元(负号代表支出)

• 未来5年现金流(净利润+折旧):120万、150万、180万、200万、220万

• 折现率:8%(行业平均收益,可调整)

2. Python代码实战

# 导入库

import numpy as np

import matplotlib.pyplot as plt

# 解决中文乱码

plt.rcParams['font.sans-serif'] = ['SimHei']

# 1. 定义数据

initial_invest = -500 # 初始投资

cash_flows = [initial_invest, 120, 150, 180, 200, 220] # 第0-5年现金流

discount_rate = 0.08 # 折现率8%

years = np.arange(0, 6) # 时间轴:0-5年

# 2. 算核心指标

npv = np.npv(discount_rate, cash_flows) # 净现值(正数值得投)

irr = np.IRR(cash_flows) # 内部收益率(越高越好)

cumulative_cf = np.cumsum(cash_flows) # 累计现金流(看何时回本)

# 输出结果

print(f"项目初始投资:{abs(initial_invest)}万元")

print(f"净现值(NPV):{npv:.2f}万元")

print(f"内部收益率(IRR):{irr:.2%}")

print("\n各年现金流及累计现金流:")

for year, cf, cum_cf in zip(years, cash_flows, cumulative_cf):

print(f"第{year}年:现金流={cf}万,累计现金流={cum_cf:.2f}万")

结果解读:

• NPV=198.76万元(正数):项目能赚钱,值得投

• IRR=23.58%(远高于8%行业水平):收益超预期

• 累计现金流第4年转正:4年就能回本,风险低

3. 画现金流趋势图

# 画现金流和累计现金流图

fig, ax = plt.subplots(figsize=(12, 6))

# 柱状图:当年现金流

ax.bar(years, cash_flows, color='#99CCFF', label='当年现金流(万元)', alpha=0.8)

# 折线图:累计现金流

ax.plot(years, cumulative_cf, color='#FF6666', linewidth=3, marker='o', label='累计现金流(万元)')

# 加盈亏线(y=0)

ax.axhline(y=0, color='black', linestyle='--', alpha=0.5, label='盈亏线')

# 加数值标签

for year, cf, cum_cf in zip(years, cash_flows, cumulative_cf):

ax.text(year, cf + 20, f'{cf}万', ha='center', va='bottom', fontsize=9)

ax.text(year, cum_cf + 20, f'{cum_cf:.0f}万', ha='center', va='bottom', fontsize=9)

# 标题和图例

ax.set_title('新能源项目5年现金流趋势', fontsize=14, fontweight='bold')

ax.set_xlabel('年份', fontsize=12)

ax.set_ylabel('现金流(万元)', fontsize=12)

ax.legend

ax.grid(True, alpha=0.3)

# 保存图片

plt.savefig('项目现金流图.png', dpi=300)

plt.show

图里红色折线过了0轴,就是回本时间,直观又专业,比写100字报告还管用。

很多商家定价凭感觉:“别人卖100,我卖99”,但定价高了销量降,低了没利润。用Python模拟不同定价的利润,能精准找到“最优价”。

1. 核心逻辑

假设某产品:

• 销量公式:销量=2000-10×定价(定价涨1元,销量少10件)

• 单位成本:30元/件

• 定价范围:40-120元(每5元一个档位)

2. Python代码实战

# 导入库

import numpy as np

import matplotlib.pyplot as plt

import pandas as pd

# 解决中文乱码

plt.rcParams['font.sans-serif'] = ['SimHei']

# 1. 定义参数

unit_cost = 30 # 单位成本

price_range = np.arange(40, 121, 5) # 定价范围:40-120元,步长5元

profit_list = # 存不同定价的利润

sales_list = # 存不同定价的销量

# 2. 算每个定价的利润

for price in price_range:

sales = 2000 - 10 * price # 算销量

revenue = price * sales # 算销售额

total_cost = unit_cost * sales # 算总成本

profit = revenue - total_cost # 算利润

sales_list.append(sales)

profit_list.append(profit)

# 3. 找最优定价

result = pd.DataFrame({

'定价(元)': price_range,

'销量(件)': sales_list,

'利润(元)': profit_list

})

max_profit_idx = result['利润(元)'].idxmax

best_price = result.iloc[max_profit_idx]

# 输出结果

print("不同定价利润模拟:")

print(result)

print(f"\n最优定价方案:")

print(f"定价:{best_price['定价(元)']}元,销量:{best_price['销量(件)']}件,利润:{best_price['利润(元)']}元")

结果显示:最优定价是115元,利润72250元;如果错定100元,利润只有50000元,少赚2.2万!

3. 画定价-利润趋势图

# 画定价-利润趋势图

fig, ax = plt.subplots(figsize=(12, 6))

# 画利润趋势线

ax.plot(result['定价(元)'], result['利润(元)'], color='#FF6600', linewidth=3, marker='o', label='利润')

# 标记最优定价点

ax.scatter(best_price['定价(元)'], best_price['利润(元)'], color='red', s=150, zorder=5)

ax.text(best_price['定价(元)'] + 2, best_price['利润(元)'] + 2000,

f'最优价:{best_price["定价(元)"]}元\n利润:{best_price["利润(元)"]}元',

bbox=dict(boxstyle='round', facecolor='yellow', alpha=0.8), fontsize=10)

# 标题和标签

ax.set_title('产品定价与利润关系', fontsize=14, fontweight='bold')

ax.set_xlabel('定价(元)', fontsize=12)

ax.set_ylabel('利润(元)', fontsize=12)

ax.grid(True, alpha=0.3)

ax.legend

# 保存图片

plt.savefig('定价利润图.png', dpi=300)

plt.show

1. 数据格式要统一:比如“金额”都用“元”,“时间”都用“年/月”,避免Python计算时出错;

2. 公式别硬记:本文案例的“利润”“NPV”公式都已写好,直接替换成你的数据就能用;其实Python做经济评估,核心不是“会编程”,而是“用工具解决问题”。今天这3个案例,覆盖了零售、投资、定价最常见的场景,学会后不管是做汇报、写方案,还是帮公司做决策,你都能比别人快一步。下次再遇到“该选哪个”“值不值得投”的问题,别再凭感觉,用Python跑一遍数据,答案自然就出来了!#每天学python##经济管理#​#经济分析#粤明年重点项目投资计划#

来源:绿叶菜

相关推荐