feat: 钉钉群聊飞书文档收集与知识图谱系统初始提交

- 通过悟空(dws CLI)拉取dc战略问题研究院+创新组两个群的消息(377条)
- 提取190个飞书链接、18个文件附件
- 下载HTML/MD/XLSX等报告文件到output/downloaded-files/
- 构建知识图谱(JSON+HTML可视化)
- 生成Obsidian知识库(28个页面,7大主题)
- 生成花园世界全量汇总报告
- 所有脚本路径改为相对路径,便于迁移
This commit is contained in:
Evilom
2026-06-02 20:24:25 +08:00
commit fe5505343e
77 changed files with 20155 additions and 0 deletions
@@ -0,0 +1,740 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>手游市场战略研究模型</title>
<style>
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
body {
font-family: -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif;
font-size: 15px;
line-height: 1.7;
color: #1a1a2e;
background: #f7f8fc;
}
/* ── Layout ── */
.page { max-width: 960px; margin: 0 auto; padding: 48px 32px 80px; }
/* ── Header ── */
.report-header {
background: linear-gradient(135deg, #1a1a2e 0%, #16213e 60%, #0f3460 100%);
color: #fff;
padding: 52px 48px 44px;
border-radius: 16px;
margin-bottom: 40px;
position: relative;
overflow: hidden;
}
.report-header::before {
content: '';
position: absolute; inset: 0;
background: radial-gradient(ellipse at 80% 50%, rgba(255,255,255,.06) 0%, transparent 60%);
}
.report-header h1 {
font-size: 28px; font-weight: 700; letter-spacing: .5px;
margin-bottom: 10px; position: relative;
}
.report-header .subtitle {
font-size: 14px; opacity: .65; position: relative;
}
.version-badge {
display: inline-block;
background: rgba(255,255,255,.15);
border: 1px solid rgba(255,255,255,.25);
color: #fff;
font-size: 12px; font-weight: 600;
padding: 3px 10px; border-radius: 20px;
margin-left: 12px; vertical-align: middle;
letter-spacing: .5px;
}
/* ── Section ── */
.section { margin-bottom: 44px; }
.section-title {
font-size: 19px; font-weight: 700;
color: #0f3460;
padding-bottom: 10px;
border-bottom: 2px solid #e2e8f4;
margin-bottom: 20px;
display: flex; align-items: center; gap: 10px;
}
.section-title .icon {
width: 28px; height: 28px;
background: #0f3460;
color: #fff;
border-radius: 7px;
display: flex; align-items: center; justify-content: center;
font-size: 13px; flex-shrink: 0;
}
h3 {
font-size: 15px; font-weight: 600; color: #16213e;
margin: 20px 0 10px;
}
/* ── Card grid ── */
.card-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.card {
background: #fff;
border: 1px solid #e2e8f4;
border-radius: 12px;
padding: 20px 22px;
}
.card.full { grid-column: 1 / -1; }
.card-label {
font-size: 11px; font-weight: 700; letter-spacing: 1px;
text-transform: uppercase; color: #6b7a99;
margin-bottom: 8px;
}
.card-value {
font-size: 22px; font-weight: 700; color: #0f3460;
}
.card-desc { font-size: 13px; color: #5a6484; margin-top: 4px; }
/* ── Tables ── */
table {
width: 100%;
border-collapse: collapse;
font-size: 14px;
background: #fff;
border-radius: 10px;
overflow: hidden;
box-shadow: 0 1px 4px rgba(0,0,0,.06);
}
th {
background: #f0f3fb;
color: #4a5568;
font-weight: 600;
font-size: 12px;
letter-spacing: .4px;
text-transform: uppercase;
padding: 10px 14px;
text-align: left;
border-bottom: 1px solid #e2e8f4;
}
td {
padding: 10px 14px;
border-bottom: 1px solid #f0f3fb;
vertical-align: middle;
}
tr:last-child td { border-bottom: none; }
tr:hover td { background: #fafbff; }
.num { text-align: right; font-variant-numeric: tabular-nums; }
/* ── Color tags ── */
.tag {
display: inline-block;
font-size: 11px; font-weight: 600;
padding: 2px 8px; border-radius: 12px;
white-space: nowrap;
}
.tag-blue { background: #e8f0fe; color: #1a56db; }
.tag-green { background: #e3f9e5; color: #1a7431; }
.tag-red { background: #fde8e8; color: #c53030; }
.tag-gray { background: #f0f3fb; color: #4a5568; }
.tag-orange{ background: #fff3e0; color: #b45309; }
/* ── Pos/neg values ── */
.pos { color: #1a7431; font-weight: 600; }
.neg { color: #c53030; font-weight: 600; }
.neu { color: #4a5568; }
/* ── Highlight box ── */
.highlight {
background: #fff8e1;
border-left: 4px solid #f59e0b;
border-radius: 0 10px 10px 0;
padding: 14px 18px;
margin: 16px 0;
font-size: 14px;
}
.highlight strong { color: #92400e; }
.note {
background: #f0f7ff;
border-left: 4px solid #3b82f6;
border-radius: 0 10px 10px 0;
padding: 12px 16px;
margin: 14px 0;
font-size: 13px;
color: #1e40af;
}
/* ── Mechanism cards ── */
.mech-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.mech-card {
background: #fff;
border: 1px solid #e2e8f4;
border-radius: 12px;
padding: 18px 20px;
border-top: 3px solid #0f3460;
}
.mech-card h4 {
font-size: 14px; font-weight: 700; color: #0f3460;
margin-bottom: 8px;
}
.mech-card p { font-size: 13px; color: #4a5568; line-height: 1.6; }
.mech-card .formula {
font-family: "SF Mono", "Fira Code", monospace;
font-size: 12px;
background: #f0f3fb;
padding: 6px 10px;
border-radius: 6px;
margin-top: 8px;
color: #2d3748;
word-break: break-all;
}
/* ── Strategy table ── */
.strat-name {
font-weight: 600; font-size: 14px;
}
.strat-dot {
width: 10px; height: 10px;
border-radius: 50%;
display: inline-block;
margin-right: 7px;
vertical-align: middle;
flex-shrink: 0;
}
/* ── Result table ── */
.winner-row td { background: #f0faf3 !important; }
.winner-row .strat-name { color: #1a7431; }
.utility-cell {
font-size: 15px; font-weight: 700;
}
/* ── Utility bar ── */
.bar-wrap { display: flex; align-items: center; gap: 8px; }
.bar {
height: 8px; border-radius: 4px;
background: #3b82f6;
min-width: 4px;
transition: width .3s;
}
.bar-neg { background: #ef4444; }
.bar-val { font-size: 13px; font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }
/* ── Conclusion box ── */
.conclusion {
background: linear-gradient(135deg, #0f3460, #16213e);
color: #fff;
border-radius: 14px;
padding: 32px 36px;
margin-top: 32px;
}
.conclusion h3 {
color: #fff; font-size: 18px; margin: 0 0 18px;
border-bottom: 1px solid rgba(255,255,255,.2);
padding-bottom: 12px;
}
.conclusion-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.con-item {
background: rgba(255,255,255,.08);
border: 1px solid rgba(255,255,255,.15);
border-radius: 10px;
padding: 16px 18px;
}
.con-item .goal { font-size: 11px; text-transform: uppercase; letter-spacing: .8px; opacity: .6; margin-bottom: 5px; }
.con-item .answer { font-size: 15px; font-weight: 700; color: #7dd3fc; }
.con-item .reason { font-size: 12px; opacity: .65; margin-top: 4px; }
/* ── Warning ── */
.caveat {
background: rgba(255,255,255,.05);
border: 1px solid rgba(255,165,0,.3);
border-radius: 8px;
padding: 12px 16px;
margin-top: 16px;
font-size: 13px;
opacity: .8;
}
.caveat strong { color: #fcd34d; }
/* ── Footer ── */
.footer {
margin-top: 56px;
text-align: center;
font-size: 12px;
color: #9aa3bf;
}
/* ── Responsive ── */
@media (max-width: 680px) {
.card-grid, .mech-grid, .conclusion-grid { grid-template-columns: 1fr; }
.report-header { padding: 32px 24px; }
.page { padding: 24px 16px 60px; }
}
</style>
</head>
<body>
<div class="page">
<!-- ══ Header ══════════════════════════════════════════════════════════════ -->
<div class="report-header">
<h1>手游市场战略研究模型 <span class="version-badge">v32</span></h1>
<p class="subtitle">基于 Agent-Based Simulation 的开发商与发行商策略演化分析 &nbsp;·&nbsp; 仿真周期 3050 年 &nbsp;·&nbsp; 10,000 家开发商 × 2,000 家发行商</p>
</div>
<!-- ══ 1. 研究问题 ══════════════════════════════════════════════════════════ -->
<div class="section">
<div class="section-title"><div class="icon">?</div>研究问题</div>
<p style="color:#4a5568;line-height:1.8;">
在一个存在<strong>学习效应、市场周期、产品类型分化、规模上限、动态分成</strong>的手游市场中,
开发商应该选择什么产品策略才能在长达 30 年的市场竞争中存活,并为进入者创造最大的期望收益?
</p>
<div class="note" style="margin-top:16px;">
<strong>核心指标:期望年化收益</strong> = 存活率 × 幸存者年化收益。
这是一个随机进入市场的参与者所能期望的真实年化回报——同时惩罚高淘汰率策略和低收益策略。
</div>
</div>
<!-- ══ 2. 市场结构 ══════════════════════════════════════════════════════════ -->
<div class="section">
<div class="section-title"><div class="icon">🏢</div>市场结构</div>
<div class="card-grid">
<div class="card">
<div class="card-label">开发商</div>
<div class="card-value">10,000 家</div>
<div class="card-desc">能力 AP ~ N(50, 20),截断至 [0, 100]<br>
稳定性 SD ~ N(20, 10),截断至 [1, 50]<br>
初始资金 ~ N(5C, 2.5C),最低 0.1C<br>
每年最多开发 1 款产品(固定,不允许并行)</div>
</div>
<div class="card">
<div class="card-label">发行商</div>
<div class="card-value">2,000 家</div>
<div class="card-desc">能力加成 pub_ability ~ N(3, 1),截断至 [1, 5]<br>
初始资金 ~ N(5C, 2.5C),最低 0.1C<br>
并行接单数由资金隐式决定(无硬上限)</div>
</div>
<div class="card">
<div class="card-label">市场进入与退出</div>
<div class="card-value full">动态补充</div>
<div class="card-desc">每年破产清算后补充缺口 × 50%,使总数向初始规模均值回归。
破产后永久退出,进行中的项目继续完成但收益归零。</div>
</div>
<div class="card">
<div class="card-label">破产门槛</div>
<div class="card-value">资金不足</div>
<div class="card-desc">
开发商:无活跃项目 且 资金 &lt; 下一款产品的开发商承担成本<br>
发行商:无活跃项目 且 资金 &lt; 0.5C</div>
</div>
</div>
</div>
<!-- ══ 3. 财务模型 ══════════════════════════════════════════════════════════ -->
<div class="section">
<div class="section-title"><div class="icon">💰</div>财务模型</div>
<h3>项目周期资金流</h3>
<table>
<thead><tr><th>时点</th><th>开发商</th><th>发行商</th></tr></thead>
<tbody>
<tr>
<td><strong>启动时</strong></td>
<td>扣除 cost × <strong>70%</strong></td>
<td>扣除 cost × <strong>30%</strong></td>
</tr>
<tr>
<td><strong>成功完成</strong>(质量 P ≥ Q=80</td>
<td>收回 cost×70% + <em>dev_split</em> × profit</td>
<td>收回 cost×30% + <em>(1dev_split)</em> × profit</td>
</tr>
<tr>
<td><strong>失败完成</strong>P &lt; Q</td>
<td>损失 cost×70%(不退还)</td>
<td>损失 cost×30%(不退还)</td>
</tr>
</tbody>
</table>
<div style="margin-top:14px;">
<span style="font-size:13px;color:#4a5568;">
利润公式:<code style="background:#f0f3fb;padding:2px 6px;border-radius:4px;">profit = (P 80) × 0.2 × rev_mult</code>
其中 <code style="background:#f0f3fb;padding:2px 6px;border-radius:4px;">P = clip(N(eff_AP, eff_SD) + pub_ability, 0, 100)</code>
</span>
</div>
<h3>产品类型</h3>
<table>
<thead><tr><th>类型</th><th>成本</th><th>AP 倍数</th><th>SD 倍数</th><th>特点</th></tr></thead>
<tbody>
<tr>
<td><span class="tag tag-gray">普通</span></td>
<td class="num">× 1 C</td><td class="num">× 1.0</td><td class="num">× 1.0</td>
<td>基准类型</td>
</tr>
<tr>
<td><span class="tag tag-blue">高投入</span></td>
<td class="num">× 2 C</td><td class="num">× 1.2</td><td class="num">× 0.7</td>
<td>高成本、高质量均值、低方差</td>
</tr>
<tr>
<td><span class="tag tag-orange">低投入</span></td>
<td class="num">× 0.5 C</td><td class="num">× 0.8</td><td class="num">× 1.5</td>
<td>低成本、低质量均值、高方差(高风险)</td>
</tr>
</tbody>
</table>
</div>
<!-- ══ 4. 核心机制 ══════════════════════════════════════════════════════════ -->
<div class="section">
<div class="section-title"><div class="icon"></div>四大核心机制</div>
<div class="mech-grid">
<div class="mech-card">
<h4>① 学习效应 + 遗忘</h4>
<p>同类型连续开发每年 AP 乘数 +1%;切换类型则乘数重置为 1.0(转型惩罚)。
每 5 年所有存活开发商的学习增量减半,防止无限复利,均衡稳态约 1.05–1.06×。</p>
<div class="formula">multiplier ← 1.0 + (multiplier 1.0) × 0.5 (每5年)</div>
</div>
<div class="mech-card">
<h4>② 市场红利(双层)</h4>
<p><strong>集中度红利</strong>:占比越低的类型 bonus 越高(上限 2.0×,下限 0.5×),奖励逆势进入。<br>
<strong>市场趋势冲击</strong>:每 5 年随机切换趋势类型,趋势类型额外 ×1.5。两信号叠乘,方向可能相反。</p>
<div class="formula">rev_mult = bonus[type] × (1.5 if trend else 1.0)</div>
</div>
<div class="mech-card">
<h4>③ 市场规模上限</h4>
<p>前 15 年为自由增长期,锁定历史最高年总利润为上限。
第 16 年起,若当年利润总和超出上限,等比压缩所有成功项目的利润部分(成本回款不受影响)。</p>
<div class="formula">scale = market_cap / total_revenue (超出时)</div>
</div>
<div class="mech-card">
<h4>④ 动态分成</h4>
<p>每年根据当前活跃项目的主流产品类型调整利润分成:高投入产品主流时开发商获6:4优势,低投入主流时发行商获6:4优势,均衡时5:5。</p>
<div class="formula">
高投入主流 → dev : pub = 6 : 4<br>
普通主流  → dev : pub = 5 : 5<br>
低投入主流 → dev : pub = 4 : 6
</div>
</div>
</div>
<div class="highlight" style="margin-top:20px;">
<strong>机制互动关键点:</strong>
专注高投入策略触发 6:4 分成 → 开发商利润增多 → 市场总利润更快超出上限 → 规模上限更早、更猛地压缩后期收益。
两个机制在高投入策略下形成"给了又收回"的抵消效应。
</div>
</div>
<!-- ══ 5. 策略选项 ══════════════════════════════════════════════════════════ -->
<div class="section">
<div class="section-title"><div class="icon">🎯</div>开发商策略选项</div>
<table>
<thead>
<tr>
<th>策略</th><th>决策频率</th><th>逻辑</th><th>学习乘数</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="strat-dot" style="background:#4e79a7;"></span><strong>专注普通</strong></td>
<td>不切换</td>
<td>始终开发普通产品</td>
<td><span class="tag tag-green">持续积累</span></td>
</tr>
<tr>
<td><span class="strat-dot" style="background:#2a9d8f;"></span><strong>专注高投入</strong></td>
<td>不切换</td>
<td>始终开发高投入产品,享受6:4分成</td>
<td><span class="tag tag-green">持续积累</span></td>
</tr>
<tr>
<td><span class="strat-dot" style="background:#f4a261;"></span><strong>专注低投入</strong></td>
<td>不切换</td>
<td>低成本高容错,但质量均值低</td>
<td><span class="tag tag-green">持续积累</span></td>
</tr>
<tr>
<td><span class="strat-dot" style="background:#e63946;"></span><strong>追逐红利</strong></td>
<td>每年</td>
<td>切换至当年 argmax(集中度红利 × 趋势),追逐最高 rev_mult</td>
<td><span class="tag tag-red">每年重置</span></td>
</tr>
<tr>
<td><span class="strat-dot" style="background:#ff9800;"></span><strong>跟随周期</strong></td>
<td>每5年</td>
<td>仅在市场趋势切换年(每5年)跟随新趋势类型,中间4年稳定积累</td>
<td><span class="tag tag-blue">5年积累后重置</span></td>
</tr>
</tbody>
</table>
</div>
<!-- ══ 6. 仿真结论 ══════════════════════════════════════════════════════════ -->
<div class="section">
<div class="section-title"><div class="icon">📊</div>仿真结论</div>
<p style="font-size:13px;color:#6b7a99;margin-bottom:16px;">
分析场景:开发商 2,000 家 × 发行商 400 家,仿真 30 年,3 个随机种子均值。
</p>
<table>
<thead>
<tr>
<th>策略</th>
<th class="num">dev 存活</th>
<th class="num">dev 年化</th>
<th class="num" style="background:#e8f5e9;">dev 期望年化↑</th>
<th class="num">pub 存活</th>
<th class="num">pub 年化</th>
<th class="num" style="background:#e8f5e9;">pub 期望年化↑</th>
<th>分成主态</th>
</tr>
</thead>
<tbody>
<!-- 跟随周期 winner -->
<tr class="winner-row">
<td><span class="strat-dot" style="background:#ff9800;"></span><span class="strat-name">跟随周期</span></td>
<td class="num">18.0%</td>
<td class="num pos">+4.11%</td>
<td class="num">
<div class="bar-wrap">
<div class="bar" style="width:70px;"></div>
<span class="bar-val pos">+0.701%</span>
</div>
</td>
<td class="num">66.6%</td>
<td class="num pos">+3.61%</td>
<td class="num">
<div class="bar-wrap">
<div class="bar" style="width:100px;background:#16a34a;"></div>
<span class="bar-val pos">+2.504%</span>
</div>
</td>
<td><span class="tag tag-blue">混合均衡</span></td>
</tr>
<!-- 专注高投入 -->
<tr>
<td><span class="strat-dot" style="background:#2a9d8f;"></span><span class="strat-name">专注高投入</span></td>
<td class="num">24.9%</td>
<td class="num pos">+2.93%</td>
<td class="num">
<div class="bar-wrap">
<div class="bar" style="width:66px;"></div>
<span class="bar-val pos">+0.658%</span>
</div>
</td>
<td class="num">81.1%</td>
<td class="num neg">6.68%</td>
<td class="num">
<div class="bar-wrap">
<div class="bar bar-neg" style="width:90px;"></div>
<span class="bar-val neg">5.420%</span>
</div>
</td>
<td><span class="tag tag-blue">6:496%</span></td>
</tr>
<!-- 追逐红利 -->
<tr>
<td><span class="strat-dot" style="background:#e63946;"></span><span class="strat-name">追逐红利</span></td>
<td class="num">14.1%</td>
<td class="num pos">+4.22%<sup>*</sup></td>
<td class="num">
<div class="bar-wrap">
<div class="bar" style="width:59px;"></div>
<span class="bar-val pos">+0.593%</span>
</div>
</td>
<td class="num">58.3%</td>
<td class="num neg">1.85%</td>
<td class="num">
<div class="bar-wrap">
<div class="bar bar-neg" style="width:18px;"></div>
<span class="bar-val neg">1.072%</span>
</div>
</td>
<td><span class="tag tag-gray">混合波动</span></td>
</tr>
<!-- 专注普通 -->
<tr>
<td><span class="strat-dot" style="background:#4e79a7;"></span><span class="strat-name">专注普通</span></td>
<td class="num">15.5%</td>
<td class="num pos">+3.43%</td>
<td class="num">
<div class="bar-wrap">
<div class="bar" style="width:53px;"></div>
<span class="bar-val pos">+0.537%</span>
</div>
</td>
<td class="num">65.3%</td>
<td class="num neg">3.15%</td>
<td class="num">
<div class="bar-wrap">
<div class="bar bar-neg" style="width:24px;"></div>
<span class="bar-val neg">1.482%</span>
</div>
</td>
<td><span class="tag tag-gray">5:5100%</span></td>
</tr>
<!-- 专注低投入 -->
<tr>
<td><span class="strat-dot" style="background:#f4a261;"></span><span class="strat-name">专注低投入</span></td>
<td class="num">28.9%</td>
<td class="num neu">0.02%</td>
<td class="num">
<div class="bar-wrap">
<div class="bar bar-neg" style="width:4px;"></div>
<span class="bar-val neu">0.006%</span>
</div>
</td>
<td class="num">93.4%</td>
<td class="num pos">+2.08%</td>
<td class="num">
<div class="bar-wrap">
<div class="bar" style="width:78px;background:#2563eb;"></div>
<span class="bar-val pos">+1.950%</span>
</div>
</td>
<td><span class="tag tag-orange">4:696%</span></td>
</tr>
</tbody>
</table>
<p style="font-size:12px;color:#9aa3bf;margin-top:8px;">
* 追逐红利的幸存者年化(+4.22%)受聚集型破产导致的幸存者偏差影响虚高;期望年化(+0.593%)为真实效用。
</p>
<h3 style="margin-top:28px;">各策略50年演化轨迹(主场景,seed=42)</h3>
<table>
<thead>
<tr>
<th>策略</th>
<th class="num">年50 开发商AP</th>
<th class="num">年50 学习乘数</th>
<th class="num">年50 市场压缩</th>
<th class="num">幸存者资本</th>
<th>市场上限首次触发</th>
</tr>
</thead>
<tbody>
<tr class="winner-row">
<td><span class="strat-dot" style="background:#ff9800;"></span><strong>跟随周期</strong></td>
<td class="num">72.1</td>
<td class="num">1.001</td>
<td class="num pos">1.000 × <small>(未压缩)</small></td>
<td class="num"><strong>35.7 C</strong></td>
<td>第 21 年</td>
</tr>
<tr>
<td><span class="strat-dot" style="background:#2a9d8f;"></span>专注高投入</td>
<td class="num"><strong>85.0</strong></td>
<td class="num">1.054</td>
<td class="num neg">0.333 × <small>(打三折)</small></td>
<td class="num">26.8 C</td>
<td>第 20 年</td>
</tr>
<tr>
<td><span class="strat-dot" style="background:#e63946;"></span>追逐红利</td>
<td class="num">70.3</td>
<td class="num">1.000</td>
<td class="num neg">0.665 ×</td>
<td class="num">23.4 C</td>
<td>第 16 年</td>
</tr>
<tr>
<td><span class="strat-dot" style="background:#4e79a7;"></span>专注普通</td>
<td class="num">69.6</td>
<td class="num">1.045</td>
<td class="num">0.712 ×</td>
<td class="num">24.6 C</td>
<td>第 25 年</td>
</tr>
<tr>
<td><span class="strat-dot" style="background:#f4a261;"></span>专注低投入</td>
<td class="num">55.2</td>
<td class="num">1.048</td>
<td class="num pos">0.945 ×</td>
<td class="num">7.4 C</td>
<td>第 40 年</td>
</tr>
</tbody>
</table>
</div>
<!-- ══ 7. 核心发现 ══════════════════════════════════════════════════════════ -->
<div class="section">
<div class="section-title"><div class="icon">💡</div>核心发现</div>
<div class="mech-grid" style="margin-bottom:16px;">
<div class="mech-card" style="border-top-color:#ff9800;">
<h4>跟随周期:唯一双边共赢策略</h4>
<p>dev 期望 <strong>+0.701%</strong>pub 期望 <strong>+2.504%</strong>,两侧均正。
50 年末幸存者资本 35.7C 为全场最高。
每5年切换使分成在三档间轮转,平均趋近5:5,规模上限全程近乎不触发。</p>
</div>
<div class="mech-card" style="border-top-color:#2a9d8f;">
<h4>专注高投入:开发商个体最优,发行商深亏</h4>
<p>6:4 分成将 dev 存活率推至 <strong>24.9%</strong>,但同时令市场利润更快超出上限——
年 50 时收入仅剩 <strong>0.33×</strong>。发行商期望 <strong>5.42%</strong>,长期无法维持。</p>
</div>
<div class="mech-card" style="border-top-color:#e63946;">
<h4>追逐红利:幸存者偏差陷阱</h4>
<p>幸存者年化(+4.22%)看似最高,实为假象:羊群效应导致聚集型破产,
批量死亡在均值资本中制造统计跳升。期望年化仅 <strong>+0.593%</strong>,排第三。</p>
</div>
<div class="mech-card" style="border-top-color:#f4a261;">
<h4>专注低投入:高存活,但接近零效用</h4>
<p>dev 存活率最高(28.9%),发行商存活率高达 93.4%。
然而 dev 期望仅 <strong>0.006%</strong>,为勉强收支平衡的维持型路线。
市场规模压制最轻,属保守仓位而非成长策略。</p>
</div>
</div>
<div class="highlight">
<strong>机制权衡:</strong>
专注高投入的"6:4 分成优势"与"规模上限反噬"相互抵消——高投入利润越多,规模上限触发越早越猛,
反而令50年末幸存者资本(26.8C)低于跟随周期(35.7C)。
没有一种专一策略能同时绕开这两重约束。
</div>
</div>
<!-- ══ 8. 策略建议 ══════════════════════════════════════════════════════════ -->
<div class="conclusion">
<h3>策略建议(以期望年化为主要指标)</h3>
<div class="conclusion-grid">
<div class="con-item">
<div class="goal">双边市场健康(dev + pub</div>
<div class="answer">跟随周期</div>
<div class="reason">唯一双边期望均正,50年末资本最高</div>
</div>
<div class="con-item">
<div class="goal">最大化开发商 dev 期望收益</div>
<div class="answer">跟随周期 +0.701%</div>
<div class="reason">其次专注高投入 +0.658%</div>
</div>
<div class="con-item">
<div class="goal">最大化发行商 pub 期望收益</div>
<div class="answer">跟随周期 +2.504%</div>
<div class="reason">其次专注低投入 +1.950%</div>
</div>
<div class="con-item">
<div class="goal">最大化开发商存活率(不计收益)</div>
<div class="answer">专注低投入 28.9%</div>
<div class="reason">低破产门槛,但期望收益近零</div>
</div>
</div>
<div class="caveat">
<strong>注意:</strong>
追逐红利的幸存者年化(+4.22%)并非真实效用——大多数参与者在赚到利润前就已破产(仅14.1%存活)。
期望年化(+0.593%)才是对随机进入者有意义的指标,追逐红利在此指标下排第三。
</div>
</div>
<!-- ══ Footer ══════════════════════════════════════════════════════════════ -->
<div class="footer">
手游市场战略研究模型 v32 &nbsp;·&nbsp; Agent-Based Simulation &nbsp;·&nbsp; simulation.py
</div>
</div>
</body>
</html>