对每一条评论,我都已掌握作者是谁、提到了哪些品牌,以及它所在的帖子是否是有人在询问该买什么。这足以回答一个很窄的问题:在那些一条推荐就可能促成购买的帖子里,究竟是谁在做推荐?
New Knife Day 是我为刀具收藏者建立的网站,收录各类刀具和钢材,并追踪 Reddit 用户正在购买和争论哪些刀,因此刀圈 Reddit 是否值得一读,与我自身利益相关。New Knife Day 的网址是 new.knife.day。
没有人会公开自己的水军账号,所以我必须事先想清楚付费发帖会留下什么痕迹。这个市场并不隐蔽:REDCmts 出售 Reddit 评论,单条 9.99 美元,100 条 699.99 美元,号称来自“真实的老号”,还展示了一组据称已交付的品牌提及案例。Soar 声称其账号在发出第一条品牌提及前,经过了数周的“养号和人工预热”。Bazzly 则宣传可对每一个看起来像正在购物的帖子进行自动回复。
如果把这些销售页面当作产品说明,那么某个品牌的付费推广活动通过少数几个备好的账号投放,应当呈现出以下特征:
上述每一种特征,同样可能出自一个狂热的粉丝、一位利用业余时间发帖的制刀匠员工,或是品牌自家 subreddit 的常客偶然逛进求购帖。公开的 Reddit 数据能证明推荐是集中的,却无法证明原因。下文讨论的只是前一半。
爬虫会在新帖发布后不久存储帖子及其评论。事后证明,这个时间点对这个问题来说选错了:求购帖的推荐会在随后一两天内陆续出现,而 r/knives 的帖子平均只存到 1.5 条评论。我做了一次刷新,回溯 3,607 条发布超过 48 小时的帖子并重新抓取其评论树,使语料库从 21,673 条评论增加到 51,129 条。在刷新之前,下文的检验一无所获,因为约 800 条求购帖提及数量太少,无法把 7.6% 与随机给出的 7.1% 区分开来。
有三个定义在这里发挥作用。求购帖是指标题或正文匹配“我该不该买”“推荐”“XX 美元以下”“最好的刀”之类短语的帖子;它是一个正则表达式,而不是分类器。作者的品牌重度度是其评论中提及品牌的比例,并按反复提及同一品牌加权。尾部是指在该得分上、987 位评论数不少于 10 条的作者中排名前 5% 的账号,共 49 个。我这样打分,是因为反复提起同一品牌的账号,正是上文那些卖家所出售的产品。
问题是:按每个人的发帖量计算,尾部账号纯属巧合时应写出多大比例的求购帖品牌提及?为得到这个数字,我把每一条品牌提及都留在原处——仍在原帖中、仍指向原品牌——只把作者名字在所有提及之间随机重新分配,就像打乱姓名牌。高产账号仍会分到很多提及,沉默账号仍会分到很少,但某账号出现在哪些帖子里不再取决于它是谁。我重复这一过程 1,000 次,并记录每次尾部账号的份额。如果真实份额落在 1,000 次重排产生的区间内,说明尾部账号在求购帖中的集中度并未超过其评论量所能解释的程度;若落在区间之上,则说明尾部账号出现在求购帖中的频率超出了其发帖量所能解释的范围。作者全程使用加盐哈希处理;没有任何用户名或评论文本离开数据库。
如果尾部账号出现在求购帖中只是因为发帖多,随机重排表明它们应写出其中约 7.9% 的品牌提及,且几乎总是落在 6.3% 到 10.1% 之间。而实际是 11.3%。1,000 次随机重排中只有 2 次达到这个水平。按具体数量计,大约每九条求购帖推荐中就有一条来自这 49 个账号,而随机概率是十三条里有一条,相当于 1,471 条推荐中多出约 50 条。
多出来的份额落在哪里,比它的规模更重要。如果整个刀圈 Reddit 都在被人操纵,那么每个 subreddit 都应高于随机水平。实际有两个高于随机:r/chefknives 和 r/knifeclub。规模最大的 r/knives 则与随机水平相差不到半个百分点。付费推广是单个品牌购买的,因此也应能按品牌逐个显现,事实确实如此:三个品牌来自尾部账号的求购建议远超随机水平,一个大品牌略低于随机水平,三个品牌则完全没有。这是少数几个定向推广会留下的形状,也是少数几个声势浩大的粉丝群体会留下的形状。
品牌名称做了匿名编码,因为集中度统计并不能证明任何品牌付过钱,何况信号最强的那个品牌本身也拥有一个庞大而高调的粉丝群体。
在语料库数据上,尾部账号还符合上述预测中的另外两条。这些账号很单薄:在这六个 subreddit 中评论数的中位数为 12 条,得分数中位数为 1,说明并没有人把它们顶上热门。它们忠于单一品牌:尾部账号三分之二的品牌提及指向同一个品牌。这是六条预测中的三条,也是这个语料库所能检验的全部。账号年龄、对刀具的专注度和商店链接,则需要每个账号完整的 Reddit 历史才能检验。
我选取了信号最强的三个品牌背后的 23 个尾部账号,抓取了 Reddit 肯返回的每项数据:最多约 2,000 条评论及其发帖、账号创建日期和 karma。作为对照,我从同一语料库中随机抽取了另外 23 位评论数在 10 条以上、评论数落在尾部账号区间内的作者。尾部账号有 8 个、对照组有 7 个的历史被隐藏、封禁或删除;其余均可读取。
一个预先准备的付费账号应该很年轻,主要在其受雇发帖的 subreddit 里活动,并只推一个品牌。尾部账号的年龄中位数为 4.5 年,与对照组相同。它们的评论中只有 3% 位于这六个刀具子版块,对照组为 10%;它们分布在 66 个 subreddit 中,对照组为 47 个。纵观全部历史,它们提及过七个刀具品牌,而不是一个。两组中的商店链接都很罕见。
我总共比较了约二十几项特征。在可读账号分别只有 15 个和 16 个的情况下,没有任何一项差异大到超出把 31 个人随机分成两组时经常出现的程度,而那些略有倾向性的差异,反而指向尾部账号对刀具的关注度更低。