跳转至

普惠经历经济仿真:当 Pain 计入刚性成本

在线体验:算法实验室 TSP(与博客部署在同一台服务器的 5888 端口)

平台经济的定价公式里有个盲区:履约者绕行的距离、被压缩的等待、高峰时段的负效用——统称 Pain——通常不进价格,只作为外部成本由劳动者和城市默默消化。本站的主体内容是酒店 PMS 工程笔记,这篇是另一个方向的实验:做一个双模式对照仿真,同一批订单、同一批履约者,唯一的差别是 Pain 是否计入成交门槛,然后观察租金、交易量与群体效用的均衡变化,并定位受损群体。

对照设计:只改一处

两个模式共享全部仿真机制,唯一差异在成交门槛 θ 的构成:

模式 成交门槛 θ Pain 的去向
MONEY_ONLY(传统定价) ΔMC + Premium + Umin 外部化
EXPERIENCE_FAIR(普惠经历核算) ΔMC + Premium + Umin + Pain 计入刚性成本

各符号含义:

  • B:消费者出价;S:边际消费敏感度 ∈ [0,1],同时是匹配优先级;
  • ΔMC:边际成本,即最优可行插入的绕行距离;
  • Premium:客观溢价(成本侧);
  • Pain:主观负效用 = painCoef × (绕行距离 + 2×svc);
  • Umin:履约者每单保留底线;
  • g = max(0, θ−B):补贴缺口,g ≤ 补贴池余量则成交(池扣 g、履约者得 B+g,真实效用 u = (B+g) − ΔMC − Umin − Pain),否则流单。

外部租金的记账随模式走:MONEY 模式每成交一单计一笔 Pain(θ_F − θ_M 中被转嫁的部分),FAIR 恒为 0。这样"外部化的总代价"就有了一个可观测的数字,而不是散落在个人感受里。

仿真机制

硬约束给足真实感:取件时间窗 [r, r+30]、逐段车载 ≤ 容量 C、不超班次窗 [0,480];城市 [0,100]²,速度 1 距离/分钟,每停靠 svc=2,每日 12 轮。

每轮匹配流程:到达批次 → 试指派(按 S 降序;方案取 Pain 最小,并列取 ΔMC 小)→ 转单优化(move/swap:仅未锁定、约束合规、总 S 不下降、总 Pain 严格下降)→ 按 S 降序定价锁定,失败流单。

观测指标:成交数、交易总额 ΣB、真实效用和 Σu、外部租金、补贴消耗 Σg、负效用履约者占比、高 S 流单量(S≥0.75)。

观察到的均衡变化

默认参数(seed=42,消费者 N=60,履约者 M=12,补贴池 300)下的典型结果:

  1. 两模式成交数接近——把 Pain 计入成本并没有显著牺牲交易量;
  2. FAIR 模式外部租金归零,履约者总效用更高;
  3. MONEY 模式出现负效用履约者,且集中在高 painCoef 群体——被外部化成本压出来的受损群体,在这里被显式识别出来,而不是停留在"总效用为正"的宏观叙事里。

第三条是整个实验最有价值的输出:宏观指标好看时,谁在买单,得有一个能定位到群体的工具。

工程形态:引擎与 UI 严格分层

技术上这是个 React 18 + TypeScript + Vite 的小项目(echarts 做图表),但结构上坚持了一条纪律——仿真内核与视图严格分层:

src/
├─ App.tsx / registry.ts        # 壳 + 算法注册表
├─ shared/                      # 复用层:rng、MetricCards/StepPlayer/CityMap/ChartPanel 等
└─ algorithms/experience-fair/
   ├─ engine/                   # 纯 TS 仿真内核(禁止 import React/DOM,可单测)
   ├─ ExperienceFairPanel.tsx   # 视图薄壳
   └─ index.ts                  # 注册
  • 引擎是纯 TypeScript,禁 import React/DOM,拆成 matcher / pricing / router / simulate / world 五个模块,每个都配了 vitest 单测;随机数走可注入种子的 rng,结果可复现;
  • Panel 只是组装 shared 组件的薄壳;新增一个算法 = 新建目录 + 在 registry 注册一行;
  • 回放粒度为"轮快照",轮内过程看事件日志;转单优化是贪心局部搜索(首改进,上限 200 次),非全局最优——这些限制都摆在明面上。

这套"内核可测、视图可换"的分层,和酒店 PMS 里"账务引擎与 UI 分层"是同一个思路,只是换了个领域。

小结

外部成本内部化不是道德口号,而是可以放进定价公式、跑出均衡、定位受损群体的一组机制设计。仿真给出的是受控环境下的方向性证据:在合理参数下,Pain 计入刚性成本,市场没有塌,只是不再有人隐性买单。

在线体验:算法实验室 TSP