# TapADN 智能预加载策略验收报告(含随机偏好机器人 + 网络环境) ## 仿真前提 - 模型定位:IAA 场景中 3 类广告位(激励/开屏/插屏)统一参与策略决策。 - 次留默认验收基线:35% - 随机机器人数量:5000 - 场景进入->展示请求->预加载决策->展示时延为核心链路。 - 每次样本运行前先生成一批“偏好机器人”,再在其上分别运行:纯手动(无 smart)与智能预加载两种模式。 - 预加载触发后在 cooldown 内有效一次,不命中将视作普通 load。 - `Immediate`:请求时已命中可直接播放的占比(值越高越好) - `Waste`:预加载后在 cooldown 内未被消费即失效的比例(值越低越好) - 网络环境:Wi-Fi / 4G / 3G / 2G 按机器人偏好加权采样,逐回合独立变化。 ## 机器人与网络设置 - 机器人类型:随机采样以下偏好族(reward_heavy、interstitial_focus、splash_driven、balanced、churn_sensitive、network_bound)。 - 每类机器人具有独立的场景进入偏好、请求偏好、fill 成功倍率、加载时延倍率和留存倍率。 - 网络环境以会话粒度采样,低网速会同步影响网络请求率、fill 成功率和加载耗时。 ## 参数扫描范围 - Threshold: `0.20~0.90` 步长 0.05 - Cooldown: `30,60,90,120,180,240,300` - 次留:`20%,25%,30%,35%,40%,50%,60%` ## 基线对照 - 次留 35% 基线(纯手动,无 smart)即时命中率:0.00% - 次留 35% 基线平均时延:1615 ms(p95 2913) - 次留 35% 建议起点(当前模型):`threshold=0.25, cooldown=30s` - 对比基线即时命中提升:`38.09%` - 对比基线时延变化:`-565 ms` - 平衡候选(Waste<=12%): - threshold=0.25, cd=60s,Immediate 25.12%,Waste 4.88% ## 最优/最差(次留=35%) | 排名 | Threshold | Cooldown | 即时命中率 | 平均等待 | P95等待 | 浪费率 | 播放成功率 | |---|---:|---:|---:|---:|---:|---:|---:| | 1 | 0.25 | 30 | 38.09% | 1050 | 2787 | 14.03% | 81.35% | | 2 | 0.20 | 30 | 36.65% | 1073 | 2790 | 13.96% | 81.35% | | 3 | 0.25 | 60 | 25.12% | 1234 | 2774 | 4.88% | 77.96% | | 4 | 0.20 | 60 | 24.81% | 1242 | 2830 | 6.75% | 77.45% | | 5 | 0.30 | 30 | 24.65% | 1285 | 2894 | 7.73% | 77.79% | | 6 | 0.30 | 60 | 24.56% | 1239 | 2812 | 5.76% | 77.61% | | 7 | 0.35 | 30 | 23.05% | 1318 | 2895 | 5.44% | 77.58% | | 8 | 0.50 | 30 | 22.96% | 1320 | 2893 | 4.99% | 77.54% | ### 最差 8 组 | 排名 | Threshold | Cooldown | 即时命中率 | 平均等待 | P95等待 | 浪费率 | 播放成功率 | |---|---:|---:|---:|---:|---:|---:|---:| | 1 | 0.90 | 300 | 0.00% | 1629 | 2924 | 0.00% | 70.55% | | 2 | 0.90 | 240 | 0.00% | 1630 | 2899 | 0.00% | 70.09% | | 3 | 0.90 | 180 | 0.00% | 1622 | 2907 | 0.00% | 70.60% | | 4 | 0.90 | 120 | 0.00% | 1633 | 2943 | 0.00% | 70.51% | | 5 | 0.90 | 90 | 0.00% | 1637 | 2963 | 0.00% | 70.84% | | 6 | 0.90 | 60 | 0.00% | 1628 | 2863 | 0.00% | 70.72% | | 7 | 0.90 | 30 | 0.00% | 1627 | 2933 | 0.00% | 69.52% | | 8 | 0.85 | 300 | 0.00% | 1623 | 2910 | 0.00% | 70.69% | ## 与纯手动模式对比(次留35%) - 纯手动:Immediate `0.00%`,AvgWait `1615`ms,Waste `0.00%`。 - smart 最优:阈值 `0.25`,cd `30`,Immediate `38.09%`,AvgWait `1050`ms,Waste `14.03%`。 - 增益:`38.09%`。 ### 网络分层对比(次留35%) - WIFI:手动即时 `0.00%` / 等待 `1248ms`;智能(`threshold=0.25, cd=30s`)即时 `40.13%` / 等待 `767ms`;提升 `40.13%`。 - 4G:手动即时 `0.00%` / 等待 `1601ms`;智能(`threshold=0.25, cd=30s`)即时 `39.66%` / 等待 `1003ms`;提升 `39.66%`。 - 3G:手动即时 `0.00%` / 等待 `2165ms`;智能(`threshold=0.20, cd=30s`)即时 `32.64%` / 等待 `1498ms`;提升 `32.64%`。 - 2G:手动即时 `0.00%` / 等待 `3044ms`;智能(`threshold=0.25, cd=30s`)即时 `32.06%` / 等待 `2116ms`;提升 `32.06%`。 ## 次留敏感度(35%基线) - 次留 20%:手动基线时延 1618ms,智能最佳 `threshold=0.20, cd=30s`,最佳 Immediate 38.69%,Waste 13.14%;最差 `threshold=0.90, cd=300s`,Immediate 0.00%,Waste 0.00%。 - 次留 25%:手动基线时延 1641ms,智能最佳 `threshold=0.20, cd=30s`,最佳 Immediate 37.52%,Waste 14.16%;最差 `threshold=0.90, cd=300s`,Immediate 0.00%,Waste 0.00%。 - 次留 30%:手动基线时延 1629ms,智能最佳 `threshold=0.20, cd=30s`,最佳 Immediate 37.42%,Waste 13.33%;最差 `threshold=0.90, cd=300s`,Immediate 0.00%,Waste 0.00%。 - 次留 35%:手动基线时延 1615ms,智能最佳 `threshold=0.25, cd=30s`,最佳 Immediate 38.09%,Waste 14.03%;最差 `threshold=0.90, cd=300s`,Immediate 0.00%,Waste 0.00%。 - 次留 40%:手动基线时延 1617ms,智能最佳 `threshold=0.20, cd=30s`,最佳 Immediate 38.05%,Waste 13.64%;最差 `threshold=0.90, cd=300s`,Immediate 0.00%,Waste 0.00%。 - 次留 50%:手动基线时延 1618ms,智能最佳 `threshold=0.25, cd=30s`,最佳 Immediate 38.02%,Waste 14.06%;最差 `threshold=0.90, cd=300s`,Immediate 0.00%,Waste 0.00%。 - 次留 60%:手动基线时延 1619ms,智能最佳 `threshold=0.25, cd=30s`,最佳 Immediate 38.01%,Waste 14.88%;最差 `threshold=0.90, cd=300s`,Immediate 0.00%,Waste 0.00%。 ## 交叉参数观察 - 在同一保留率下,阈值下调能显著提高 `Immediate`,但通常也抬高 `Waste`。 - cooldown 拉长可降低 waste(减少重复预加载/空耗),但可能提高用户等待。 - 在弱网(尤其低分配机器人更多时)场景,建议提高 waste 上限约束后再考虑 lower threshold。 ## 图表示例(输出文件) - `heatmap_immediate_r_0.20.png` ![](heatmap_immediate_r_0.20.png) - `heatmap_immediate_r_0.35.png` ![](heatmap_immediate_r_0.35.png) - `heatmap_immediate_r_0.60.png` ![](heatmap_immediate_r_0.60.png) - `heatmap_preload_success_r_0.20.png` ![](heatmap_preload_success_r_0.20.png) - `heatmap_preload_success_r_0.35.png` ![](heatmap_preload_success_r_0.35.png) - `heatmap_preload_success_r_0.60.png` ![](heatmap_preload_success_r_0.60.png) - `heatmap_wait_ms_r_0.20.png` ![](heatmap_wait_ms_r_0.20.png) - `heatmap_wait_ms_r_0.35.png` ![](heatmap_wait_ms_r_0.35.png) - `heatmap_wait_ms_r_0.60.png` ![](heatmap_wait_ms_r_0.60.png) - `heatmap_waste_ratio_r_0.20.png` ![](heatmap_waste_ratio_r_0.20.png) - `heatmap_waste_ratio_r_0.35.png` ![](heatmap_waste_ratio_r_0.35.png) - `heatmap_waste_ratio_r_0.60.png` ![](heatmap_waste_ratio_r_0.60.png) - `line_immediate_vs_retention.png` ![](line_immediate_vs_retention.png) - `line_mode_immediate_vs_retention.png` ![](line_mode_immediate_vs_retention.png) - `line_mode_wait_vs_retention.png` ![](line_mode_wait_vs_retention.png) - `line_network_immediate_vs_retention.png` ![](line_network_immediate_vs_retention.png) - `line_network_wait_vs_retention.png` ![](line_network_wait_vs_retention.png) - `line_threshold_0.55_retention_0.20.png` ![](line_threshold_0.55_retention_0.20.png) - `line_threshold_0.55_retention_0.25.png` ![](line_threshold_0.55_retention_0.25.png) - `line_threshold_0.55_retention_0.30.png` ![](line_threshold_0.55_retention_0.30.png) - `line_threshold_0.55_retention_0.35.png` ![](line_threshold_0.55_retention_0.35.png) - `line_threshold_0.55_retention_0.40.png` ![](line_threshold_0.55_retention_0.40.png) - `line_threshold_0.55_retention_0.50.png` ![](line_threshold_0.55_retention_0.50.png) - `line_threshold_0.55_retention_0.60.png` ![](line_threshold_0.55_retention_0.60.png) - `line_wait_vs_retention.png` ![](line_wait_vs_retention.png) ## 验收结论 - 建议首轮灰度点:`threshold=0.25`, `cooldown=60s`(兼顾即时性与 waste)。 - 次留 35% 下智能策略最佳立即命中来自 `threshold=0.25, cd=30s`,即时率 `38.09%`,Waste `14.03%`。 - 建议将 `smart_preload` 配置作为实验变量:先以纯手动为对照,再按次留分层和网络监控逐步放量。