研究
评论转私信基准方法论
三个数字描述评论转私信活动的效果:匹配率、送达率和首条私信时间。 三者都在下方定义,连同要构建的活动、要发布的评论,以及结果发布在其中的文件。 尚未收集任何数据,所以本页不出现任何结果——方法先发布,是有意的。
状态: 方法论已发布;数据收集未开始。本文档中每个已测量字段在第一次运行完成之前为空,届时结果和原始数据集在此处发布。
三个指标的含义
Section titled “三个指标的含义”每个指标是一个计数除以一个计数,在一次运行中对一个已连接主页进行,每个的分母排除平台从未送达给 AFP 的试验。
| 指标 | 定义 | 单位 |
|---|---|---|
| 已启动试验 | 运行期间发布的、产生了测试活动执行记录的评论 | 计数 |
| 匹配率 | 执行记录从 Match 离开条件节点的试验,除以已启动试验 | 百分比 |
| 送达率 | 执行记录记录了已发送私信的试验,除以执行记录到达发送私信节点的试验 | 百分比 |
| 首条私信时间 | 从观察者发布评论到私信出现在收件人会话中的秒数 | 秒,以中位数和第 90 百分位报告 |
匹配率测量条件节点,而不是触发器。 触发节点不持有任何关键词配置,所以范围内帖子上的每条评论都启动一条执行记录,条件是比较文本的唯一地方。 关键词匹配规则 定义每种匹配类型执行的比较。
送达率测量 AFP 记录了什么,而不是收件人看到了什么。 一个引发错误的发送私信节点记录该错误,运行在那里停止前进,所以失败是可见的;被 Facebook 或 Instagram 接受后过滤的消息在此定义下算作已送达。
首条私信时间在两端用观察者的时钟测量——评论提交时,以及私信出现在收件人会话中时。 AFP 内部记录的时间戳来自平台,仅作为交叉检查。
每个数字从哪里取
Section titled “每个数字从哪里取”测试活动如何构建
Section titled “测试活动如何构建”一个活动,四个节点,没有等待。 图中的任何其他东西都增加一个与三个指标无关的变量。
- 创建一个绑定到被测主页的活动并在画布上打开它。
- 添加一个评论触发器。将其帖子范围设置为 specific post 并选择为运行创建的帖子,这样其他帖子上的普通流量无法进入样本。保持 unique per user 关闭——开启后,重复评论者会被短路,试验永远不会开始。
- 添加一个条件节点,匹配类型为 Keyword list,指向为运行创建的关键词列表。保持反转匹配关闭,保持图片、GIF 和链接过滤器关闭,保持 wait for reply 关闭,使运行一次通过解决。
- 添加一个发送私信节点,带固定文本消息,连接到条件的 Match 输出。不连接任何东西到 No Match,所以不匹配的运行在条件处结束,在历史中毫不含糊。
- 保存活动,然后启用它。启用验证图,是与保存分开的操作。
- 停用该主页上的所有其他活动。每个触发器匹配的活跃活动都启动自己的执行记录,两个活动回答同一条评论会使送达率失去意义。
运行如何执行
Section titled “运行如何执行”环境优先:一个 Facebook 主页和一个 Instagram 商业账户,都已连接并订阅,在一个订阅活跃的账户下。 订阅不活跃时到达的评论记录为订阅错误,存储访问已停止工作的主页记录重新登录错误。 两者都算作环境失败,从每个比率中排除。
- 将关键词列表固定为单个关键词,并固定私信文本。两者逐字记录在运行笔记中。
- 为每个试验分配一个不同的评论者账户。一个人同时只有一条活动运行,所以同一账户在第一条运行仍活跃时的第二条评论会被跳过,会悄悄缩小样本。
- 从主页本身以外的账户评论。主页发布的评论被忽略,这排除了从主页账户驱动运行。
- 对于每个试验,发布其分桶的评论文本,并在观察者时钟上记录提交时间。
- 观察收件人的会话,并在同一时钟上记录私信的到达时间。在固定截止时间后记录未到达,截止时间在运行开始前选择并随结果说明。
- 阅读活动的执行记录历史,按试验记录运行是否从 Match 离开条件以及它在哪里停止。历史返回最近 20 次运行且不自我刷新,所以保持每批在此之下,并在开始下一批之前阅读它。
- 将活动 feed 过滤到主页和运行的时间窗口,然后导出它。导出应用 feed 的过滤器并作为 JSON 下载,它是逐试验表背后的审计追踪。
- 在第二个平台上重复,不更改活动形状、关键词或私信文本。
每个试验属于一个分桶,分桶固定发布的文本和它预期走的分支。
| 分桶 | 发布什么 | 预期分支 |
|---|---|---|
| 精确关键词 | 单独的关键词 | Match |
| 句子中的关键词 | 包含关键词作为子字符串的句子 | Match |
| 大写关键词 | 以大写字母输入的关键词 | Match |
| 近似错过 | 与关键词共享前缀但不包含它的词 | No Match |
| 无关文本 | 不包含关键词的帖子评论 | No Match |
| 仅媒体 | 不带文本的贴纸或图片 | No Match |
仅媒体评论以占位符文本而非空字符串到达条件,这就是为什么它属于样本:它是条件比较的内容不是评论者输入内容的唯一分桶。
无结果。数据收集尚未开始,本页没有任何内容被测量。
定义、活动形状、分桶和截止在任何数字存在之前已在公开中固定,所以最终数字可以对照无人能在看到数据后调整的协议来检查。
原始数据集将包含什么
Section titled “原始数据集将包含什么”每次运行一个 JSON 文件,在此页上与摘要表一起发布,每个试验一个对象。 步骤 7 中获取的活动导出不加更改地与之一起发布,所以每个试验可以追溯到 AFP 记录的行。
| 字段 | 它保存什么 |
|---|---|
trial_id | 运行内的序列号 |
platform | facebook 或 instagram |
bucket | 上述六个分桶名称之一 |
comment_text | 发布的确切文本 |
comment_posted_at | 观察者时钟,评论提交时 |
execution_started | 是否为该评论创建了执行记录 |
branch_taken | match、no_match 或 none |
dm_recorded | 执行记录是否记录了已发送私信 |
dm_observed_at | 观察者时钟,私信出现在会话中时 |
time_to_first_dm_seconds | 两个观察者时间戳之间的差值 |
outcome | delivered、no_match、no_execution、environment_failure 或 timeout |
notes | 关于试验的任何异常,纯文本 |
已测量字段在运行填入之前为 null。已发布骨架中的一个试验如下:
[ { "trial_id": 1, "platform": "facebook", "bucket": "exact_keyword", "comment_text": "price", "comment_posted_at": null, "execution_started": null, "branch_taken": null, "dm_recorded": null, "dm_observed_at": null, "time_to_first_dm_seconds": null, "outcome": null, "notes": "" }]- 送达不全是 AFP 的。 AFP 将消息交给 Facebook 或 Instagram;之后发生什么不在此处测量的任何内容之内,首条私信时间包含平台自己的送达时间。
- 一个账户、一个受众、一个窗口。 一次运行在一天中的一个时间覆盖一个 Facebook 主页和一个 Instagram 商业账户。它对有不同流量、不同粉丝数或不同地区的主页什么也没说。
- 观察者时钟是手动的。 时间测量的两端由一个观察两个界面的人记录,所以分辨率粗糙,人类反应时间在数字之内。
- 样本是合成的。 为填充分桶写的评论不是真实粉丝写的评论,近似错过分桶特别选择位于匹配边界附近。
- 大小写处理未确认。 大写分桶被测量,但其预期分支在工程确认比较如何处理字母大小写之前未验证。
- 没有测量竞争对手。 这些指标仅描述 AFP。对比页面 明确说明没有测量任何竞争对手性能数字。
- 比率是记录的,不是保证的。 这里没有任何东西是服务等级。一个发布的数字描述一天的一次运行。