数据分析
TelegramOS 数据分析实际衡量的内容:每个账号的消息发送与接收事件、按用户的隐私开关如何生效、AI 洞察、导出以及保留期。
数据分析基于一条事件流构建:您的账号发送的每条消息,以及它们收到的每条会话消息,都会作为一行 account_events 记录写入 ClickHouse。数据分析页面、控制台卡片以及每个账号的计数器都读取这张表。数据分析需要具备 analytics 能力的套餐(所有付费套餐及试用期)。
跟踪的内容
| 事件 | 触发方 | 使用的元数据 |
|---|---|---|
message_sent | 工作进程,在每次出站发送时 | 对方类型(用户、机器人、群组、频道);kind = 回复或转发 |
message_received | 消息监听器,针对私聊以及回复或提及该账号的群组消息 | 对方类型、is_reply、is_mention、media_type |
group_join | 工作进程,在加入任务成功时 | 计入“已加入群组” |
error | 工作进程,在失败时 | 包含 flood 的记录被计为 flood wait |
来自 Telegram SpamBot 健康探测的回复会从所有统计中排除。响应时间、对话长度、机器人命令使用情况或表情回应均不记录;API 中的 reactions_given 字段始终为 0。
控制台
选择 7、14、30 或 90 天的时间窗口。每个区块都会将该窗口与紧邻其前的窗口进行比较。
- 概览卡片:已发送消息、已接收消息、活跃账号(至少有一个事件的账号)以及响应比(接收数除以发送数),每项都附带百分比变化。
- 消息量:每日发送与接收。
- 消息流向:按对方类型统计的发送与接收。
- 出站构成:常规、回复和转发发送。
- 入站媒体:按媒体类型统计的收到消息。
- 按小时活动:24 个 UTC 时段。
- 账号垃圾信息与健康时间线:按账号或整个账号群,最长 180 天。消息和 flood wait 来自 ClickHouse;健康分数是
account_health_log中的每小时快照(90 天后清理),垃圾信息状态是 SpamBot 的每日判定。健康与垃圾信息曲线从该账号开始记录日志时起算。 - 热门账号:窗口内最活跃的十个账号。
- AI 洞察:一个用于请求文字摘要的按钮(见下文)。
导出 CSV会将屏幕上的报告(总计、变化量、构成、对方分布、媒体、每小时活动、热门账号)写入浏览器中的一个文件。没有定时导出,也没有原始事件导出。
账号页面显示每个账号今日的发送与接收数量以及已加入的群组数,从同一张表读取并缓存 60 秒。
隐私开关
“设置 > 隐私 > 消息数据分析”是一个按用户的标志(analytics_enabled,默认开启)。
| 状态 | 效果 |
|---|---|
| 开 | 上述所有接口都返回数据 |
| 关 | /analytics/summary 返回零值并附带 analytics_enabled: false,/analytics/report 仅返回 analytics_enabled: false,/analytics/daily、/analytics/velocity、/analytics/anomalies 和各时间线返回空结果,/analytics/ai/summary 返回带说明的空摘要。页面显示“Analytics is disabled for your account.” |
关闭开关只停止读取,不停止写入:事件仍会继续被采集,不会有任何内容被匿名化或删除,重新开启后会显示完整历史。如果由于数据库错误无法读取该标志,数据分析会按关闭状态处理。
对于团队,所有者的开关控制所有者的数据:拥有 analytics:read 的成员只有在该团队所有者开启此开关时才能看到该团队的数据分析。
AI 洞察
AI 功能由部署级的 AI_ENABLED 标志控制。
- 关闭:生成洞察返回一份由同样的周环比信号(趋势、按账号的异常值、消息量异常检查)计算出的统计摘要。不会调用任何模型。
- 开启:这些信号被发送到配置的模型,并显示其回复。如果调用失败,则改为返回统计摘要。
模型开启时,AI 操作会计入按套餐的每月额度(Free 10、Starter 500、Growth 5,000、Agency 无限制;可按部署配置)。其他 AI 接口(会话摘要、回复建议、情感分析、发送风险、模板变体、每日摘要)均按需触发,并计入同一额度。除非您主动触发,任何收到的消息都不会被模型分析。
保留期
| 数据 | 保留期 |
|---|---|
account_events(所有消息和错误事件) | 2 年,之后由 ClickHouse TTL 删除 |
| 异常事件 | 90 天 |
| 账号健康快照(Postgres) | 90 天 |
| 营销网站事件(匿名) | 12 个月 |
API 限制
- 请求的日期范围最多跨越 366 天。
/analytics/daily的小时粒度限制在 7 天窗口内。- 时间线接受 1 到 180 天;异常接受 1 到 30 天;速度接受 1 到 168 小时。