案例 081 升级平台等级划不划

案例 081 升级平台等级划不划

摘要:连续 4 周日均 35 单可升金牌,派单优先级 +15%、月增收约 600 元;代价是每天多跑 4 单,4 周 112 单、按 3.2 元/单折 358.4 元。题面的账很好算:1800 除以 358.4,ROI 正好 5 倍。本案例把这笔账拆成三层。先是贴现:按月贴现 0.5% 重算,ROI 从 5.02 落到 4.97,只损失 17.9 元,3 个月的时间尺度太短,贴现改不了结论。再把"连续 4 周"变成概率:设周断签概率 \(p\)、达标概率 \(q=(1-p)^{4}\),用两阶段随机 MIP 重解,临界 \(p^{\ast}=33.0\%\),基准 8% 离阈值还有 25 个百分点。最后让"断了重来"进入模型:几何分布给出期望投入 5.58 周、期望净现值 1281.9 元,风险折价从 505 元降到 142 元。真正撬翻结论的是题面没写的两件事——金牌要不要每月维持(净现值掉到 281.3 元、临界 \(p\) 掉到 11.9%),以及 +15% 能不能兑现(兑现率门槛 20.1%)。

关键词:多期投资;净现值;两阶段随机规划;几何分布;临界断签率

1 问题提出

1.1 问题是什么

平台等级把骑手的账本切成两段:升级前日均 35 单、按普通优先级排队,升级后同样的在线时长能接到更多单。题面的数字很干净,按名义值算 \(1800/358.4=5.02\),是笔稳赚的买卖:

  • 达标条件:连续 4 周、日均 35 单,不能中断;
  • 升级收益:派单优先级 +15%,折月增收 600 元,持续 3 个月;
  • 升级成本:每天多跑 4 单,4 周 112 单,边际成本 3.2 元/单,合计 358.4 元。

题面在括号里补了一句"但前提是能连续 4 周不中断"。本案例就是把这句提醒展开成可计算的东西,并把"ROI 5 倍"这个数放回时间轴与概率空间里重新审视。

表 1 参数与派生量

量 取值 来源 备注
一个 4 周块成本 / 元 358.4 112 单 x 3.2 元 题面口径只投一次
月度增收 / 元 600 题面 派单优先级 +15%
收益持续 / 月 3 题面 第 4 月起归零
月贴现率 / % 0.5 年化 6% 折算 敏感性 0—3%
3 个月现值 / 元 1782.1 式 (3) 不贴现为 1800
维持成本 / 元 716.8 后两月各再投一块 题面未计

1.2 为什么要优化

第一,"1800 元"不是同一时点的钱。成本在第 1 个月就付掉,收益分 3 个月慢慢回来,把 3 笔 600 元直接相加,等于默认贴现率为零。换成月贴现 0.5%(年化约 6%),现值 1782.15 元,比名义值少 17.85 元。第二,"连续 4 周"是概率约束,不是一句提醒。只要每周有 8% 的概率断签(生病、暴雨、家里有事、被临时调站),4 周全过的概率只有 71.6%,期望收益立刻打七折。这个折扣能不能承受,得先算出临界 \(p\)。

第三,断了之后怎么办,决定了投资的风险结构;而成本口径决定了这笔投资到底值多少。断了就放弃,损失是全额 358.4 元;断了重来,损失只是已投进去的那几周,两种假设的期望净收益差 364 元,比成本本身还大。另一头,金牌是每月考核的等级,若日均掉回 35 以下就要重冲,那么"维持"本身也是一笔投入——题面把它当成了零。求解层面:模型只有 2 个 0-1 变量(\(z\) 冲级、\(\omega\) 维持)和最多 15 个连续变量,单次求解毫秒级,因此把参数扫描做密:断签概率 41 点、贴现率 25 点、单均成本 13 点、收益期 7 点、\(p\times\kappa\) 网格 20 点,合计 218 次 MIP,墙钟 2 s。临界值不靠解析式硬套,而是对 Gurobi 的目标值做二分,保证与模型口径一致;两种算法互校,差不到 0.1 个百分点。

2 数学模型

2.1 符号与目标

