奢品追随者,原创设计师受众消费力对比程序,两类客群客单价,复购分开统计。
2026/7/12 16:26:20 网站建设 项目流程

一、实际应用场景描述

在《时尚产业与品牌创新》课程中,"如何识别并量化不同客群的价值差异"是消费者行为模块的核心议题。

典型教学/实践场景包括:

- 课程作业:学生需要为某轻奢品牌分析"奢侈品追随者"与"原创设计师受众"的消费力差异

- 品牌定位工作坊:评估是否应从"追随大牌"转向"支持原创"的客群策略

- 市场细分课堂:对比两类客群在客单价、复购率、价格敏感度上的结构性差异

- 创业路演预演:用数据模型展示"原创设计师品牌"的目标客群消费力是否支撑商业模式

本工具尝试将 "奢侈品追随者"与"原创设计师受众"两类客群 的消费行为进行结构化对比,通过透明、可审计的计算模型,输出客单价与复购率的多维度统计对比,用于课堂讨论与客群分析教学。

二、引入痛点(中立表述)

- 客群定义模糊:"奢侈品追随者"到底是买真货、买平替,还是只看不买?"原创设计师受众"是核心粉丝还是泛兴趣人群?

- 消费力指标单一:只看客单价,忽略复购频率、生命周期价值(LTV)、价格敏感度

- 对比口径不一:不同品牌、不同渠道的客群数据不可比

- 教学缺乏可运行原型:学生需要一个干净代码骨架,理解"客群特征 → 消费指标"的映射

- 数据来源不透明:直接引用"某报告显示"而不展示计算逻辑,无法教学审计

本工具不依赖真实交易数据,而是回答:

"在给定假设参数下,两类客群的客单价与复购率差异如何结构化呈现?"

三、核心逻辑讲解

1. 两类客群的操作化定义(教学模型)

客群 操作化定义 核心特征

奢侈品追随者(Luxury Follower) 关注奢侈品牌、购买经典款或入门款、对品牌溢价接受度高 高客单、低频、品牌驱动

原创设计师受众(Original Designer Audience) 关注独立设计师、重视独特性与故事性、愿意为创意溢价 中高客单、中高频、价值驱动

2. 消费力对比的核心指标

指标 计算公式 教学意义

平均客单价(AOV) 总销售额 / 总订单数 单笔消费能力

复购率 复购用户数 / 总用户数 忠诚度与持续消费意愿

复购频次 总订单数 / 复购用户数 复购深度

年均消费额 AOV × 年均订单数 单客年度价值

价格敏感度 促销期销量变化率 对折扣的依赖程度

3. 统计对比方法

差异幅度 = (客群B指标 − 客群A指标) / 客群A指标

采用描述性统计 + 相对差异的方式,避免假设检验的过度复杂化(教学阶段)。

4. 关键假设(必须显式声明)

- 所有消费数据为教学假设参数,非真实交易数据

- 客群分类为宽泛划分,实际中存在大量交叉与过渡

- 未考虑地域、年龄、收入等细分维度

- 输出为结构化对比参考,不可直接用于商业决策

四、代码模块化(注释清晰)

目录结构:

consumer_comparison/

├── models.py # 数据结构与客群参数配置

├── stats_calc.py # 消费力指标计算

├── comparator.py # 两类客群对比分析

├── visualizer.py # 终端可视化输出

├── main.py # CLI 入口 + demo

└── README.md

"models.py"

"""

models.py

定义客群消费力对比的数据结构与参数配置。

所有参数均为教学示例,可按课程需要调整。

"""

from dataclasses import dataclass

from typing import Dict, List

@dataclass

class ConsumerGroup:

"""客群消费行为参数(教学假设)"""

name: str # 客群名称

description: str # 客群描述

sample_size: int # 样本量(用户数)

# 客单价分布参数(模拟用)

avg_order_value: float # 平均客单价

order_value_std: float # 客单价标准差

# 复购相关

repurchase_rate: float # 复购率(0-1)

avg_orders_per_year: float # 年均订单数

avg_orders_per_repurchaser: float # 复购用户年均订单数

