校园服饰细分赛道测算程序(Python)
——学生平价国风 & 机能穿搭市场规模预估(TAM / SAM / SOM)
一、实际应用场景描述(真实业务抽象)
在《时尚产业与品牌创新》课程中,细分市场切入(Niche Market Entry)是轻资产新锐服装品牌常用的创新路径。
典型场景:
- 高校周边 / 校园文创 / 学生原创服饰品牌
- 主打平价国风(新中式校园版)或机能风 Campus Techwear
- 目标客群锁定:在校大学生(18–22岁),有一定审美追求但预算有限
品牌立项或课程案例分析时需要量化回答:
- 目标城市 / 区域有多少潜在大学生客群?
- 他们年均服装消费能力如何?对国风 / 机能风的接受度(偏好率)是多少?
- 折算成可服务市场(SAM)和品牌可获取市场(SOM)有多大?
- 不同城市层级(一线/新一线/二线)、不同偏好率假设下结果差异?
本程序用 Python 做参数化校园细分服饰市场 TAM–SAM–SOM 自上而下测算 + 客群消费画像统计,全部为教学级假设值,不涉及隐私数据。
二、引入痛点(为什么要用代码算)
手工拍脑袋常见误区:
1. "全国大学生 4000 万 → 全是我的客户"——忽略年级、城市、消费力分层
2. 偏好率凭感觉填 10%/20%——无保守/中性/乐观三档对照
3. 混淆 TAM(全体大学生服装总盘)、SAM(国风/机能细分)、SOM(你能拿到)
4. 无法快速调整参数(城市高校数、生均消费、品牌市占率)重算
→ 用代码把"校园细分市场感觉"变成可计算、可复现、可调整的参数模型。
三、核心逻辑讲解(先业务后代码)
1️⃣ 市场分层定义
TAM(Total Addressable Market)
= 目标区域在校大学生人数(18–22岁全日制)
× 年均服装消费支出(元/人/年)
SAM(Serviceable Addressable Market — 国风/机能细分)
= TAM
× 风格偏好率(保守 / 中性 / 乐观)
× 可及系数(仅覆盖部分校区/渠道)
SOM(Serviceable Obtainable Market — 品牌可获取)
= SAM
× 假设品牌初期市占率(如 1%~3%)
2️⃣ 消费能力与需求统计维度
参数 含义 教学示例值
student_population 目标城市/区域全日制大学生人数 例:某大学城 12 万
annual_apparel_spend 年均服装消费(元/人) 2000~3000
style_preference_rate 国风/机能风偏好或购买意愿比例 8% / 15% / 25%
reachable_ratio 渠道可及系数(校园店+线上覆盖) 0.5
brand_share 品牌初期市占率 0.02(2%)
avg_unit_price 单件平价国风/机能均价 ¥168
annual_purchase_freq 年均购买该风格件数 2~3 件
四、程序结构设计(模块化)
campus_fashion_sizer/
├── main.py # 入口,调用模型并打印结果
├── config.py # 所有可调参数
├── market_model.py # TAM / SAM / SOM 计算逻辑
├── demand_profile.py # 客群消费能力与需求统计
├── reporter.py # 格式化输出
├── README.md # 使用说明
└── knowledge_card.md # 核心知识点卡片
五、代码实现(Python 3.x,注释清晰)
"config.py"
"""
校园服饰细分赛道(学生平价国风 & 机能穿搭)市场测算 — 参数配置
参考:教育部统计、大学生消费调研(教学示例取值)
"""
# ---- 人群 ----
STUDENT_POPULATION = 120_000 # 目标城市/大学城全日制大学生人数
# ---- 消费能力 ----
ANNUAL_APPAREL_SPEND = 2400 # 大学生年均服装总支出(元/人)
STYLE_PREFERENCE = { # 国风/机能风偏好或购买意愿比例
"conservative": 0.08,
"neutral": 0.15,
"optimistic": 0.25,
}
REACHABLE_RATIO = 0.50 # 渠道可及系数(校园店+社媒覆盖)
# ---- 品牌假设 ----
BRAND_MARKET_SHARE = 0.02 # 品牌初期市占率 2%
# ---- 需求画像 ----
STYLE_AVG_UNIT_PRICE = 168 # 平价国风/机能单件均价(元)
STYLE_ANNUAL_FREQ = 2 # 年均购买该风格件数(件/人)
"market_model.py"
from config import (
STUDENT_POPULATION,
ANNUAL_APPAREL_SPEND,
STYLE_PREFERENCE,
REACHABLE_RATIO,
BRAND_MARKET_SHARE,
)
class CampusFashionMarket:
"""
校园服饰细分市场(国风/机能)TAM / SAM / SOM 测算模型
"""
def __init__(self):
self.tam = STUDENT_POPULATION * ANNUAL_APPAREL_SPEND
self.scenarios = {}
for label, pref in STYLE_PREFERENCE.items():
sam = self.tam * pref * REACHABLE_RATIO
som = sam * BRAND_MARKET_SHARE
self.scenarios[label] = {
"preference": pref,
"sam": round(sam, 2),
"som": round(som, 2),
}
def get_result(self):
return {
"tam": round(self.tam, 2),
"scenarios": self.scenarios,
}
"demand_profile.py"
from config import (
STUDENT_POPULATION,
STYLE_PREFERENCE,
STYLE_AVG_UNIT_PRICE,
STYLE_ANNUAL_FREQ,
)
def calc_demand_profile():
"""
统计大学生对国风/机能风格的:
- 意向客群人数
- 人均年消费额(该风格)
- 细分市场年消费总额
"""
per_capita_spend = STYLE_AVG_UNIT_PRICE * STYLE_ANNUAL_FREQ
result = {
"per_capita_style_spend": per_capita_spend,
"scenarios": {},
}
for label, pref in STYLE_PREFERENCE.items():
intent_pop = STUDENT_POPULATION * pref
segment_total = intent_pop * per_capita_spend
result["scenarios"][label] = {
"intent_population": int(intent_pop),
"segment_total_spend": round(segment_total, 2),
}
return result
"reporter.py"
from config import BRAND_MARKET_SHARE
def print_market_report(data):
print(f"\n=== TAM(大学生年服装总支出): ¥{data['tam']:,.0f} ===\n")
for scen, v in data["scenarios"].items():
print(
f"[{scen:>10}] 偏好率={v['preference']:.0%} "
f"SAM=¥{v['sam']:,.0f} "
f"SOM(品牌@{BRAND_MARKET_SHARE*100:.0f}%)=¥{v['som']:,.0f}"
)
def print_demand_report(profile):
print(
f"\n人均国风/机能年消费 = ¥{profile['per_capita_style_spend']} "
f"({STYLE_ANNUAL_FREQ}件 × ¥{STYLE_AVG_UNIT_PRICE})\n"
)
for scen, v in profile["scenarios"].items():
print(
f"[{scen:>10}] 意向客群={v['intent_population']:,}人 "
f"细分市场年消费总额=¥{v['segment_total_spend']:,.0f}"
)
# 避免提前引用,延迟导入
from config import STYLE_ANNUAL_FREQ, STYLE_AVG_UNIT_PRICE # noqa: E402
"main.py"
from market_model import CampusFashionMarket
from demand_profile import calc_demand_profile
from reporter import print_market_report, print_demand_report
if __name__ == "__main__":
print("\n===== 校园服饰细分赛道测算(学生平价国风 & 机能穿搭)=====")
model = CampusFashionMarket()
market_data = model.get_result()
demand_data = calc_demand_profile()
print_market_report(market_data)
print_demand_report(demand_data)
六、README.md(使用说明)
# 校园服饰细分赛道测算器 — 学生平价国风 & 机能穿搭市场规模预估
# Campus Fashion Niche Market Sizer (Traditional-Chinese / Techwear for Students)
## 用途
- 《时尚产业与品牌创新》课程:细分市场 TAM/SAM/SOM 量化分析示范
- 校园原创服饰 / 国风学生线 / 机能风校园品牌:前期可行性估算
- 技术布道:Python 参数化商业建模教学
## 运行方式
bash
python main.py
## 修改参数
编辑 `config.py`:
- STUDENT_POPULATION :目标城市/大学城全日制大学生人数
- ANNUAL_APPAREL_SPEND :大学生年均服装支出
- STYLE_PREFERENCE :保守/中性/乐观偏好率
- REACHABLE_RATIO :渠道可及系数
- BRAND_MARKET_SHARE :预期品牌市占率
- STYLE_AVG_UNIT_PRICE / FREQ :单件均价与年均购买件数
## 输出说明
- TAM :目标大学生年服装总消费盘
- SAM :国风/机能细分可服务市场(三档偏好率)
- SOM :品牌可获取市场规模
- 意向客群数与细分市场需求总额
## 免责
本程序为教学级参数化推演工具,结果依赖输入假设,
不构成任何投资/创业建议。
七、核心知识点卡片
"knowledge_card.md"
## 知识点卡片 — 校园细分服饰市场测算
1️⃣ TAM / SAM / SOM 在细分场景的应用
- TAM = 全体大学生年服装总支出
- SAM = 加"风格偏好率 × 渠道可及系数"
- SOM = 乘品牌初期市占率
2️⃣ 校园细分市场特征
- 人数集中但消费力分层明显
- 平价(百元级)+ 高频社交传播(小红书/得物)
- 偏好率需独立调研,不能直接套用大众数据
3️⃣ 参数化建模优势
- 假设集中到 config.py,改数即重算
- 支持保守/中性/乐观三档情景分析
- 便于课程讨论"如果偏好率只有 5% 还值得做吗?"
4️⃣ 需求 ≠ 市场规模
- 需求 = 意向人群 × 人均年消费(该风格)
- 市场 = 需求中被品牌实际捕获的部分
5️⃣ Python 适合做"品牌创新微型战略模型"
- 低门槛、透明、可扩展(pandas 多城市 / matplotlib 可视化)
- 让细分赛道选择从感觉走向可计算
八、总结(全栈工程师视角)
- 校园服饰(国风/机能)是典型的窄人群 × 低客单 × 高传播细分市场,必须用 TAM/SAM/SOM 厘清盘子大小。
- 核心价值不是打印数字,而是:
- 把"感觉有市场"变成"在什么假设下有多大市场"
- 逼问自己:偏好率凭什么取 15%?如果只有 8% 模型结论变什么?
- Python 在此场景的作用:
- 假设显性化、集中管理、一键重算
- 支持多情景对照,辅助课程讨论或品牌立项
- 可扩展方向:
-
"pandas" 读入多城市高校数据批量测算
-
"matplotlib" 画 SAM/SOM 对比柱状图
- 封装 Streamlit 交互页面供课堂演示或创业路演
品牌创新不只是讲审美故事,更要能用量化模型讲清楚"这个故事值多大的市场"。
利用AI解决实际问题,如果你觉得这个工具好用,欢迎关注长安牧笛!