\(z\in\{0,1\}\) 是否投入冲级,\(\omega\in\{0,1\}\) 是否在收益期维持日均 35 单,\(y_{m}\) 第 \(m\) 月增收(元),\(y_{m,s}\) 场景 \(s\) 下第 \(m\) 月增收,\(r\) 月贴现率,\(\kappa\) 增收兑现率,\(p\) 周断签概率,\(q\) 4 周达标概率,\(\pi_{s}\) 场景概率,\(A_{s}\) 场景可用性(达标取 1、断签取 0)。题面的模型是一期投资,成本与收益都不折现:

\[\max_{z}\ \Pi_{0}(z)=3\cdot 600\,z-112\cdot 3.2\,z,\qquad z\in\{0,1\}\tag{1} \]

把 3 个月增收按月末贴现、成本留在期初,得到主模型(\(\mathrm{PV}_{3}=2.9702\) 为 3 期年金因子):

\[\max_{z}\ \Pi(z)=\sum_{m=1}^{3}\frac{600\,z}{(1+r)^{m}}-358.4\,z=\left(\mathrm{PV}_{3}-358.4\right)z\tag{2} \]

\[\mathrm{PV}_{3}=600\sum_{m=1}^{3}\frac{1}{(1+r)^{m}}=600\cdot\frac{1-(1+r)^{-3}}{r}\Big|_{r=0.005}=1782.15\tag{3} \]

注意 \(\mathrm{PV}_{3}/358.4=4.973\),比名义 ROI 只低 0.050——贴现因子在 3 个月尺度上几乎不起作用,第 4.1 节用图 2 核实。把断签写进期望,目标变成:

\[\max_{z}\ \mathbb{E}[\Pi]=q\,\kappa\,\mathrm{PV}_{3}\,z-358.4\,z,\qquad q=(1-p)^{4}\tag{4} \]

2.2 约束

收益依赖投入,这是题面唯一的约束 \(y_{m}\le 600z\)。加上风险场景与维持决策后,模型写成两阶段随机 MIP:

\[\max_{z,\omega}\ \sum_{s=0}^{4}\pi_{s}\sum_{m=1}^{3}\frac{y_{m,s}}{(1+r)^{m}}-358.4\,z-717.0\,\omega\tag{5} \]

\[y_{1,s}\le 600\kappa A_{s}z,\qquad y_{m,s}\le 600\kappa A_{s}\omega\ (m\ge 2),\qquad \omega\le z,\qquad z,\omega\in\{0,1\}\tag{6} \]

其中 \(\pi_{0}=q=(1-p)^{4}\)、\(\pi_{k}=p(1-p)^{k-1}\)(\(k=1,2,3,4\))、\(A_{0}=1\)、\(A_{k}=0\):\(\pi_{0}\) 是 4 周全过的概率,\(\pi_{k}\) 是第 \(k\) 周断签的概率(\(k=1\) 表示第 1 周就断),\(A_{s}\) 把断签场景的收益通道直接关掉;\(\omega\le z\) 保证"没冲上去就谈不上维持",\(\omega\) 每取 1 就多付 358.4 元。

规模与性质上看:2 个 0-1 变量、最多 15 个连续变量、16 条线性约束,属于"小到不需要 Gurobi、但正好用来把口径说清楚"的类型。关键性质是:给定 \((z,\omega)\),最优的 \(y\) 一定是角点解,于是目标可化为 \(q\,\kappa\,\mathrm{PV}_{3}(z+2\omega)-358.4z-717.0\omega\),四个组合一比较就能手算——这正是本案例用 Gurobi 交叉检验的意义。

3 Gurobi 求解实现

3.1 建模要点

pi = [q] + [p * (1 - p) ** (k - 1) for k in range(1, 5)]
z = m.addVar(vtype=GRB.BINARY); w = m.addVar(vtype=GRB.BINARY)
m.addConstr(w <= z)
for s in range(5):
    av = 1.0 if s == 0 else 0.0
    m.addConstr(y[0, s] <= 600 * kap * av * z)
    for mm in range(1, T):
        m.addConstr(y[mm, s] <= 600 * kap * av * w)
m.setObjective(gp.quicksum(pi[s] * V[mm + 1] * y[mm, s]
               for s in range(5) for mm in range(T))
               - cu * z - maint_cost * cu * (T - 1) * w, GRB.MAXIMIZE)

