fe5505343e
- 通过悟空(dws CLI)拉取dc战略问题研究院+创新组两个群的消息(377条) - 提取190个飞书链接、18个文件附件 - 下载HTML/MD/XLSX等报告文件到output/downloaded-files/ - 构建知识图谱(JSON+HTML可视化) - 生成Obsidian知识库(28个页面,7大主题) - 生成花园世界全量汇总报告 - 所有脚本路径改为相对路径,便于迁移
741 lines
28 KiB
HTML
741 lines
28 KiB
HTML
<!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 的开发商与发行商策略演化分析 · 仿真周期 30–50 年 · 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">
|
||
开发商:无活跃项目 且 资金 < 下一款产品的开发商承担成本<br>
|
||
发行商:无活跃项目 且 资金 < 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>(1−dev_split)</em> × profit</td>
|
||
</tr>
|
||
<tr>
|
||
<td><strong>失败完成</strong>(P < 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:4(96%)</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:5(100%)</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:6(96%)</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 · Agent-Based Simulation · simulation.py
|
||
</div>
|
||
|
||
</div>
|
||
</body>
|
||
</html>
|