# 价格敏感度(促销期销量变化,0-1)

price_sensitivity: float

# 品类偏好权重(教学用)

category_preferences: Dict[str, float]

@dataclass

class ComparisonResult:

"""对比分析结果"""

group_a: ConsumerGroup

group_b: ConsumerGroup

# 客单价对比

aov_a: float

aov_b: float

aov_diff_pct: float

# 复购率对比

repurchase_rate_a: float

repurchase_rate_b: float

repurchase_diff_pct: float

# 年均消费对比

annual_spend_a: float

annual_spend_b: float

annual_spend_diff_pct: float

# 价格敏感度对比

sensitivity_diff: float

# 奢侈品追随者参数(教学假设)

LUXURY_FOLLOWER = ConsumerGroup(

name="奢侈品追随者",

description="关注奢侈品牌,购买经典款/入门款,品牌溢价接受度高",

sample_size=500,

avg_order_value=2500.0,

order_value_std=800.0,

repurchase_rate=0.25,

avg_orders_per_year=1.8,

avg_orders_per_repurchaser=3.2,

price_sensitivity=0.35,

category_preferences={

"包袋": 0.45,

"鞋履": 0.25,

"成衣": 0.20,

"配饰": 0.10,

},

)

# 原创设计师受众参数(教学假设)

DESIGNER_AUDIENCE = ConsumerGroup(

name="原创设计师受众",

description="关注独立设计师,重视独特性与故事性,愿为创意溢价",

sample_size=380,

avg_order_value=1800.0,

order_value_std=600.0,

repurchase_rate=0.40,

avg_orders_per_year=2.5,

avg_orders_per_repurchaser=4.5,

price_sensitivity=0.20,

category_preferences={

"成衣": 0.50,

"配饰": 0.25,

"鞋履": 0.15,

"包袋": 0.10,

},

)

"stats_calc.py"

"""

stats_calc.py

计算客群消费力的核心统计指标。

"""

def calc_group_stats(group: "ConsumerGroup") -> dict:

"""

计算单客群的核心消费力指标。

"""

# 基础指标

aov = group.avg_order_value

# 复购用户数

repurchase_users = int(group.sample_size * group.repurchase_rate)

# 总订单数 = 新客订单 + 复购订单

# 新客每人 1 单,复购用户每人 avg_orders_per_repurchaser 单

new_users = group.sample_size - repurchase_users

total_orders = new_users * 1 + repurchase_users * group.avg_orders_per_repurchaser

# 年均消费额(加权平均)

annual_spend = aov * (total_orders / group.sample_size)

# 实际复购率(考虑复购频次)

effective_repurchase_rate = repurchase_users / group.sample_size

return {

"aov": aov,

"repurchase_rate": effective_repurchase_rate,

"total_orders": total_orders,

"annual_spend_per_user": annual_spend,

"price_sensitivity": group.price_sensitivity,

"avg_orders_per_user": total_orders / group.sample_size,

}

"comparator.py"

"""

comparator.py

两类客群的对比分析引擎。

"""

from .models import ComparisonResult

from .stats_calc import calc_group_stats

def compare_groups(

group_a: "ConsumerGroup",

group_b: "ConsumerGroup",

) -> ComparisonResult:

"""

对两类客群进行全面消费力对比。

"""

stats_a = calc_group_stats(group_a)

stats_b = calc_group_stats(group_b)

# 客单价对比

aov_diff = _pct_diff(stats_b["aov"], stats_a["aov"])

# 复购率对比

repurchase_diff = _pct_diff(

stats_b["repurchase_rate"],

stats_a["repurchase_rate"],

)

# 年均消费对比

annual_diff = _pct_diff(

stats_b["annual_spend_per_user"],

stats_a["annual_spend_per_user"],

)

# 价格敏感度差异(绝对值)

sensitivity_diff = (

stats_b["price_sensitivity"] - stats_a["price_sensitivity"]

)