两个细节。一是概率必须归一:\(\pi\) 的 5 个分量和为 1,否则期望被系统性放大、临界 \(p\) 会虚高。二是"断了重来"不进 MIP——重试是无限期决策,写成场景会爆炸;改用几何分布解析处理(式 (9)),MIP 只负责"一次尝试"的期望,两者在 \(p^{\ast}\) 上给出一致答案,互为校验。

表 2 四种口径下的最优解($z^{\ast}$ 冲级、$\omega^{\ast}$ 维持)

口径 \(z^{\ast}\) \(\omega^{\ast}\) 净现值 / 元 ROI 临界 \(p^{\ast}\)
完全不投入 0 0 0.0 — —
题面口径(\(p=0\)) 1 1 1423.7 4.97 33.0%
题面口径(\(p=8\%\),断了重来) 1 1 1281.9 3.56 33.0%
维持口径(\(p=8\%\),断了重来) 1 1 281.3 1.19 11.9%

四个口径的对比已经能看出结论走向:题面口径 1423.7 元、含风险 1281.9 元、维持口径只剩 281.3 元。三个数都为正,安全边际却完全不同——这正是"划不划"不能只看 ROI 的原因。

4 结果与讨论

4.1 贴现:3 个月的账,贴现改不了结论

图 1 投入与三月增收的现金流:一次性 358.4 元换来 1800 元,累计净额 1441.6 元

图 2 贴现率从 0 拉到 3%/月,ROI 只从 5.02 掉到 4.74,气泡几乎不动

图 1 是全部现金流:期初 -358.4 元,之后每月 +600 元,累计净额 1441.6 元;名义 ROI 5.02,题面说的"5 倍"没错,错在把三个月的钱当同一天的钱。图 2 把月贴现率从 0 拉到 3%(年化 42%),ROI 只从 5.02 掉到 4.74,气泡(净现值)几乎没缩;要让 ROI 跌破 1,月贴现率得高到 158%,现实中不存在。结论一:贴现不是威胁,折现损失只有 17.85 元,占名义收益的 1.0%。

4.2 中断风险:临界断签率 33%,基准 8% 很安全

图 3 三种方案:断签风险把 1423.7 元折成 1281.9 元

升级的确定性口径 1423.7 元;引入 \(p=8\%\) 后 4 周达标概率 \(q=0.7164\),若断了就放弃,期望净现值掉到 918.3 元、风险折价 505.4 元;若断了重来,期望净现值 1281.9 元、折价只有 141.9 元。

临界值由式 (8) 给出:\(q^{\ast}=358.4/1782.15=0.2011\),\(p^{\ast}=1-0.2011^{1/4}=33.0\%\),Gurobi 二分得 33.0%,两者相差不到 0.1 个百分点。结论二:只要周断签概率低于 33% 这笔投资就划算,8% 的基准离阈值有 25 个百分点。题面担心的"脆弱"在原始参数下并不成立,它只在成本口径变化后才出现(第 4.5 节)。

4.3 重试:几何分布把风险成本压到 142 元

图 4 12 个月累计净额:确定性 1423.7、重试 1281.9、单次 918.3、维持 706.9 元

图 4 是 12 个月累计净额(贴现口径):确定性停在 1423.7 元,重试路径因成本按 \(1/q\) 放大停在 1281.9 元,单次尝试停在 918.3 元,维持成本口径只剩 706.9 元;四条线在第 3 月同时转平,说明这是"季度性"收益而非年金。结论三:重试把"全损"变成"多花几周",风险折价从 505 元降到 142 元。风险大小取决于断得起断不起,而不只是断的概率。

4.4 主灵敏度:断签概率与收益兑现率

图 5 断签概率 0—60% 扫描:临界点 33.0%,基准 8% 离阈值还有 25 个百分点

图 6 断签概率与兑现率的二维场:右侧高风险、左侧低兑现才会掉进“不划”区

