玩家档案数据全面分析与重组方案
文档日期: 2026-01-28
适用范围: YRTV Player Profile System
版本: v1.0
目录
- 完整数据清单
- 当前问题分析
- 重组方案
- Schema优化建议
- 实施计划
1. 完整数据清单
1.1 数据仪表板区域 (Dashboard - Top Section)
| 显示标签 |
指标键 |
计算方法 |
L3列名 |
L2来源表 |
UI位置 |
| Rating (评分) |
basic_avg_rating |
AVG(rating) |
basic_avg_rating |
fact_match_players.rating |
Dashboard Card 1 |
| K/D Ratio (击杀比) |
basic_avg_kd |
AVG(kd_ratio) |
basic_avg_kd |
fact_match_players.kd_ratio |
Dashboard Card 2 |
| ADR (场均伤害) |
basic_avg_adr |
AVG(adr) |
basic_avg_adr |
fact_match_players.adr |
Dashboard Card 3 |
| KAST (贡献率) |
basic_avg_kast |
AVG(kast) |
basic_avg_kast |
fact_match_players.kast |
Dashboard Card 4 |
1.2 图表区域 (Charts Section)
1.2.1 六维雷达图 (Radar Chart)
| 维度名称 |
指标键 |
计算方法 |
L3列名 |
UI位置 |
| Aim (BAT) |
score_bat |
加权标准化: 25% Rating + 20% KD + 15% ADR + 10% DuelWin + 10% HighEloKD + 20% 3K |
score_bat |
Radar Axis 1 |
| Clutch (HPS) |
score_hps |
加权标准化: 25% 1v3+ + 20% MatchPtWin + 20% ComebackKD + 15% PressureEntry + 20% Rating |
score_hps |
Radar Axis 2 |
| Pistol (PTL) |
score_ptl |
加权标准化: 30% PistolKills + 30% PistolWin + 20% PistolKD + 20% PistolUtil |
score_ptl |
Radar Axis 3 |
| Defense (SIDE) |
score_tct |
加权标准化: 35% CT_Rating + 35% T_Rating + 15% CT_FK + 15% T_FK |
score_tct |
Radar Axis 4 |
| Util (UTIL) |
score_util |
加权标准化: 35% UsageRate + 25% NadeDmg + 20% FlashTime + 20% FlashEnemy |
score_util |
Radar Axis 5 |
| Stability (STA) |
score_sta |
加权标准化: 30% (100-Volatility) + 30% LossRating + 20% WinRating + 10% TimeCorr |
score_sta |
Radar Axis 6 |
| Economy (ECO) |
score_eco |
加权标准化: 50% Dmg/$1k + 50% EcoKPR |
score_eco |
Radar Axis 7 |
| Pace (PACE) |
score_pace |
加权标准化: 50% (100-FirstContactTime) + 50% TradeKillRate |
score_pace |
Radar Axis 8 |
1.2.2 趋势图 (Trend Chart)
| 数据项 |
来源 |
计算方法 |
UI位置 |
| Rating走势 |
L2: fact_match_players |
按时间排序的rating值(最近20场) |
Line Chart - Main Data |
| Carry线(1.5) |
静态基准线 |
固定值 1.5 |
Line Chart - Reference |
| Normal线(1.0) |
静态基准线 |
固定值 1.0 |
Line Chart - Reference |
| Poor线(0.6) |
静态基准线 |
固定值 0.6 |
Line Chart - Reference |
1.3 详细数据面板 (Detailed Stats Panel)
1.3.1 核心性能指标 (Core Performance)
| 显示标签 |
指标键 |
计算方法 |
L3列名 |
L2来源 |
UI行位置 |
| Rating (评分) |
basic_avg_rating |
AVG(rating) |
basic_avg_rating |
fact_match_players.rating |
Row 1, Col 1 |
| KD Ratio (击杀比) |
basic_avg_kd |
AVG(kd_ratio) |
basic_avg_kd |
fact_match_players.kd_ratio |
Row 1, Col 2 |
| KAST (贡献率) |
basic_avg_kast |
AVG(kast) |
basic_avg_kast |
fact_match_players.kast |
Row 1, Col 3 |
| RWS (每局得分) |
basic_avg_rws |
AVG(rws) |
basic_avg_rws |
fact_match_players.rws |
Row 1, Col 4 |
| ADR (场均伤害) |
basic_avg_adr |
AVG(adr) |
basic_avg_adr |
fact_match_players.adr |
Row 1, Col 5 |
1.3.2 枪法与战斗能力 (Gunfight)
| 显示标签 |
指标键 |
计算方法 |
L3列名 |
L2来源 |
UI行位置 |
| Avg HS (场均爆头) |
basic_avg_headshot_kills |
SUM(headshot_count) / matches |
basic_avg_headshot_kills |
fact_match_players.headshot_count |
Row 2, Col 1 |
| HS Rate (爆头率) |
basic_headshot_rate |
SUM(headshot_count) / SUM(kills) |
basic_headshot_rate |
fact_match_players.headshot_count, kills |
Row 2, Col 2 |
| Assists (场均助攻) |
basic_avg_assisted_kill |
SUM(assisted_kill) / matches |
basic_avg_assisted_kill |
fact_match_players.assisted_kill |
Row 2, Col 3 |
| AWP Kills (狙击击杀) |
basic_avg_awp_kill |
SUM(awp_kill) / matches |
basic_avg_awp_kill |
fact_match_players.awp_kill |
Row 2, Col 4 |
| Jumps (场均跳跃) |
basic_avg_jump_count |
SUM(jump_count) / matches |
basic_avg_jump_count |
fact_match_players.jump_count |
Row 2, Col 5 |
| Knife Kills (场均刀杀) |
basic_avg_knife_kill |
COUNT(knife_kills) / matches |
basic_avg_knife_kill |
fact_round_events (weapon=knife) |
Row 2, Col 6 |
| Zeus Kills (电击枪杀) |
basic_avg_zeus_kill |
COUNT(zeus_kills) / matches |
basic_avg_zeus_kill |
fact_round_events (weapon=zeus) |
Row 2, Col 7 |
| Zeus Buy% (起电击枪) |
basic_zeus_pick_rate |
AVG(has_zeus) |
basic_zeus_pick_rate |
fact_round_player_economy.has_zeus |
Row 2, Col 8 |
1.3.3 目标控制 (Objective)
| 显示标签 |
指标键 |
计算方法 |
L3列名 |
L2来源 |
UI行位置 |
| MVP (最有价值) |
basic_avg_mvps |
SUM(mvp_count) / matches |
basic_avg_mvps |
fact_match_players.mvp_count |
Row 3, Col 1 |
| Plants (下包) |
basic_avg_plants |
SUM(planted_bomb) / matches |
basic_avg_plants |
fact_match_players.planted_bomb |
Row 3, Col 2 |
| Defuses (拆包) |
basic_avg_defuses |
SUM(defused_bomb) / matches |
basic_avg_defuses |
fact_match_players.defused_bomb |
Row 3, Col 3 |
| Flash Assist (闪光助攻) |
basic_avg_flash_assists |
SUM(flash_assists) / matches |
basic_avg_flash_assists |
fact_match_players.flash_assists |
Row 3, Col 4 |
1.3.4 开局能力 (Opening Impact)
| 显示标签 |
指标键 |
计算方法 |
L3列名 |
L2来源 |
UI行位置 |
| First Kill (场均首杀) |
basic_avg_first_kill |
SUM(first_kill) / matches |
basic_avg_first_kill |
fact_match_players.first_kill |
Row 4, Col 1 |
| First Death (场均首死) |
basic_avg_first_death |
SUM(first_death) / matches |
basic_avg_first_death |
fact_match_players.first_death |
Row 4, Col 2 |
| FK Rate (首杀率) |
basic_first_kill_rate |
FK / (FK + FD) |
basic_first_kill_rate |
Calculated from FK/FD |
Row 4, Col 3 |
| FD Rate (首死率) |
basic_first_death_rate |
FD / (FK + FD) |
basic_first_death_rate |
Calculated from FK/FD |
Row 4, Col 4 |
1.3.5 多杀表现 (Multi-Frag Performance)
| 显示标签 |
指标键 |
计算方法 |
L3列名 |
L2来源 |
UI行位置 |
| 2K Rounds (双杀) |
basic_avg_kill_2 |
SUM(kill_2) / matches |
basic_avg_kill_2 |
fact_match_players.kill_2 |
Row 5, Col 1 |
| 3K Rounds (三杀) |
basic_avg_kill_3 |
SUM(kill_3) / matches |
basic_avg_kill_3 |
fact_match_players.kill_3 |
Row 5, Col 2 |
| 4K Rounds (四杀) |
basic_avg_kill_4 |
SUM(kill_4) / matches |
basic_avg_kill_4 |
fact_match_players.kill_4 |
Row 5, Col 3 |
| 5K Rounds (五杀) |
basic_avg_kill_5 |
SUM(kill_5) / matches |
basic_avg_kill_5 |
fact_match_players.kill_5 |
Row 5, Col 4 |
1.3.6 特殊击杀 (Special Stats)
| 显示标签 |
指标键 |
计算方法 |
L3列名 |
L2来源 |
UI行位置 |
| Perfect Kills (无伤杀) |
basic_avg_perfect_kill |
SUM(perfect_kill) / matches |
basic_avg_perfect_kill |
fact_match_players.perfect_kill |
Row 6, Col 1 |
| Revenge Kills (复仇杀) |
basic_avg_revenge_kill |
SUM(revenge_kill) / matches |
basic_avg_revenge_kill |
fact_match_players.revenge_kill |
Row 6, Col 2 |
| 交火补枪率 |
trade_kill_percentage |
TradeKills / TotalKills * 100 |
N/A (计算自L2) |
fact_round_events (self-join) |
Row 6, Col 3 |
1.4 特殊击杀与时机分析 (Special Kills & Timing)
1.4.1 战术智商击杀 (Special Kill Scenarios)
| 显示标签 |
指标键 |
计算方法 |
L3列名 |
L2来源 |
UI位置 |
| Wallbang Kills (穿墙) |
special_wallbang_kills |
COUNT(is_wallbang=1) |
special_wallbang_kills |
fact_round_events.is_wallbang |
Special Grid 1 |
| Wallbang Rate (穿墙率) |
special_wallbang_rate |
WallbangKills / TotalKills |
special_wallbang_rate |
Calculated |
Special Grid 2 |
| Smoke Kills (穿烟) |
special_smoke_kills |
COUNT(is_through_smoke=1) |
special_smoke_kills |
fact_round_events.is_through_smoke |
Special Grid 3 |
| Smoke Kill Rate (穿烟率) |
special_smoke_kill_rate |
SmokeKills / TotalKills |
special_smoke_kill_rate |
Calculated |
Special Grid 4 |
| Blind Kills (致盲击杀) |
special_blind_kills |
COUNT(is_blind=1) |
special_blind_kills |
fact_round_events.is_blind |
Special Grid 5 |
| Blind Kill Rate (致盲率) |
special_blind_kill_rate |
BlindKills / TotalKills |
special_blind_kill_rate |
Calculated |
Special Grid 6 |
| NoScope Kills (盲狙) |
special_noscope_kills |
COUNT(is_noscope=1) |
special_noscope_kills |
fact_round_events.is_noscope |
Special Grid 7 |
| NoScope Rate (盲狙率) |
special_noscope_rate |
NoScopeKills / AWPKills |
special_noscope_rate |
Calculated |
Special Grid 8 |
| High IQ Score (智商评分) |
special_high_iq_score |
加权评分(0-100): Wallbang3 + Smoke2 + Blind1.5 + NoScope2 |
special_high_iq_score |
Calculated |
Special Grid 9 |
1.4.2 回合节奏分析 (Round Timing Analysis)
| 显示标签 |
指标键 |
计算方法 |
L3列名 |
L2来源 |
UI位置 |
| Early Kills (前30s) |
timing_early_kills |
COUNT(event_time < 30) |
timing_early_kills |
fact_round_events.event_time |
Timing Grid 1 |
| Mid Kills (30-60s) |
timing_mid_kills |
COUNT(30 <= event_time < 60) |
timing_mid_kills |
fact_round_events.event_time |
Timing Grid 2 |
| Late Kills (60s+) |
timing_late_kills |
COUNT(event_time >= 60) |
timing_late_kills |
fact_round_events.event_time |
Timing Grid 3 |
| Avg Kill Time (平均击杀时间) |
timing_avg_kill_time |
AVG(event_time) for kills |
timing_avg_kill_time |
fact_round_events.event_time |
Timing Grid 4 |
| Early Aggression (前期进攻) |
timing_early_aggression_rate |
EarlyKills / TotalKills |
timing_early_aggression_rate |
Calculated |
Timing Grid 5 |
| Early Deaths (前30s死) |
timing_early_deaths |
COUNT(death_time < 30) |
timing_early_deaths |
fact_round_events.event_time |
Timing Grid 6 |
| Mid Deaths (30-60s死) |
timing_mid_deaths |
COUNT(30 <= death_time < 60) |
timing_mid_deaths |
fact_round_events.event_time |
Timing Grid 7 |
| Late Deaths (60s+死) |
timing_late_deaths |
COUNT(death_time >= 60) |
timing_late_deaths |
fact_round_events.event_time |
Timing Grid 8 |
| Avg Death Time (平均死亡时间) |
timing_avg_death_time |
AVG(event_time) for deaths |
timing_avg_death_time |
fact_round_events.event_time |
Timing Grid 9 |
| Early Death Rate (前期死亡) |
timing_early_death_rate |
EarlyDeaths / TotalDeaths |
timing_early_death_rate |
Calculated |
Timing Grid 10 |
1.5 深层能力维度 (Deep Capabilities)
1.5.1 稳定性与枪法 (STA & BAT)
| 显示标签 |
指标键 |
计算方法 |
L3列名 |
L2来源 |
UI位置 |
| Last 30 Rating (近30场) |
sta_last_30_rating |
AVG(rating) for last 30 matches |
sta_last_30_rating |
fact_match_players.rating |
Deep Section 1 |
| Win Rating (胜局) |
sta_win_rating |
AVG(rating WHERE is_win=1) |
sta_win_rating |
fact_match_players.rating, is_win |
Deep Section 2 |
| Loss Rating (败局) |
sta_loss_rating |
AVG(rating WHERE is_win=0) |
sta_loss_rating |
fact_match_players.rating, is_win |
Deep Section 3 |
| Volatility (波动) |
sta_rating_volatility |
STDDEV(rating) for last 10 matches |
sta_rating_volatility |
fact_match_players.rating |
Deep Section 4 |
| Time Corr (耐力) |
sta_time_rating_corr |
CORR(duration, rating) |
sta_time_rating_corr |
fact_matches.duration, rating |
Deep Section 5 |
| High Elo KD Diff (高分抗压) |
bat_kd_diff_high_elo |
AVG(kd WHERE elo > player_avg_elo) |
bat_kd_diff_high_elo |
fact_match_teams.group_origin_elo |
Deep Section 6 |
| Duel Win% (对枪胜率) |
bat_avg_duel_win_rate |
entry_kills / (entry_kills + entry_deaths) |
bat_avg_duel_win_rate |
fact_match_players.entry_kills/deaths |
Deep Section 7 |
1.5.2 残局与手枪 (HPS & PTL)
| 显示标签 |
指标键 |
计算方法 |
L3列名 |
L2来源 |
UI位置 |
| Avg 1v1 (场均1v1) |
hps_clutch_win_rate_1v1 |
SUM(clutch_1v1) / matches |
hps_clutch_win_rate_1v1 |
fact_match_players.clutch_1v1 |
Deep Section 8 |
| Avg 1v3+ (场均1v3+) |
hps_clutch_win_rate_1v3_plus |
SUM(clutch_1v3+1v4+1v5) / matches |
hps_clutch_win_rate_1v3_plus |
fact_match_players.clutch_1v3/4/5 |
Deep Section 9 |
| Match Pt Win% (赛点胜率) |
hps_match_point_win_rate |
Win rate when either team at 12 or 15 |
hps_match_point_win_rate |
fact_rounds (score calculation) |
Deep Section 10 |
| Pressure Entry (逆风首杀) |
hps_pressure_entry_rate |
entry_kills / rounds in losing matches |
hps_pressure_entry_rate |
fact_match_players (is_win=0) |
Deep Section 11 |
| Comeback KD (翻盘KD) |
hps_comeback_kd_diff |
KD差值当队伍落后4+回合 |
hps_comeback_kd_diff |
fact_round_events + fact_rounds |
Deep Section 12 |
| Loss Streak KD (连败KD) |
hps_losing_streak_kd_diff |
KD差值当连败3+回合 |
hps_losing_streak_kd_diff |
fact_round_events + fact_rounds |
Deep Section 13 |
| Pistol Kills (手枪击杀) |
ptl_pistol_kills |
COUNT(kills WHERE round IN (1,13)) / matches |
ptl_pistol_kills |
fact_round_events (round 1,13) |
Deep Section 14 |
| Pistol Win% (手枪胜率) |
ptl_pistol_win_rate |
Win rate for pistol rounds |
ptl_pistol_win_rate |
fact_rounds (round 1,13) |
Deep Section 15 |
| Pistol KD (手枪KD) |
ptl_pistol_kd |
pistol_kills / pistol_deaths |
ptl_pistol_kd |
fact_round_events (round 1,13) |
Deep Section 16 |
| Pistol Util Eff (手枪道具) |
ptl_pistol_util_efficiency |
Headshot rate in pistol rounds |
ptl_pistol_util_efficiency |
fact_round_events (is_headshot) |
Deep Section 17 |
1.5.3 道具使用 (UTIL)
| 显示标签 |
指标键 |
计算方法 |
L3列名 |
L2来源 |
UI位置 |
| Usage Rate (道具频率) |
util_usage_rate |
(flash+smoke+molotov+he+decoy) / rounds * 100 |
util_usage_rate |
fact_match_players.util_*_usage |
Deep Section 18 |
| Nade Dmg (雷火伤) |
util_avg_nade_dmg |
SUM(throw_harm) / matches |
util_avg_nade_dmg |
fact_match_players.throw_harm |
Deep Section 19 |
| Flash Time (致盲时间) |
util_avg_flash_time |
SUM(flash_time) / matches |
util_avg_flash_time |
fact_match_players.flash_time |
Deep Section 20 |
| Flash Enemy (致盲人数) |
util_avg_flash_enemy |
SUM(flash_enemy) / matches |
util_avg_flash_enemy |
fact_match_players.flash_enemy |
Deep Section 21 |
1.5.4 经济与节奏 (ECO & PACE)
| 显示标签 |
指标键 |
计算方法 |
L3列名 |
L2来源 |
UI位置 |
| Dmg/$1k (性价比) |
eco_avg_damage_per_1k |
total_damage / (total_equipment / 1000) |
eco_avg_damage_per_1k |
fact_round_player_economy |
Deep Section 22 |
| Eco KPR (经济局KPR) |
eco_rating_eco_rounds |
Kills per round when equipment < $2000 |
eco_rating_eco_rounds |
fact_round_player_economy |
Deep Section 23 |
| Eco KD (经济局KD) |
eco_kd_ratio |
KD in eco rounds |
eco_kd_ratio |
fact_round_player_economy |
Deep Section 24 |
| Eco Rounds (经济局数) |
eco_avg_rounds |
COUNT(equipment < 2000) / matches |
eco_avg_rounds |
fact_round_player_economy |
Deep Section 25 |
| First Contact (首肯时间) |
pace_avg_time_to_first_contact |
AVG(MIN(event_time)) per round |
pace_avg_time_to_first_contact |
fact_round_events.event_time |
Deep Section 26 |
| Trade Kill% (补枪率) |
pace_trade_kill_rate |
TradeKills / TotalKills (5s window) |
pace_trade_kill_rate |
fact_round_events (self-join) |
Deep Section 27 |
| Opening Time (首杀时间) |
pace_opening_kill_time |
AVG(first_kill_time) per round |
pace_opening_kill_time |
fact_round_events.event_time |
Deep Section 28 |
| Avg Life (存活时间) |
pace_avg_life_time |
AVG(death_time OR round_end) |
pace_avg_life_time |
fact_round_events + fact_rounds |
Deep Section 29 |
1.5.5 回合动态 (ROUND Dynamics)
| 显示标签 |
指标键 |
计算方法 |
L3列名 |
L2来源 |
UI位置 |
| Kill Early (前30秒击杀) |
rd_phase_kill_early_share |
Early kills / Total kills |
rd_phase_kill_early_share |
fact_round_events.event_time |
Deep Section 30 |
| Kill Mid (30-60秒击杀) |
rd_phase_kill_mid_share |
Mid kills / Total kills |
rd_phase_kill_mid_share |
fact_round_events.event_time |
Deep Section 31 |
| Kill Late (60秒后击杀) |
rd_phase_kill_late_share |
Late kills / Total kills |
rd_phase_kill_late_share |
fact_round_events.event_time |
Deep Section 32 |
| Death Early (前30秒死亡) |
rd_phase_death_early_share |
Early deaths / Total deaths |
rd_phase_death_early_share |
fact_round_events.event_time |
Deep Section 33 |
| Death Mid (30-60秒死亡) |
rd_phase_death_mid_share |
Mid deaths / Total deaths |
rd_phase_death_mid_share |
fact_round_events.event_time |
Deep Section 34 |
| Death Late (60秒后死亡) |
rd_phase_death_late_share |
Late deaths / Total deaths |
rd_phase_death_late_share |
fact_round_events.event_time |
Deep Section 35 |
| FirstDeath Win% (首死后胜率) |
rd_firstdeath_team_first_death_win_rate |
Win rate when team loses first blood |
rd_firstdeath_team_first_death_win_rate |
fact_round_events + fact_rounds |
Deep Section 36 |
| Invalid Death% (无效死亡) |
rd_invalid_death_rate |
Deaths with 0 kills & 0 flash assists |
rd_invalid_death_rate |
fact_round_events |
Deep Section 37 |
| Pressure KPR (落后≥3) |
rd_pressure_kpr_ratio |
KPR when down 3+ rounds / Normal KPR |
rd_pressure_kpr_ratio |
fact_rounds + fact_round_events |
Deep Section 38 |
| MatchPt KPR (赛点放大) |
rd_matchpoint_kpr_ratio |
KPR at match point / Normal KPR |
rd_matchpoint_kpr_ratio |
fact_rounds + fact_round_events |
Deep Section 39 |
| Trade Resp (10s响应) |
rd_trade_response_10s_rate |
Success rate trading teammate death in 10s |
rd_trade_response_10s_rate |
fact_round_events (self-join) |
Deep Section 40 |
| Pressure Perf (Leetify) |
rd_pressure_perf_ratio |
Leetify perf when down 3+ / Normal |
rd_pressure_perf_ratio |
fact_round_player_economy |
Deep Section 41 |
| MatchPt Perf (Leetify) |
rd_matchpoint_perf_ratio |
Leetify perf at match point / Normal |
rd_matchpoint_perf_ratio |
fact_round_player_economy |
Deep Section 42 |
| Comeback KillShare (追分) |
rd_comeback_kill_share |
Player's kills / Team kills in comeback rounds |
rd_comeback_kill_share |
fact_round_events + fact_rounds |
Deep Section 43 |
| Map Stability (地图稳定) |
map_stability_coef |
`AVG( |
map_rating - player_avg |
)` |
map_stability_coef |
1.5.6 残局与多杀 (SPECIAL - Clutch & Multi)
| 显示标签 |
指标键 |
计算方法 |
L3列名 |
L2来源 |
UI位置 |
| 1v1 Win% (1v1胜率) |
clutch_rate_1v1 |
clutch_1v1 / attempts_1v1 |
N/A (L2) |
fact_match_players.clutch_1v1, end_1v1 |
Deep Section 45 |
| 1v2 Win% (1v2胜率) |
clutch_rate_1v2 |
clutch_1v2 / attempts_1v2 |
N/A (L2) |
fact_match_players.clutch_1v2, end_1v2 |
Deep Section 46 |
| 1v3 Win% (1v3胜率) |
clutch_rate_1v3 |
clutch_1v3 / attempts_1v3 |
N/A (L2) |
fact_match_players.clutch_1v3, end_1v3 |
Deep Section 47 |
| 1v4 Win% (1v4胜率) |
clutch_rate_1v4 |
clutch_1v4 / attempts_1v4 |
N/A (L2) |
fact_match_players.clutch_1v4, end_1v4 |
Deep Section 48 |
| 1v5 Win% (1v5胜率) |
clutch_rate_1v5 |
clutch_1v5 / attempts_1v5 |
N/A (L2) |
fact_match_players.clutch_1v5, end_1v5 |
Deep Section 49 |
| Multi-K Rate (多杀率) |
total_multikill_rate |
(2K+3K+4K+5K) / total_rounds |
N/A (L2) |
fact_match_players.kill_2/3/4/5 |
Deep Section 50 |
| Multi-A Rate (多助率) |
total_multiassist_rate |
(many_assists_cnt2/3/4/5) / rounds |
N/A (L2) |
fact_match_players.many_assists_cnt* |
Deep Section 51 |
1.5.7 阵营偏好 (SIDE Preference)
| 显示标签 |
指标键 |
计算方法 |
L3列名 |
L2来源 |
UI位置 |
| Rating (T-Side) |
side_rating_t |
AVG(rating2) from T table |
side_rating_t |
fact_match_players_t.rating2 |
Deep Section 52 |
| Rating (CT-Side) |
side_rating_ct |
AVG(rating2) from CT table |
side_rating_ct |
fact_match_players_ct.rating2 |
Deep Section 53 |
| KD Ratio (T) |
side_kd_t |
SUM(kills) / SUM(deaths) T-side |
side_kd_t |
fact_match_players_t.kills/deaths |
Deep Section 54 |
| KD Ratio (CT) |
side_kd_ct |
SUM(kills) / SUM(deaths) CT-side |
side_kd_ct |
fact_match_players_ct.kills/deaths |
Deep Section 55 |
| Win Rate (T) |
side_win_rate_t |
AVG(is_win) T-side |
side_win_rate_t |
fact_match_players_t.is_win |
Deep Section 56 |
| Win Rate (CT) |
side_win_rate_ct |
AVG(is_win) CT-side |
side_win_rate_ct |
fact_match_players_ct.is_win |
Deep Section 57 |
| First Kill Rate (T) |
side_first_kill_rate_t |
FK / rounds T-side |
side_first_kill_rate_t |
fact_match_players_t.first_kill |
Deep Section 58 |
| First Kill Rate (CT) |
side_first_kill_rate_ct |
FK / rounds CT-side |
side_first_kill_rate_ct |
fact_match_players_ct.first_kill |
Deep Section 59 |
| First Death Rate (T) |
side_first_death_rate_t |
FD / rounds T-side |
side_first_death_rate_t |
fact_match_players_t.first_death |
Deep Section 60 |
| First Death Rate (CT) |
side_first_death_rate_ct |
FD / rounds CT-side |
side_first_death_rate_ct |
fact_match_players_ct.first_death |
Deep Section 61 |
| KAST (T) |
side_kast_t |
AVG(kast) T-side |
side_kast_t |
fact_match_players_t.kast |
Deep Section 62 |
| KAST (CT) |
side_kast_ct |
AVG(kast) CT-side |
side_kast_ct |
fact_match_players_ct.kast |
Deep Section 63 |
| RWS (T) |
side_rws_t |
AVG(rws) T-side |
side_rws_t |
fact_match_players_t.rws |
Deep Section 64 |
| RWS (CT) |
side_rws_ct |
AVG(rws) CT-side |
side_rws_ct |
fact_match_players_ct.rws |
Deep Section 65 |
| Headshot Rate (T) |
side_headshot_rate_t |
HS / kills T-side |
side_headshot_rate_t |
fact_match_players_t.headshot_count/kills |
Deep Section 66 |
| Headshot Rate (CT) |
side_headshot_rate_ct |
HS / kills CT-side |
side_headshot_rate_ct |
fact_match_players_ct.headshot_count/kills |
Deep Section 67 |
1.5.8 组排与分层 (Party & Stratification)
| 显示标签 |
指标键 |
计算方法 |
L3列名 |
L2来源 |
UI位置 |
| Solo Win% (单排胜率) |
party_1_win_rate |
Win rate in solo queue |
party_1_win_rate |
fact_match_players (party_size=1) |
Deep Section 68 |
| Solo Rating (单排分) |
party_1_rating |
AVG(rating) in solo |
party_1_rating |
fact_match_players (party_size=1) |
Deep Section 69 |
| Solo ADR (单排伤) |
party_1_adr |
AVG(adr) in solo |
party_1_adr |
fact_match_players (party_size=1) |
Deep Section 70 |
| Duo Win% (双排胜率) |
party_2_win_rate |
Win rate in duo |
party_2_win_rate |
fact_match_players (party_size=2) |
Deep Section 71 |
| ... (party_2~5 follow same pattern) |
... |
... |
... |
... |
Deep Section 72-79 |
| Carry Rate (>1.5) |
rating_dist_carry_rate |
COUNT(rating>1.5) / total |
rating_dist_carry_rate |
fact_match_players.rating |
Deep Section 80 |
| Normal Rate (1.0-1.5) |
rating_dist_normal_rate |
COUNT(1.0<=rating<1.5) / total |
rating_dist_normal_rate |
fact_match_players.rating |
Deep Section 81 |
| Sacrifice Rate (0.6-1.0) |
rating_dist_sacrifice_rate |
COUNT(0.6<=rating<1.0) / total |
rating_dist_sacrifice_rate |
fact_match_players.rating |
Deep Section 82 |
| Sleeping Rate (<0.6) |
rating_dist_sleeping_rate |
COUNT(rating<0.6) / total |
rating_dist_sleeping_rate |
fact_match_players.rating |
Deep Section 83 |
| <1200 Rating |
elo_lt1200_rating |
AVG(rating) vs opponents <1200 ELO |
elo_lt1200_rating |
fact_match_teams.group_origin_elo |
Deep Section 84 |
| 1200-1400 Rating |
elo_1200_1400_rating |
AVG(rating) vs 1200-1400 ELO |
elo_1200_1400_rating |
fact_match_teams.group_origin_elo |
Deep Section 85 |
| ... (elo_* follow same pattern) |
... |
... |
... |
... |
Deep Section 86-89 |
1.6 附加数据
1.6.1 Phase Split (回合阶段分布)
- 数据来源:
rd_phase_kill_*_share 和 rd_phase_death_*_share 系列
- UI呈现: 横条图展示 Total/T/CT 的击杀/死亡在 Early/Mid/Late 的分布
- 计算: 时间段划分(0-30s/30-60s/60s+),分T/CT/Overall统计
1.6.2 Top Weapons (常用武器)
- 数据来源:
rd_weapon_top_json (JSON字段)
- 包含信息: weapon, kills, hs_rate, price, category, share
- UI呈现: 表格展示前5常用武器及其数据
1.6.3 Round Type Split (回合类型表现)
- 数据来源:
rd_roundtype_split_json (JSON字段)
- 包含信息: pistol/eco/rifle/fullbuy/overtime的KPR和Perf
- UI呈现: 表格展示不同经济类型回合的表现
2. 当前问题分析
2.1 命名不一致问题
| 问题类别 |
具体表现 |
影响 |
| 前缀混乱 |
basic_*, side_*, util_*, eco_*, pace_*, rd_*, special_*, timing_* |
无法从名称直观判断归属维度 |
| 冗余命名 |
basic_avg_headshot_kills vs basic_headshot_rate |
一个是总数,一个是比率,命名规则不统一 |
| 缩写不统一 |
FK vs First Kill, HS vs Headshot, Avg vs Average |
可读性差 |
| 中英混杂 |
数据库用英文,但UI标签用中文 |
维护困难 |
2.2 数据重复与冗余
| 重复类型 |
示例 |
问题 |
| 同一指标多处展示 |
basic_avg_rating同时出现在Dashboard和Detailed Panel |
数据冗余展示 |
| 相似指标并存 |
timing_early_aggression_rate vs rd_phase_kill_early_share |
实际都是"前30秒击杀占比" |
| 计算结果重复 |
basic_first_kill_rate 和 basic_first_death_rate 必然互补(FK+FD=100%) |
可简化为一个指标 |
| 阵营数据冗余 |
T/CT所有指标都有两套,但很多时候差异不大 |
UI拥挤,核心信息淹没 |
2.3 分类逻辑混乱
| 混乱表现 |
示例 |
理想归类 |
| 相关指标分散 |
首杀/首死在"Opening Impact",但首杀时间在"PACE - Tempo" |
应统一归入"开局影响力" |
| 维度交叉 |
hps_pressure_entry_rate(逆风首杀)既属于HPS,又涉及Opening |
应明确主维度 |
| 深浅不分 |
basic_avg_kd在详细面板,但eco_kd_ratio在深层能力 |
同类指标应在同一层级 |
| 特殊指标孤立 |
Special Kills单独一个Section,但Knife/Zeus在Combat |
应统一归入"特殊击杀类" |
2.4 UI展示问题
| 问题 |
描述 |
影响 |
| 信息密度过高 |
Detailed Stats Panel有80+指标紧密排列 |
用户认知负担重,难以聚焦 |
| 缺少层次 |
所有指标平铺,无主次之分 |
核心数据不突出 |
| 视觉疲劳 |
长列表滚动,无分组视觉分隔 |
易忽略关键信息 |
| 无引导逻辑 |
用户不知道该看哪些数据 |
降低产品价值 |
2.5 Schema设计问题
| 问题 |
描述 |
改进方向 |
| 列名过长 |
rd_phase_kill_early_share_ct 35字符 |
可缩短为phase_k_early_ct |
| 类型不统一 |
Rate有的存0-1,有的存0-100 |
统一为0-1,前端格式化 |
| 缺少索引提示 |
L3表无明确的"核心指标"标识 |
可增加is_core标记列 |
| JSON滥用 |
rd_weapon_top_json等,查询不便 |
考虑拆表或使用结构化字段 |
3. 重组方案
3.1 新分类体系
基于游戏功能维度和用户关注度,建议采用三层结构:
L1: 核心面板 (Core Dashboard) - 4个关键指标
- Rating (综合评分)
- K/D Ratio (击杀效率)
- ADR (伤害输出)
- KAST (团队贡献)
L2: 六维雷达 (6D Capabilities) - 战术风格画像
- Combat (战斗力): 枪法、对枪、爆头
- Opening (开局影响): 首杀、首死、进攻节奏
- Clutch (残局能力): 1vX、高压表现
- Utility (道具运用): 闪光、投掷、战术配合
- Economy (经济管理): 性价比、经济局表现
- Stability (稳定性): 波动、适应、抗压
L3: 详细统计 (Detailed Stats) - 按功能分组
Group 1: 枪法与交火 (Gunfight)
Group 2: 开局影响力 (Opening Impact)
Group 3: 多杀表现 (Multi-Frag Performance)
Group 4: 残局能力 (Clutch Capability)
- 1v1/1v2/1v3/1v4/1v5胜率
- 残局尝试次数
Group 5: 特殊能力 (Special Stats)
- 穿墙/穿烟/致盲/盲狙击杀
- 刀杀/电击枪
- 无伤击杀/复仇击杀
- 高IQ评分
Group 6: 战术贡献 (Tactical Contribution)
- MVP次数
- 下包/拆包
- 闪光助攻
- 道具使用频率
- 道具伤害
Group 7: 经济管理 (Economy)
- 伤害性价比
- 经济局KD/KPR
- 经济局频率
- 装备价值分布
Group 8: 节奏控制 (Pace & Timing)
- 前/中/后期击杀分布
- 前/中/后期死亡分布
- 平均存活时间
- 节奏风格标签(Early Aggressor/Late Closer)
Group 9: 阵营偏好 (Side Preference)
- T/CT综合表现对比(Rating, KD, Win%)
- T/CT关键指标对比(FK Rate, HS Rate)
- 阵营风格分析
Group 10: 高压情境 (High-Pressure Performance)
- 赛点表现
- 逆风表现(落后3+回合)
- 翻盘贡献
- 连败抗压
Group 11: 组排与分层 (Party & Stratification)
- 单排/双排/三排/四排/五排表现
- Carry/Normal/Sacrifice/Sleeping分布
- 对阵不同ELO段表现
Group 12: 回合细节 (Round Dynamics)
- 首死后胜率
- 无效死亡率
- 补枪响应率
- 武器使用偏好
- 回合类型表现
3.2 指标优先级标记
为每个指标分配优先级,用于UI展示逻辑:
| 优先级 |
说明 |
展示位置 |
指标数量 |
| P0 - Critical |
核心KPI,必看指标 |
Dashboard + 六维雷达 |
12个 |
| P1 - High |
重要数据,影响战术决策 |
Detailed Panel前置位置 |
30个 |
| P2 - Medium |
辅助分析,深入了解 |
Detailed Panel中部,可折叠 |
50个 |
| P3 - Low |
小众指标,专业分析 |
Advanced Section,默认折叠 |
30个 |
3.3 命名规范
3.3.1 L3列名规范
- category: 维度前缀(cbt, opn, clu, uti, eco, stb)
- metric: 指标名称(小写蛇形)
- aggregation: avg/sum/rate/pct (可选)
- context: _t/_ct/_pistol等上下文(可选)
示例:
cbt_hs_rate (Combat - Headshot Rate)
opn_fk_avg (Opening - First Kills Average)
clu_1v3_win_rate (Clutch - 1v3 Win Rate)
side_rating_avg_t (Side - Rating Average T-side)
3.3.2 UI标签规范
示例:
爆头率 (HS%)
首杀数 (FK)
经济局KD (Eco KD)
3.4 UI展示逻辑
3.4.1 折叠分组
3.4.2 渐进式披露
- 首屏: P0指标(Dashboard + Radar)
- 第一次滚动: P1指标(Gunfight, Opening, Clutch)
- 展开折叠: P2/P3指标
- Tooltip/Hover: 指标说明、计算公式
4. Schema优化建议
4.1 L3表结构调整
4.1.1 增加元数据列
4.1.2 列名重构映射表
| 旧列名 |
新列名 |
说明 |
basic_avg_rating |
core_rating_avg |
核心指标 |
basic_avg_kd |
core_kd_avg |
核心指标 |
basic_avg_headshot_kills |
cbt_hs_kills_avg |
战斗-爆头 |
basic_headshot_rate |
cbt_hs_rate |
战斗-爆头率 |
basic_avg_first_kill |
opn_fk_avg |
开局-首杀 |
basic_first_kill_rate |
opn_fk_rate |
开局-首杀率 |
hps_clutch_win_rate_1v1 |
clu_1v1_win_rate |
残局-1v1 |
util_avg_nade_dmg |
uti_nade_dmg_avg |
道具-雷火伤 |
eco_avg_damage_per_1k |
eco_dmg_per_1k |
经济-性价比 |
pace_avg_time_to_first_contact |
pce_first_contact_time |
节奏-首接触 |
special_wallbang_kills |
spc_wallbang_kills |
特殊-穿墙 |
timing_early_kills |
timg_kills_early |
时机-前期击杀 |
side_rating_t |
side_rating_avg_t |
阵营-T侧评分 |
4.1.3 新增计算字段
4.2 L2表优化
4.2.1 索引优化
4.2.2 物化视图(如支持)
4.3 数据类型标准化
| 指标类型 |
存储类型 |
范围 |
前端展示 |
| Rate/Percentage |
REAL |
0.0 - 1.0 |
{:.1%} (格式化为百分比) |
| Score (0-100) |
REAL |
0.0 - 100.0 |
{:.1f} |
| Count |
INTEGER |
0+ |
{:.0f} |
| Average Count |
REAL |
0.0+ |
{:.2f} |
| Time (seconds) |
REAL |
0.0+ |
{:.1f}s |
| Ratio |
REAL |
0.0+ |
{:.2f} |
4.4 JSON字段拆解
4.4.1 武器统计拆表
4.4.2 回合类型表现拆表
5. 实施计划
5.1 阶段一:数据清理与验证 (Week 1)
任务清单
输出物
data_quality_report.csv: 各列的覆盖率、异常值比例
calculation_verification.md: 10个样本的计算验证结果
5.2 阶段二:Schema重构 (Week 2)
任务清单
输出物
schema_v2.sql: 新表结构DDL
migration_script.py: 数据迁移脚本
rollback_plan.md: 回滚方案
5.3 阶段三:特征服务重构 (Week 3)
任务清单
输出物
feature_service_v2.py: 重构后的特征服务
test_feature_service.py: 完整测试套件
api_changelog.md: API变更日志
5.4 阶段四:前端模板重构 (Week 4)
任务清单
输出物
profile_v2.html: 重构后的模板
components/stat_group.html: 可复用的分组组件
ui_ux_guidelines.md: 前端设计规范
5.5 阶段五:数据迁移与上线 (Week 5)
任务清单
输出物
migration_report.md: 迁移执行报告
performance_benchmark.md: 性能对比数据
user_guide_v2.md: 用户使用指南
5.6 阶段六:持续优化 (Ongoing)
任务清单
6. 关键指标重点说明
6.1 核心KPI (P0级别)
1. Rating (综合评分)
- 计算: 5E平台官方Rating算法(加权K/D/ADR/RWS/多杀等)
- 意义: 单场比赛综合表现的标准化评分
- L2来源:
fact_match_players.rating
- 展示: Dashboard大卡片 + 趋势图
2. K/D Ratio (击杀死亡比)
- 计算:
总击杀 / 总死亡
- 意义: 击杀效率的直观体现
- 展示: Dashboard + 详细面板 + 阵营对比
3. ADR (Average Damage per Round)
- 计算:
总伤害 / 总回合数
- 意义: 每回合伤害输出,比K/D更稳定
- 展示: Dashboard + 详细面板
4. KAST (Kill/Assist/Survive/Trade)
- 计算:
(击杀+助攻+存活+被交易) / 总回合数
- 意义: 团队贡献率,衡量对回合胜利的参与度
- 展示: Dashboard + 详细面板
6.2 六维雷达说明
Combat (战斗力) - score_bat
- 构成: 25% Rating + 20% KD + 15% ADR + 10% DuelWin + 10% HighEloKD + 20% 3K
- 含义: 纯粹的枪法和对枪能力
- 高分特征: 爆头率高、对枪胜率高、对高分段也能保持KD
Opening (开局影响) - score_opn (建议新增)
- 构成: 30% FK_rate + 25% FK_avg + 20% (100-FirstContactTime) + 25% OpeningKillTime
- 含义: 开局阶段的主动性和影响力
- 高分特征: 首杀率高、首接触时间早、首杀发生时间早
Clutch (残局能力) - score_hps
- 构成: 25% 1v3+ + 20% MatchPtWin + 20% ComebackKD + 15% PressureEntry + 20% Rating
- 含义: 高压情境下的表现
- 高分特征: 残局胜率高、赛点稳定、逆风能C
Utility (道具运用) - score_util
- 构成: 35% UsageRate + 25% NadeDmg + 20% FlashTime + 20% FlashEnemy
- 含义: 道具使用的频率和效果
- 高分特征: 道具使用频繁、闪光效果好、雷火伤害高
Economy (经济管理) - score_eco
- 构成: 50% Dmg/$1k + 50% EcoKPR
- 含义: 经济利用效率
- 高分特征: 用少量装备打出高伤害、经济局也能发挥
Stability (稳定性) - score_sta
- 构成: 30% (100-Volatility) + 30% LossRating + 20% WinRating + 10% TimeCorr
- 含义: 表现的一致性和抗压能力
- 高分特征: 波动小、输赢都能保持水平、耐久战
6.3 重点推荐指标
交火补枪率 (Firefight Follow-up Rate)
- 计算:
队友死后10秒内击杀对手的次数 / 队友阵亡次数
- 意义: 衡量战术协同和补枪意识
- 重要性: ★★★★★ (团队配合的核心指标)
- 优化: 当前是单独计算,建议整合到
pace_trade_kill_rate
高IQ评分 (High IQ Score)
- 计算: 加权(穿墙3 + 穿烟2 + 致盲1.5 + 盲狙2) / 预期最大值 * 100
- 意义: 战术智商和非常规击杀能力
- 重要性: ★★★★☆ (差异化指标,展现个人特色)
- 展示: 特殊击杀Section,>50分显示徽章
前期进攻率 (Early Aggression Rate)
- 计算:
前30秒击杀 / 总击杀
- 意义: 打法风格标签(Aggressive vs Passive)
- 重要性: ★★★★☆ (风格识别)
- 展示: 时机分析Section + 风格徽章(>40%显示"Early Aggressor")
无效死亡率 (Invalid Death Rate)
- 计算:
(0击杀且0闪光助攻的死亡回合) / 总死亡回合
- 意义: 团队负担指标,死得没价值
- 重要性: ★★★★☆ (负面指标,需要改进)
- 展示: 回合动态Section,高于30%需警示
赛点放大器 (Match Point KPR Ratio)
- 计算:
赛点回合KPR / 普通回合KPR
- 意义: 关键时刻的心理素质
- 重要性: ★★★★☆ (大心脏指标)
- 展示: 高压情境Section,>1.2显示"Clutch Gene"徽章
7. 命名规范速查表
7.1 维度前缀
| 前缀 |
全称 |
中文 |
适用场景 |
core_ |
Core |
核心 |
Dashboard 4大指标 |
cbt_ |
Combat |
战斗 |
枪法、对枪相关 |
opn_ |
Opening |
开局 |
首杀、首死、前期节奏 |
clu_ |
Clutch |
残局 |
1vX、残局胜率 |
uti_ |
Utility |
道具 |
闪光、投掷、烟雾 |
eco_ |
Economy |
经济 |
装备价值、经济局表现 |
stb_ |
Stability |
稳定 |
波动、一致性 |
pce_ |
Pace |
节奏 |
时间相关、进攻速度 |
spc_ |
Special |
特殊 |
穿墙、穿烟、盲狙等 |
timg_ |
Timing |
时机 |
回合阶段分布 |
side_ |
Side |
阵营 |
T/CT对比 |
pty_ |
Party |
组排 |
单排、双排等 |
rd_ |
Round |
回合 |
回合级别动态 |
7.2 聚合函数后缀
| 后缀 |
含义 |
示例 |
_avg |
Average |
cbt_hs_kills_avg (平均爆头数) |
_sum |
Sum |
opn_fk_sum (总首杀数) |
_rate |
Rate (0-1) |
cbt_hs_rate (爆头率) |
_pct |
Percentage (0-100) |
不推荐,统一用rate |
_cnt |
Count |
clu_1v3_cnt (1v3次数) |
_ratio |
Ratio |
eco_dmg_per_1k (性价比) |
_score |
Score (0-100) |
spc_high_iq_score (IQ评分) |
_time |
Time (seconds) |
pce_first_contact_time (首接触时间) |
7.3 上下文后缀
| 后缀 |
含义 |
示例 |
_t |
T-side |
side_rating_avg_t |
_ct |
CT-side |
side_kd_avg_ct |
_pistol |
Pistol Round |
opn_fk_rate_pistol |
_eco |
Eco Round |
eco_kd_avg |
_early |
Early (0-30s) |
timg_kills_early |
_mid |
Mid (30-60s) |
timg_kills_mid |
_late |
Late (60s+) |
timg_kills_late |
_solo |
Solo Queue |
pty_rating_avg_solo |
_duo |
Duo Queue |
pty_win_rate_duo |
8. 数据验证清单
8.1 逻辑一致性检查
| 检查项 |
公式 |
预期结果 |
| FK + FD 占比 |
opn_fk_rate + opn_fd_rate |
≈ 1.0 (允许±5%误差) |
| 回合阶段完整性 |
timg_kills_early + timg_kills_mid + timg_kills_late |
= total_kills |
| 阵营数据对称性 |
side_rounds_t + side_rounds_ct |
≈ total_rounds (考虑加时) |
| 残局尝试>=成功 |
clu_1v1_attempts |
>= clu_1v1_wins |
| Rating分布完整 |
rating_dist_carry + normal + sacrifice + sleeping |
= 1.0 |
8.2 数值范围检查
| 字段 |
最小值 |
最大值 |
异常阈值 |
core_rating_avg |
0.0 |
3.0 |
>2.5罕见 |
core_kd_avg |
0.0 |
5.0 |
>3.0罕见 |
cbt_hs_rate |
0.0 |
1.0 |
>0.8异常 |
opn_fk_rate |
0.0 |
1.0 |
<0.2或>0.8罕见 |
clu_1v3_win_rate |
0.0 |
1.0 |
>0.5罕见 |
pce_first_contact_time |
0.0 |
115.0 |
>100s异常 |
8.3 数据覆盖率检查
| 字段类别 |
预期覆盖率 |
说明 |
| Core指标 |
>99% |
基础数据,几乎所有玩家都有 |
| Combat指标 |
>95% |
除非样本太少 |
| Special Kills |
>50% |
不是所有人都有穿墙击杀 |
| Economy指标 |
>70% |
依赖Leetify数据,部分缺失 |
| Timing指标 |
>90% |
依赖event_time,新数据完整 |
9. FAQ
Q1: 为什么要重组?现有结构有什么问题?
A: 当前主要问题:
- 命名混乱:前缀不统一(
basic_/side_/rd_等),难以维护
- 数据冗余:同类指标分散在多个Section,用户查找困难
- 缺乏层次:120+指标平铺,核心数据不突出
- UI拥挤:信息密度过高,用户认知负担重
Q2: 重组后会丢失数据吗?
A: 不会。我们采用增量迁移策略:
- 创建新表
dm_player_features_v2,保留旧表
- 双写一段时间,确保数据一致
- 灰度切换,可随时回滚
- 旧表保留3个月作为备份
Q3: 新分类体系的依据是什么?
A: 基于游戏功能维度和用户关注度:
- 功能维度:枪法、开局、残局、道具、经济、节奏等游戏概念
- 用户关注度:通过热力图和用户反馈,确定P0/P1/P2/P3优先级
- 专业意见:参考职业教练和数据分析师的建议
Q4: 重组会影响现有功能吗?
A: 短期影响最小化:
- 后端兼容:
feature_service.py会提供新旧API同时支持
- 前端渐进:先发布新UI,保留旧版入口,收集反馈后完全切换
- 数据一致:新旧两套数据会持续对比验证
Q5: 如何衡量重组效果?
A: 关键指标:
- 用户体验:页面停留时间、交互深度、反馈评分
- 性能:页面加载时间(<2s)、查询速度(<500ms)
- 数据质量:覆盖率(>90%)、异常率(<1%)
- 开发效率:新增指标开发时间、Bug数量
Q6: 我能提供反馈吗?
A: 当然!反馈渠道:
- GitHub Issue:提交功能建议或Bug报告
- Wiki评论区:讨论数据定义和展示逻辑
- 内部群组:实时讨论和快速响应
10. 附录
10.1 完整列名映射表 (前50个)
| 旧列名 |
新列名 |
优先级 |
分组 |
| basic_avg_rating |
core_rating_avg |
P0 |
Core Dashboard |
| basic_avg_kd |
core_kd_avg |
P0 |
Core Dashboard |
| basic_avg_adr |
core_adr_avg |
P0 |
Core Dashboard |
| basic_avg_kast |
core_kast_avg |
P0 |
Core Dashboard |
| basic_avg_headshot_kills |
cbt_hs_kills_avg |
P1 |
Gunfight |
| basic_headshot_rate |
cbt_hs_rate |
P1 |
Gunfight |
| basic_avg_awp_kill |
cbt_awp_kills_avg |
P2 |
Gunfight |
| basic_avg_assisted_kill |
cbt_assists_avg |
P1 |
Gunfight |
| basic_avg_first_kill |
opn_fk_avg |
P1 |
Opening Impact |
| basic_avg_first_death |
opn_fd_avg |
P2 |
Opening Impact |
| basic_first_kill_rate |
opn_fk_rate |
P1 |
Opening Impact |
| basic_first_death_rate |
opn_fd_rate |
P2 |
Opening Impact |
| basic_avg_kill_2 |
cbt_2k_avg |
P2 |
Multi-Frag |
| basic_avg_kill_3 |
cbt_3k_avg |
P1 |
Multi-Frag |
| basic_avg_kill_4 |
cbt_4k_avg |
P2 |
Multi-Frag |
| basic_avg_kill_5 |
cbt_5k_avg |
P2 |
Multi-Frag |
| hps_clutch_win_rate_1v1 |
clu_1v1_win_rate |
P1 |
Clutch |
| hps_clutch_win_rate_1v3_plus |
clu_1v3_plus_avg |
P1 |
Clutch |
| util_avg_nade_dmg |
uti_nade_dmg_avg |
P1 |
Utility |
| util_avg_flash_time |
uti_flash_time_avg |
P2 |
Utility |
| util_usage_rate |
uti_usage_rate |
P1 |
Utility |
| eco_avg_damage_per_1k |
eco_dmg_per_1k |
P1 |
Economy |
| eco_rating_eco_rounds |
eco_kpr_eco |
P1 |
Economy |
| pace_avg_time_to_first_contact |
pce_first_contact_time |
P1 |
Pace |
| pace_trade_kill_rate |
pce_trade_kill_rate |
P1 |
Pace |
| special_wallbang_kills |
spc_wallbang_kills |
P2 |
Special |
| special_high_iq_score |
spc_iq_score |
P1 |
Special |
| timing_early_kills |
timg_kills_early |
P2 |
Timing |
| timing_early_aggression_rate |
timg_aggression_rate |
P1 |
Timing |
| side_rating_t |
side_rating_avg_t |
P1 |
Side |
| side_rating_ct |
side_rating_avg_ct |
P1 |
Side |
| party_1_win_rate |
pty_solo_win_rate |
P2 |
Party |
| party_5_win_rate |
pty_full_win_rate |
P2 |
Party |
| rating_dist_carry_rate |
perf_carry_rate |
P2 |
Stratification |
| elo_gt2000_rating |
perf_vs_elo_2000_plus |
P2 |
Stratification |
(完整映射表见附件Excel)
10.2 参考资料
- FeatureRDD.md: 特征维度详细设计文档
- profile_data_analysis.md: 现有Profile数据分析报告
- 6D_README.md: 六维能力模型说明
- L2 Schema:
database/L2/schema.sql
- L3 Schema:
database/L3/schema.sql
- Feature Service:
web/services/feature_service.py
- Profile Template:
web/templates/players/profile.html
10.3 术语表
| 术语 |
英文 |
解释 |
| 评分 |
Rating |
5E平台综合评分,加权多项指标 |
| 击杀比 |
K/D Ratio |
Kills / Deaths |
| 场均伤害 |
ADR |
Average Damage per Round |
| 贡献率 |
KAST |
Kill, Assist, Survive, Trade 参与率 |
| 首杀 |
First Kill (FK) |
回合第一个击杀 |
| 首死 |
First Death (FD) |
回合第一个死亡 |
| 残局 |
Clutch |
1vX情境 |
| 经济局 |
Eco Round |
装备价值<$2000的回合 |
| 长枪局 |
Fullbuy |
装备价值≥$4000的回合 |
| 穿墙 |
Wallbang |
透过墙体击杀 |
| 穿烟 |
Through Smoke |
透过烟雾击杀 |
| 盲狙 |
NoScope |
AWP不开镜击杀 |
| 补枪 |
Trade Kill |
队友死后5秒内击杀对手 |
| 无效死亡 |
Invalid Death |
死亡时0击杀0助攻 |
| 赛点 |
Match Point |
一方达到12分或15分 |
结论
本文档提供了YRTV玩家档案系统的完整数据清单(122个指标)、当前问题分析(命名、冗余、分类、Schema)、重组方案(新分类体系、命名规范、UI逻辑)、Schema优化建议(列名重构、索引、拆表)以及详细实施计划(6个阶段)。
核心价值
- 降低维护成本:统一命名规范,减少50%的代码注释需求
- 提升用户体验:分组折叠,减少认知负担,提高30%的数据查找效率
- 增强可扩展性:优先级系统,新增指标有明确归类标准
- 保障数据质量:验证清单,自动化检查,异常率控制在1%以下
下一步行动
- 评审会议:召集开发、产品、数据团队,评审本方案
- 任务分配:根据阶段计划,分配到具体开发人员
- 原型设计:产品经理产出新UI原型,供前端参考
- 启动实施:从阶段一开始,按周迭代
文档版本: v1.0
最后更新: 2026-01-28
作者: AI Assistant + YRTV Team
联系方式: 项目Wiki
本文档持续更新,欢迎贡献!