return ComparisonResult(

group_a=group_a, group_b=group_b,

aov_a=stats_a["aov"], aov_b=stats_b["aov"],

aov_diff_pct=aov_diff,

repurchase_rate_a=stats_a["repurchase_rate"],

repurchase_rate_b=stats_b["repurchase_rate"],

repurchase_diff_pct=repurchase_diff,

annual_spend_a=stats_a["annual_spend_per_user"],

annual_spend_b=stats_b["annual_spend_per_user"],

annual_spend_diff_pct=annual_diff,

sensitivity_diff=sensitivity_diff,

)

def _pct_diff(value_b: float, value_a: float) -> float:

"""计算相对差异百分比"""

if value_a == 0:

return 0.0

return (value_b - value_a) / value_a

"visualizer.py"

"""

visualizer.py

终端格式化输出与可视化。

"""

def print_comparison(result: "ComparisonResult"):

a = result.group_a

b = result.group_b

print("\n" + "=" * 62)

print(" 客群消费力对比分析(教学演示)")

print("=" * 62)

# 客群基本信息

print(f"\n 【客群 A】{a.name}")

print(f" {a.description}")

print(f" 样本量: {a.sample_size} 人")

print(f"\n 【客群 B】{b.name}")

print(f" {b.description}")

print(f" 样本量: {b.sample_size} 人")

# 核心指标对比

print(f"\n {'─' * 58}")

print(f" {'指标':<20s} {'客群 A':>12s} {'客群 B':>12s} {'差异':>12s}")

print(f" {'─' * 58}")

_print_row("平均客单价", result.aov_a, result.aov_b, result.aov_diff_pct, "¥")

_print_row("复购率", result.repurchase_rate_a, result.repurchase_rate_b,

result.repurchase_diff_pct, "", is_pct=True)

_print_row("年均消费/人", result.annual_spend_a, result.annual_spend_b,

result.annual_spend_diff_pct, "¥")

# 价格敏感度

print(f"\n {'─' * 58}")

print(f" 价格敏感度(促销期销量变化)")

print(f" 客群 A: {result.group_a.price_sensitivity:.0%}")

print(f" 客群 B: {result.group_b.price_sensitivity:.0%}")

print(f" 差异: {result.sensitivity_diff:+.0%}")

# 品类偏好对比

print(f"\n {'─' * 58}")

print(f" 品类偏好对比")

print(f" {'品类':<10s} {'客群 A':>10s} {'客群 B':>10s}")

print(f" {'─' * 58}")

all_cats = set(a.category_preferences.keys()) | set(b.category_preferences.keys())

for cat in sorted(all_cats):

pref_a = a.category_preferences.get(cat, 0)

pref_b = b.category_preferences.get(cat, 0)

print(f" {cat:<10s} {pref_a:>9.0%} {pref_b:>9.0%}")

# 总结

print(f"\n {'=' * 58}")

print(f" 【关键发现】")

print(f" {'=' * 58}")

if result.aov_diff_pct > 0:

print(f" • 客群 B 客单价低 {abs(result.aov_diff_pct):.1%},"

f"但年均消费{_direction(result.annual_spend_diff_pct)} "

f"{abs(result.annual_spend_diff_pct):.1%}")

else:

print(f" • 客群 A 客单价高 {abs(result.aov_diff_pct):.1%},"

f"但年均消费{_direction(result.annual_spend_diff_pct)} "

f"{abs(result.annual_spend_diff_pct):.1%}")

if result.repurchase_diff_pct > 0:

print(f" • 客群 B 复购率高 {abs(result.repurchase_diff_pct):.1%},"

f"忠诚度更强")

else:

print(f" • 客群 A 复购率高 {abs(result.repurchase_diff_pct):.1%},"

f"忠诚度更强")

if result.sensitivity_diff < 0:

print(f" • 客群 B 价格敏感度低 {abs(result.sensitivity_diff):.0%},"

f"对折扣依赖更小")

else:

print(f" • 客群 A 价格敏感度低 {abs(result.sensitivity_diff):.0%},"

f"对折扣依赖更小")

print(f"\n {'=' * 58}")

print(" 说明:")

print(" - 所有数据均为教学假设参数,非真实交易数据")

print(" - 客群分类为宽泛划分,实际存在大量交叉")

