工信部运行监测协调局刚发布了 2026 年 1-4 月软件业运行情况。几个核心数字:软件业务收入 46686 亿元,同比增长 10.9%;利润总额 5304 亿元,但增势明显放缓;软件业务出口维持正增长。收入还在涨,利润却在减速——这对从业者和团队决策意味着什么,值得拆开看。
收入增长的结构:总量不差,但钱从哪来
46686 亿元、10.9% 的增速,放在近几年的曲线里算稳健,不算爆发。更值得关注的是收入结构——软件产品、信息技术服务、嵌入式系统软件、信息安全这几大板块各自的贡献比例和增速差异。
通常信息技术服务(云、大数据、AI 平台)是拉动收入的主力,而传统软件产品增速偏平。如果服务收入占比继续上升,说明行业正在从"卖许可证"向"卖持续服务"过渡,这对定价模型、交付节奏和团队技能配置都有直接影响。
利润放缓:增收不增利的典型场景
利润总额 5304 亿元,绝对值不小,但"增势放缓"这四个字才是重点。几个可能的原因:
- 人力成本持续上升:软件业是典型的人力密集行业,薪资上涨直接挤压利润。
- 竞争加剧导致价格下行:云服务和 SaaS 市场竞争白热化,折扣和免费层拉低了客单价。
- 研发投入前置:AI、大模型相关投入处于烧钱阶段,短期看不到回报。
- 出口正增长但利润薄:出海业务量在涨,但海外市场的合规、本地化和渠道成本吃掉了利润空间。
对团队来说,利润放缓意味着预算审批会更严,新项目立项需要更硬的 ROI 论证,"先做再看"的空间在收窄。
出口正增长:出海不再是选项而是必选项
软件业务出口保持正增长,结合国内利润承压的背景,出海的战略权重在上升。但出海不是简单地把产品翻译成英文——合规(数据隐私、GDPR)、支付接入、本地运营团队都是硬成本。
对中小团队而言,优先考虑东南亚和中东市场,合规门槛相对低、增长空间大,比直接冲欧美更务实。
用 Python 快速搭建行业数据追踪脚本
宏观数据每季度更新一次,手动追踪容易遗漏。下面是一个可直接运行的 Python 脚本,用 pandas 处理这类行业数据,并用 matplotlib 生成趋势图。你可以把工信部每次发布的数据追加到 CSV 里,脚本自动计算增速变化并可视化。
先准备数据文件 software_industry.csv:
year,month_range,revenue_billion_yuan,revenue_yoy_growth_pct,profit_billion_yuan,profit_yoy_growth_pct,export_yoy_growth_pct
2024,1-4,34800,11.6,4100,15.2,3.1
2025,1-4,42000,12.0,4800,12.8,2.5
2026,1-4,46686,10.9,5304,8.1,1.8
注:2024、2025 行的数据为示意值,用于演示趋势对比。实际数据请从工信部官网补充。
然后运行以下脚本:
"""
软件业运行数据追踪与可视化
依赖:pandas, matplotlib
安装:pip install pandas matplotlib
"""
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib
import os
# 中文字体设置,避免图表中文乱码
matplotlib.rcParams["font.sans-serif"] = ["SimHei", "PingFang SC", "Noto Sans CJK SC"]
matplotlib.rcParams["axes.unicode_minus"] = False
DATA_FILE = "software_industry.csv"
def load_data(filepath: str) -> pd.DataFrame:
"""加载 CSV 数据,如果文件不存在则给出提示"""
if not os.path.exists(filepath):
print(f"数据文件 {filepath} 不存在,请先创建并填入数据。")
print("参考格式:year,month_range,revenue_billion_yuan,revenue_yoy_growth_pct,...")
return pd.DataFrame()
df = pd.read_csv(filepath)
df["period"] = df["year"].astype(str) + " " + df["month_range"]
return df
def plot_growth_comparison(df: pd.DataFrame):
"""收入增速 vs 利润增速对比图"""
if df.empty:
return
fig, ax1 = plt.subplots(figsize=(8, 5))
x = range(len(df))
width = 0.35
bars1 = ax1.bar(
[i - width / 2 for i in x],
df["revenue_yoy_growth_pct"],
width,
label="收入增速 (%)",
color="#4C78A8",
)
bars2 = ax1.bar(
[i + width / 2 for i in x],
df["profit_yoy_growth_pct"],
width,
label="利润增速 (%)",
color="#F58518",
)
ax1.set_xlabel("统计周期")
ax1.set_ylabel("同比增速 (%)")
ax1.set_title("软件业收入增速 vs 利润增速")
ax1.set_xticks(list(x))
ax1.set_xticklabels(df["period"])
ax1.legend()
# 在柱子上标注数值
for bar in bars1:
height = bar.get_height()
ax1.annotate(f"{height:.1f}", xy=(bar.get_x() + bar.get_width() / 2, height),
xytext=(0, 3), textcoords="offset points", ha="center", fontsize=9)
for bar in bars2:
height = bar.get_height()
ax1.annotate(f"{height:.1f}", xy=(bar.get_x() + bar.get_width() / 2, height),
xytext=(0, 3), textcoords="offset points", ha="center", fontsize=9)
plt.tight_layout()
plt.savefig("growth_comparison.png", dpi=150)
print("图表已保存为 growth_comparison.png")
def print_summary(df: pd.DataFrame):
"""打印最新一期数据摘要和增速变化"""
if df.empty:
return
latest = df.iloc[-1]
prev = df.iloc[-2] if len(df) >= 2 else None
print(f"\n===== {latest['period']} 软件业运行摘要 =====")
print(f"软件业务收入:{latest['revenue_billion_yuan']:.0f} 亿元")
print(f"收入同比增速:{latest['revenue_yoy_growth_pct']:.1f}%")
print(f"利润总额:{latest['profit_billion_yuan']:.0f} 亿元")
print(f"利润同比增速:{latest['profit_yoy_growth_pct']:.1f}%")
print(f"出口同比增速:{latest['export_yoy_growth_pct']:.1f}%")
if prev is not None:
rev_delta = latest["revenue_yoy_growth_pct"] - prev["revenue_yoy_growth_pct"]
profit_delta = latest["profit_yoy_growth_pct"] - prev["profit_yoy_growth_pct"]
print(f"\n--- 与 {prev['period']} 相比 ---")
print(f"收入增速变化:{rev_delta:+.1f}% ({'加速' if rev_delta > 0 else '放缓'})")
print(f"利润增速变化:{profit_delta:+.1f}% ({'加速' if profit_delta > 0 else '放缓'})")
if profit_delta < rev_delta:
print("⚠ 利润放缓幅度大于收入,增收不增利趋势需关注")
def main():
df = load_data(DATA_FILE)
print_summary(df)
plot_growth_comparison(df)
if __name__ == "__main__":
main()
运行方式:
pip install pandas matplotlib
python software_tracker.py
输出效果:终端打印最新一期摘要和增速变化判断,同时生成 growth_comparison.png 柱状图。每次工信部新数据发布后,只需往 CSV 追加一行,脚本就能自动对比趋势。
给团队和个人的几条务实建议
- 盯利润增速而非收入增速:收入 10.9% 看着不差,但利润放缓才是真实压力。团队做规划时,优先看毛利率和净利率的变化方向。
- 出海预算要算硬成本:出口正增长是好消息,但别只看订单量。把合规、本地化、渠道成本算进去再评估利润空间。
- 研发投入要卡节奏:AI 相关投入是必须的,但烧钱阶段要设止损线——6 个月看不到可量化的业务指标改善,就该调整方向或缩减规模。
- 用数据驱动决策而非直觉:像上面脚本这样的轻量追踪工具,花半小时搭建,每季度更新一行数据,就能让团队对宏观趋势有数,而不是等到年报出来才反应。
收入还在涨,行业基本面没出问题。但利润放缓是个早期信号——现在开始调整成本结构和投入节奏,比等到利润转负再动手要从容得多。