图 5 是断签概率的单变量扫描:两条曲线都在临界点触零后平躺,那是模型主动选择 \(z=0\)、净现值归零而不是转负,这正是 MIP 与"硬算期望"的差别;达标概率以四次方衰减,\(p=30\%\) 时只剩 24.0%。图 6 把兑现率 \(\kappa\) 拉进来,20 个格点各解一次:左列(\(\kappa=8\%\))整列转红、模型一律选"不升级",本案星标落在 \(\kappa=1.0\)、\(p=8\%\) 处、净现值 918 元;若 15% 只兑现 8 个百分点(\(\kappa=0.533\))净现值 322.5 元,若"只有 8% 的增收真到账"(\(\kappa=0.08\))强制升级也只有 -256.3 元,模型直接选 \(z=0\)。结论四:兑现率门槛 \(\kappa^{\ast}=20.1\%\) 比断签阈值脆弱得多——收益端打两折就翻盘,风险端要 33% 才翻盘。

4.5 收益持续期、成本前沿与逐月拆解

图 7 收益持续月数拉到 7 个月,临界断签率从 12.0% 抬到 45.7%

图 8 单均成本前沿:维持口径 3.8 元/单打平,题面口径 11.4 元/单才打平

图 7 是第三维:金牌收益能撑几个月。\(T=1\) 时净现值 69.3 元、临界 \(p\) 只有 12.0%;\(T=3\) 时 918.3 元、33.0%;\(T=7\) 时 2591.2 元、45.7%——收益期越长,这笔钱越像"资产"而不是"赌一把"。图 8 反过来扫单均成本并强制 \(z=1\)、让曲线穿过零轴:题面口径要涨到 11.4 元/单才打平,维持口径 3.8 元/单就打平,本案 3.2 元只剩 0.6 元安全边际,阴影区是不可行域。结论五:最脆弱的变量是成本口径。若金牌需要每月维持,净现值从 1423.7 元掉到 281.3 元、ROI 从 4.97 掉到 1.66、临界断签率从 33.0% 掉到 11.9%——8% 的基准一下吃掉三分之二安全边际。

图 9 重试到成功所需周数:期望 5.58 周,8 周内完成 92.0%

图 10 逐月拆解:期望增收 429.8 元里,119.5 元是成本、306.1 元是净贡献

图 9 是重试的分布:达标块数服从参数 \(q\) 的几何分布,\(\mathbb{E}[N]=1/q=1.396\) 次,折期望投入周数 \(\mathbb{E}[W]=4/q=5.58\) 周(模拟 5.58 周);一次通过 71.6%,8 周内完成 92.0%,12 周内完成 97.7%。图 10 把每月的期望增收拆开:名义 600 元按 \(q=0.716\) 打折后 429.8 元,扣掉 119.5 元成本摊销,净贡献 306.1 元;三个月净贡献合计 918.3 元,与重试口径 1281.9 元的差额来自首次成本只付一次与逐月贴现。

5 结论

  1. 题面的 5 倍 ROI 算术没错,口径太窄。\(1800/358.4=5.02\);按月贴现 0.5% 后 1782/358=4.97,折现只吃掉 17.9 元。贴现不是威胁。

  2. 中断风险的临界值是周断签 33%。\(q^{\ast}=0.2011\)、\(p^{\ast}=33.0\%\),Gurobi 二分 33.0% 复核一致;基准 8% 对应 \(q=0.716\)、期望净现值 1281.9 元,安全边际约 25 个百分点。

  3. "断了重来"把风险成本从 505 元压到 142 元:单次尝试 918.3 元、重试 1281.9 元,期望投入 5.58 周,12 周内完成 97.7%。

  4. 兑现率比断签更脆弱,而"维持成本"才是真正的脆弱点:兑现率门槛 \(\kappa^{\ast}=20.1\%\),只兑现 8 个百分点还有 323 元、只兑现 8% 就是 -256 元。而若每月都要多跑 4 单/天,成本翻三倍到 1075.2 元,净现值 281.3 元、ROI 1.66、临界 \(p\) 掉到 11.9%。所以划不划的答案不是"划",而是"先问清维持成本,再算断签"。

参考文献

[1] Gurobi Optimization LLC. Gurobi Optimizer Reference Manual[Z]. 2024.

[2] 司守奎, 孙玺菁. 数学建模算法与应用[M]. 3 版. 北京: 国防工业出版社, 2021.

[3] Birge J R, Louveaux F. Introduction to Stochastic Programming[M]. 2nd ed. New York: Springer, 2011.

posted @ 2026-11-11 18:05  小青蛙电气  阅读(2)  评论(0)    收藏  举报