print(" - 建议结合真实用户调研做交叉验证")

print(f" {'=' * 58}\n")

def _print_row(label, val_a, val_b, diff_pct, prefix="", is_pct=False):

if is_pct:

a_str = f"{val_a:.1%}"

b_str = f"{val_b:.1%}"

else:

a_str = f"{prefix}{val_a:,.0f}"

b_str = f"{prefix}{val_b:,.0f}"

diff_str = f"{diff_pct:+.1%}"

print(f" {label:<20s} {a_str:>12s} {b_str:>12s} {diff_str:>12s}")

def _direction(diff):

return "高" if diff > 0 else "低"

"main.py"

"""

main.py

CLI 入口,运行两类客群消费力对比演示。

运行:python main.py

"""

from models import LUXURY_FOLLOWER, DESIGNER_AUDIENCE

from comparator import compare_groups

from visualizer import print_comparison

def run_demo():

result = compare_groups(LUXURY_FOLLOWER, DESIGNER_AUDIENCE)

print_comparison(result)

if __name__ == "__main__":

run_demo()

五、README.md

# Consumer Group Comparison Tool(教学演示)

一个轻量级 Python 工具,用于对比 **"奢侈品追随者"与"原创设计师受众"** 两类客群的消费力差异。

## 定位与边界

- 目的:将"客群分析"从定性描述转化为可审计的量化对比

- 非市场调研工具,不替代问卷/访谈/埋点分析

- 所有数据均为教学假设参数

- 忽略:地域差异、年龄分层、收入分布、竞品影响

- **不构成任何商业决策建议**

## 环境

- Python ≥ 3.8(仅标准库)

## 安装与运行

bash

git clone <repo-url>

cd consumer_comparison

python main.py

## 模块说明

| 文件 | 职责 |

|---|---|

| `models.py` | 客群数据结构、参数配置(含两类客群默认参数) |

| `stats_calc.py` | 客单价、复购率、年均消费等指标计算 |

| `comparator.py` | 两类客群对比分析引擎 |

| `visualizer.py` | 终端格式化输出(含品类偏好对比) |

| `main.py` | CLI 入口与演示 |

## 如何调整

### 修改客群参数

编辑 `models.py` 中的 `LUXURY_FOLLOWER` 或 `DESIGNER_AUDIENCE`。

### 增加第三类客群

定义新的 `ConsumerGroup` 实例,扩展 `comparator.py` 支持多组对比。

### 增加新指标

在 `stats_calc.py` 的 `calc_group_stats()` 中添加计算逻辑。

### 接入真实数据

替换 `models.py` 中的参数为实际调研/交易数据。

## 核心指标说明

| 指标 | 含义 |

|---|---|

| 平均客单价(AOV) | 单笔交易平均金额 |

| 复购率 | 有≥2次购买的用户占比 |

| 年均消费/人 | AOV × 年均订单数 |

| 价格敏感度 | 促销期销量变化幅度 |

## 许可证

MIT(教学用途,自行承担使用风险)

六、核心知识点卡片(中立、去营销)

卡片 1 · 客群细分方法论

- 消费者行为学核心:按行为/态度/需求(而非仅人口统计)细分

- 本工具采用"品牌取向 + 购买动机"双维度划分

- 教学要点:细分不是目的,差异化策略才是

卡片 2 · 复购率的多层含义

- 简单复购率:有复购行为的用户占比

- 复购深度:复购用户的平均购买频次

- 教学价值:两个指标结合,才能区分"偶尔回头"和"核心忠实"

卡片 3 · 价格敏感度测量

- 操作化定义:促销期销量变化率 / 价格弹性系数

- 低敏感度 = 品牌溢价空间大

- 教学要点:敏感度因品类、价格段而异

卡片 4 · 描述性统计 vs 推断统计

- 描述性:均值、标准差、占比(本工具采用)

- 推断性:t 检验、卡方检验、置信区间

- 教学建议:先掌握描述性对比,再引假设检验。

利用AI解决实际问题,如果你觉得这个工具好用,欢迎关注长安牧笛!

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询