| 渠道 | 用户 | 实时在线 | 收入支付 | 下载 | 留存 | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 累计用户 | 免费用户 | VIP用户 | 新增注册 | 活跃用户 | 在线设备 | 在线人数 | 官网访问 | 收入 | 付费人数 | 订单数 | 支付成功率 | iOS | 安卓 | macOS | Windows | 合计下载 | 次日留存 | 3日留存 | 7日留存 | |
| {{ row.channel }}{{ CHANNEL_CODES[row.channel] !== '—' ? '(' + CHANNEL_CODES[row.channel] + ')' : '' }} | {{ fmt(row.totalUsers) }} | {{ fmt(row.freeUsers) }} | {{ fmt(row.vipUsers) }} | {{ fmt(row.newReg) }} | {{ fmt(row.activeUsers) }} | {{ fmt(row.onlineDevices) }} | {{ fmt(row.onlineUsers) }} | {{ fmt(row.pageVisits) }} | ¥{{ row.revenue.toFixed(2) }} | {{ fmt(row.paidUsers) }} | {{ fmt(row.orders) }} | {{ row.payRate.toFixed(1) }}% | {{ fmt(row.dlIos) }} | {{ fmt(row.dlAndroid) }} | {{ fmt(row.dlMacos) }} | {{ fmt(row.dlWindows) }} | {{ fmt(row.downloads) }} | {{ row.retD1.toFixed(1) }}% | {{ row.retD3.toFixed(1) }}% | {{ row.retD7.toFixed(1) }}% |
| 合计 | {{ fmt(channelTotal.totalUsers) }} | {{ fmt(channelTotal.freeUsers) }} | {{ fmt(channelTotal.vipUsers) }} | {{ fmt(channelTotal.newReg) }} | {{ fmt(channelTotal.activeUsers) }} | {{ fmt(channelTotal.onlineDevices) }} | {{ fmt(channelTotal.onlineUsers) }} | {{ fmt(channelTotal.pageVisits) }} | ¥{{ channelTotal.revenue.toFixed(2) }} | {{ fmt(channelTotal.paidUsers) }} | {{ fmt(channelTotal.orders) }} | {{ channelTotal.payRate.toFixed(1) }}% | {{ fmt(channelTotal.dlIos) }} | {{ fmt(channelTotal.dlAndroid) }} | {{ fmt(channelTotal.dlMacos) }} | {{ fmt(channelTotal.dlWindows) }} | {{ fmt(channelTotal.downloads) }} | {{ channelTotal.retD1.toFixed(1) }}% | {{ channelTotal.retD3.toFixed(1) }}% | {{ channelTotal.retD7.toFixed(1) }}% |
| 指标 | {{ ch }} | 合计/均值 |
|---|---|---|
| {{ m.label }} | {{ m.isFloat ? getRaw(validateDate,ch,m.key).toFixed(1) : getRaw(validateDate,ch,m.key) }} | {{ m.isFloat ? channels.reduce((a,ch)=>a+getRaw(validateDate,ch,m.key),0).toFixed(1) : channels.reduce((a,ch)=>a+getRaw(validateDate,ch,m.key),0) }} {{ (channels.reduce((a,ch)=>a+getRaw(validateDate,ch,m.key),0)/channels.length).toFixed(2) }} (均值) |
| 指标 | {{ ch }} | 方法 | 期望值 | 实际值 | 验证 |
|---|---|---|---|---|---|
| {{ row.label }} | {{ row.isFloat ? v.toFixed(1) : v }} | {{ row.method }} | {{ row.isFloat ? row.expected.toFixed(2) : row.expected }} | {{ row.isFloat ? row.actual.toFixed(2) : row.actual }} | ✓ ✗ |
| 渠道 | iOS | 安卓 | Mac | Win | 四平台之和 | 存储的 downloads | 一致性 |
|---|---|---|---|---|---|---|---|
| {{ r.ch }} | {{ r.dlIos }} | {{ r.dlAndroid }} | {{ r.dlMacos }} | {{ r.dlWindows }} | {{ r.sum4 }} | {{ r.stored }} | ✓ ✗ 差 {{ r.sum4 - r.stored }} |
| 用户ID | 用户信息 | 渠道码 | 账号类型 | VIP到期时间 | 最后VPN连接时间 | 注册时间 |
|---|---|---|---|---|---|---|
| {{ user.id }} | {{ user.username }} | {{ user.channelName }}{{ user.channelCode !== '—' ? '(' + user.channelCode + ')' : '' }} | {{ user.accountType }} | {{ user.vipExpiry }} | {{ user.lastVpnTime }} | {{ user.regTime }} |
| 设备名称 | 类型 | 设备归属(用户ID) | 归属渠道 | 连接节点 | 设备ID | 会话UUID |
|---|---|---|---|---|---|---|
| {{ dev.name }} | {{ dev.platform }} | {{ dev.ownerId }} | {{ dev.channelName }}{{ dev.channelCode !== '—' ? '(' + dev.channelCode + ')' : '' }} | {{ dev.node }} | {{ dev.deviceId }} | {{ dev.sessionUUID }} |