mcpField
A
affiliate-fraud-detection

affiliate-fraud-detection

github.com/mbfinotti营销与增长214.6k 次安装3 天前更新
代码仓库

关于 affiliate-fraud-detection

affiliate-fraud-detection 是面向联盟计划负责人的防御性技能,用于识别和调查可疑活动。它帮助基于数据制定规则、安排控制措施优先级,并规划证据收集与升级处置,同时考虑误报。

主要功能

  1. 01访谈以梳理计划情况和数据权限
  2. 02排列暂缓、检测、条款和追偿控制优先级
  3. 03根据联盟表现数据推导阈值
  4. 04制定包含严重级别和规定措施的规则
  5. 05纳入误报防护措施
  6. 06定义调查与升级处置流程

适用场景

  1. 01建立持续运行的联盟欺诈监测规则
  2. 02付款前审查可疑合作伙伴活动
  3. 03为新合作伙伴或高风险群体设定控制
  4. 04为疑似事件制定调查步骤

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/mbfinotti/partnerships-skills --skill affiliate-fraud-detection

安装后在 Claude Code 中输入/affiliate-fraud-detection确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

evals/
evals.json
references/
detection-signals.md
false-positives-and-incrementality.md
fraud-taxonomy.md
investigation-and-enforcement.md
worked-examples.md

详细介绍

联盟营销欺诈检测

构建项目所有者用于标记联盟营销欺诈活动的规则集,然后进行调查并升级处理。这是一项防御性技能:它保护项目免遭欺诈,并且仅在识别欺诈模式所需的深度上对其进行描述。

目前不存在公认的联盟营销欺诈检测框架。唯一获批的标准是 IAB/MRC 无效流量分类,这是一项广告衡量标准,联盟营销行业借鉴了它,但它并非专为联盟营销项目编写:

  • GIVT - 可通过常规列表筛查发现:已知机器人、数据中心 IP、非浏览器用户代理。
  • SIVT - 需要高级分析和佐证:设备被劫持、广告软件、Cookie 填充。

PMA 的 Toolbar and Software Industry Standard 是一项自愿且不具约束力的提案,并非获批标准。不要强行套用其他框架。

杠杆作用最大的单一控制措施是 30-90 天的佣金暂缓/验证期,而不是检测算法。最有力的独立证据也支持这一点:Edelman 的研究(与 Edelman 和 Brandi 的研究相关,JMR 2015)发现,将联盟营销付款延迟两到四个月,可在不降低利润的情况下消除超过 70% 的欺诈。

控制杠杆

在下一轮付款周期前的时间里,四项控制措施相互争夺。动笔编写任何规则之前,先对它们排序。

  • 价值(从高到低):hold window > clawback clause set > detection rule set > new-partner terms
  • 工作量(从高到低):clawback clause set > detection rule set > new-partner terms == hold window
  • 合规成本(从高到低):clawback clause set > hold window == new-partner terms > detection rule set
  • 效率(从高到低):hold window > detection rule set > new-partner terms > clawback clause set
控制措施带来的收益付出的成本
暂缓/验证窗口,30-90 天大多数欺诈佣金都不会离开账户——上文提到的超过 70% 欺诈款项的结果,且不会影响利润一小时:只需调整一个平台设置,变更当天即可撤销。会改变合作伙伴已接受的条款,因此需要履行通知义务
检测规则集(本技能的交付成果)明确应对哪些合作伙伴采取行动,并提供执法措施可据以执行的证据需要一两天来制定基准并编写规则,其中大部分时间用于回测,然后还需持续进行分诊。除非规则读取跨账户身份数据,否则合规成本近乎为零;一旦读取,就必须经过 [LEGAL REVIEW] 审核
新合作伙伴/高风险合作伙伴条款(net-60/90、更严格的筛选条件)将风险范围缩小到产生大多数首发欺诈的群体一小时;在工作量和风险范围上都与暂缓窗口并列,这背后有充分理由:使用同一设置页面、由同一人操作、可同样撤销、承担同样的通知义务——区别仅在于修改的字段不同
追偿 + 负余额结转 + 拒付准备金唯一能够追回已支付款项的控制措施,也是唯一能覆盖暂缓窗口无法触及的 120-540 天拒付尾部风险的措施一个季度:需要起草法律条款并让合作伙伴重新同意;上线后几乎无法撤销。没有这些条款就追回已支付的佣金,本身就构成违约

先设置暂缓窗口,再构建规则集;如果项目两者皆缺,无论检测能力多强,都没有真正有效的控制措施。

按效率排序会让追偿条款集得不到资源——它在价值轴上排名最高,在效率比上却垫底,因此每轮都会落败。如果项目销售订阅、高价商品或延迟交付商品,或者已经因拒付支付了款项,就应将它提升到所有措施之上:在这些情况下,只有这项控制措施能触及已经付出去的钱,而效率比却把它排在最后。

交付前重新排序

本技能中的所有排序都是默认顺序,不是铁律。排序会因项目及执行者而异,因此要根据访谈内容重新排列:

  • 平台无法配置保留窗口 → 从交付方案中删除这一项,并说明原因。把已排除的控制措施放在计划末尾,会让它重新成为范围内事项。剩余顺序为 rule set > new-partner terms > clawback clause set,追偿条款不再是可选项。
  • 没有人手负责审核 →「保留与调查」中的 24-48h 审核永远不会发生。将规则集交由 Watch 监控,再加上每月一次的批量审核,并让保留窗口为项目兜底。
  • 名单规模小到可以手动查看,大约少于 20 个合作伙伴 → 在这样的样本中使用 2-SD 异常值计算和逐事件评分,只会造成虚假的精确性。检查合作伙伴名单,并跳过统计分析环节。
  • 用户已经拥有排序假定不存在的某项资源——服务器端回传、欺诈分析师、固定的拒付准备金——就提升该资源能让其以较低成本实施的措施。

基本原则

  • 识别,但绝不实施:说明每种模式会在项目数据中留下哪些可观察到的迹象;不写任何规避方法或构建细节。
  • 为每个数值阈值标注来源:供应商/机构的经验法则、学术研究结果,或用户根据自身数据得出的基线。绝不要把供应商的启发式规则说成行业恒定标准。
  • 提醒用户警惕醒目的损失统计数据:广为流传的「17% 的联盟流量是虚假的/34 亿美元」这一说法,来自单一供应商的营销材料,且引用关系循环。
  • 将低增量性视为重新定价问题,而非欺诈。优惠券、返现、忠诚度、浏览器扩展、再营销和品牌搜索合作伙伴默认都是正当的。
  • 将 B2B 和 B2C 信号分开。明确说明某条规则是否同时适用于两者。
    • B2C 欺诈:归因被盗的销售,可在数小时至数天内通过点击时序、Cookie 投放和拒付信号观察到。
    • B2B 潜在客户开发欺诈:虚假的表单提交,其毫无价值这一点要在几周后才会从下游转化率中显现。
  • 绝不要假设联盟网络会主动监管:网络会从佣金交易量中抽成,因此其合规审查是被动的——只有收到有证据支持的投诉后才会采取行动,而不会针对特定品牌进行监控。
  • 预计 AI 生成的合成流量会削弱行为启发式规则(会话时长、滚动深度)的效果;将供应商近期关于检测效果的说法视为未经验证的信息,并优先考虑服务器端信号和下游结果信号。

访谈

开始构建前先提问:

  • 每条消息只问一个问题。
  • 尽可能提供选择题。
  • 跳过已经回答的问题。

先问完以下前三个问题,再问其他问题:这些控制措施的见效时间和所需投入相差两个数量级,而答案将决定后续所有工作的交付顺序。

  • 这套规则必须在什么时候开始保护资金——下一个结算周期,还是一个季度后?选择一个周期,就意味着全部工作都要集中在冻结窗口和等级划分上,并将追回条款排除在范围之外;选择一个季度,则可以重新考虑合同变更。
  • 是一次性清理一个你已怀疑有问题的合作伙伴,还是建立一套能持续发挥作用的常设控制措施?选择一次性清理,就应优先处理档案和执行路径,并跳过基准推导;选择常设控制措施,就应优先建立基准、监控频率和 KPI 闭环。
  • 投入上限是多少:每周可用于审核的小时数是多少、谁有权修改合作伙伴条款,以及由谁签字批准暂停合作伙伴?没有审核能力,就只能将「冻结并调查」降级为「观察」;没有合同权限,就要彻底删除追回这一层级。
  • 项目规模如何:有多少活跃联盟伙伴,每月佣金支出大致是多少?
  • 是 B2B 线索获取、B2C 电商,还是两者都有?
  • 允许哪些合作伙伴类型和流量来源:优惠券、返现、会员忠诚计划、浏览器扩展、付费搜索(是否允许竞价品牌词)、电子邮件?
  • 追踪和归因方式是什么:末次点击?Cookie 窗口时长?客户端像素还是服务端回传?
  • 目前是否有佣金验证或冻结窗口?合同是否授权追回佣金(负余额结转、拒付准备金)?
  • 过去发生过哪些欺诈事件?当时如何处理,追回过佣金吗?
  • 你具体可以查询哪些数据:点击日志、转化记录、IP/设备数据、CRM 线索结果、退款/拒付记录?

工作流

  1. 运行访谈;收集规则集所依赖的所有答案。
  2. 确认范围边界:此规则集用于标记违规活动。结算计算、合同条款和推荐好友作弊属于相关技能(参见 Reference)。
  3. 根据上述回答,使用上文的控制杠杆对四项控制措施排序,然后先修正资金机制,再编写任何规则。如果规则集规定了 14 天的冻结期,却没有追缴授权,就会标记出程序无法采取行动的欺诈行为。
  4. 根据至少 90 天的用户自有联盟伙伴数据,推导基准值:转化率、点击到转化的时间、退款/拒付率;对于 B2B,还要计算潜在客户到合格客户的转化率,以及潜在客户到演示出席的比率。阅读 references/detection-signals.md,了解信号目录和初始阈值。
  5. 根据 references/fraud-taxonomy.md,梳理程序面临的欺诈风险面:允许的合作伙伴类型和追踪设置实际会使其暴露于哪些模式。
  6. 按照下文的输出格式起草规则集:每条规则占一行,并包含信号、注明来源的阈值、严重程度区间和规定的行动。
  7. 根据 references/false-positives-and-incrementality.md,加入误报防护措施:将合法的结账环节合作伙伴行为排除在欺诈规则之外,并将非增量性疑虑转交给留出组/地理测试处理。
  8. 附上 references/investigation-and-enforcement.md 中的操作流程:监控频率、证据收集、档案、升级阶梯、申诉和追缴机制。
  9. 根据下文的通过门槛进行回测;调整阈值并反复迭代,直到两部分要求都满足。
  10. 按章节向用户展示规则集以供验证;交付完整成果,包括档案模板和 KPI 计划。参考 references/worked-examples.md 中相符的完整示例。
  11. 如果你的运行环境支持持久记忆,请记住推导出的基准值、确定的阈值和允许的合作伙伴决策,以便后续运行可以直接沿用,而不必重新推导。

输出结构

交付一套规则集,每条规则均按以下形式编写:信号 → 阈值(附来源标签)→ 严重程度等级 → 强制措施。以下三个等级按效率顺序而非严重程度排序:

  • 价值(由高到低):Suspend & Escalate > Hold & Investigate > Watch
  • 投入(由高到低):Suspend & Escalate > Hold & Investigate > Watch
  • 合规成本(由高到低):Suspend & Escalate > Hold & Investigate > Watch
  • 效率(由高到低):Hold & Investigate > Watch > Suspend & Escalate

前三个维度的排序一致,这正是第四个维度起决定作用的原因:响应等级越高,严重程度带来的收益越大,成本也以相同比例增加,因此,能以数小时可逆工作为代价暂停资金流出的等级胜出。

  • Hold & Investigate(等级第 2 级)——自动将新的佣金发放限为零,等待审核;建立案件档案,并在 24-48 小时内开展跨职能审核。限流可以保留立即封禁会销毁的证据。每个案件耗费数小时:限流只需切换一个开关,审核则需要两个人投入一两天时间。扣留佣金属于合同约定范围内的行为,但可以撤销——支付后,合作伙伴便不再受损。三个等级中,该等级的投入产出比最高,也是更高一级所需证据的来源。
  • Watch(等级第 1 级)——记录标记,继续付款,在每周分诊时审核。适用于轻微异常和轻微规则的初犯。成本几乎为零:只需记录一条日志,并在本就会举行的会议中占用一个议程席位;不扣留款项,不损害关系,也无需处理申诉。该等级本身无法提供保护,只有通过为 Hold & Investigate 提供线索才能体现价值。
  • Suspend & Escalate(等级第 3 级)——暂停账户,追回违规期间的佣金,将案件档案提交给网络合规部门,并在适当情况下交由法务审核。每个案件耗时一周,且会直接损害合作伙伴关系:完成案件档案、取得签字批准、向网络提交材料、处理申诉。三个等级中,该等级最难撤销、风险也最高——暂停账户可能违反已公布的条款,而毫无根据的欺诈指控本身也会产生法律责任。

默认将新规则分配到 Hold & Investigate。如果该信号单独出现时存在合理的正当原因,则下调至 Watch;只有在有确凿技术证据、出现盗刷信用卡的拒付,或警告后再次违规时,才上调至 Suspend & Escalate。

效率排序会让 Suspend & Escalate 受冷落:只按比率排名的项目会永远限流、无人终止,而一旦团伙发现项目从不封禁,便会将限流视作常态。每当已确认欺诈率或佣金追回占比连续季度攀升时,以及案件需要经受网络合规审查、限流毫无分量时,都应提高该等级的使用频率。

每项等级分配都必须在同一处注明误报风险:指出可能触发规则的正当行为,以及用于区分该行为的核查方式。

每项调查都应建立案件档案,并包含以下字段:联盟会员 ID 和网络/平台 ID;触发的规则及时间戳;基线值与观测值;证据材料(Cookie 丢弃复现步骤、重定向链捕获记录、带时间戳的屏幕截图、服务器日志摘录);财务风险敞口(扣留、已支付和面临风险的佣金);申报的流量来源与实际观测到的引荐来源;既往警告和历史记录;建议措施及审核人姓名;申诉状态和截止日期。

通过阈值

将规则集的检出率和误报率作为一对指标进行评估——所有可信来源都会同时跟踪拦截率和误报率,绝不会只看拦截率。

  • 根据历史上已确认的事件,以及从已标记和未标记的合作伙伴中随机抽取、经人工审核的样本进行回测。
  • 两项条件均满足时才算通过:至少 80% 的已知事件触发「暂停并调查」或更高级别的处置,且抽样标记中误报最多占 5%。
  • 这对指标的依据:已发布的欺诈运营清单都将拦截目标定在 80% 以上,并设定个位数低位的误报率上限;简单规则的学术上限参考 Snyder & Kanich 的双特征时序分类器,在约 2 秒的阈值下达到 93.3% 的准确率、1.5% 的误报率和 5.2% 的漏报率(Journal of Cybersecurity,2016 年)。这些是校准参考值,并非行业常数。
  • 没有事件历史可用于回测?请在交付物中说明,并将阈值设为第一季度审查时,基于抽样标记进行评估的门槛。
  • 反复调整阈值,直到两项指标都达标;如果无法达标,交付物应说明缺少哪些数据或历史记录,而不是交付未经测试的规则集。

常见故障模式

缺陷后果修正
欺诈规则将合法的优惠券、返现或忠诚度计划末次点击行为判定为欺诈终止真实合作伙伴关系;造成法律和合作关系损害对合作伙伴类型分类;将增量效果疑虑交由留出组/地理测试处理,而非采取执法措施
未经调优,直接采用供应商阈值进行过度拦截真实合作伙伴流失;项目收入下降根据 90 天数据推导自身基线;供应商数据仅作起始参考
验证窗口短于拒付窗口已支付的盗刷卡佣金无法追回在合同中加入追回条款、负余额结转和拒付准备金
将面向 B2C 的点击时序规则用于 B2B 线索开发(或反之)B2B 误报;漏掉虚假表单提交;漏掉 B2C 归因盗用按业务模式拆分规则集;B2B 侧重下游转化率
相信联盟网络会监管项目欺诈持续发生,直到外部人士投诉自行负责监控;向联盟网络发送证据档案,不要指望对方主动处理
将供应商基准当作项目自身的基线阈值在两个方向上都校准失当为每个数值标注来源;替换为推导得出的基线
首次触发标记就立即封禁证据被销毁;无法留存档案以供联盟网络/法律升级处理审核期间自动将流量限制为零;仅在档案完整后封禁

KPI

  • 跟踪:标记率、确认欺诈率、抽样审核得出的误报率、佣金冲回占比、追回的支出。
  • 向管理层汇报节省和追回的佣金损失金额——绝不使用含糊的风险表述。
  • 如果确认欺诈率或佣金冲回占比连续季度大幅上升,应升级处理项目本身:重新审视暂缓窗口、合作伙伴审核和工具。

调用示例

  • “我们运营着一个 B2B SaaS 合作伙伴计划,每个合格潜在客户支付 150 美元——销售团队说,来自两家新联盟伙伴的一半潜在客户都不接电话。帮我制定检测规则。”
  • “我们的电商联盟计划刚刚因某个联盟伙伴的‘销售’产生了 12,000 美元的拒付。请在我们支付下一期款项前,设置一套欺诈规则并制定调查流程。”
  • “审计我们的联盟流量质量:60% 的佣金都付给了优惠券扩展程序,我无法判断这是抢功还是欺诈。”

参考

  • mbfinotti/partnerships-skills@affiliate-payout-audit - 确保对真实活动准确支付;此技能会在上游标记不正当活动。
  • mbfinotti/partnerships-skills@affiliate-program-terms - 将禁止行为条款和执行阶梯写入合同——此技能负责检测运营违规行为。
  • mbfinotti/partnerships-skills@affiliate-commission-structure - 为非增量合作伙伴重新定价;重新定价属于该技能的职责,而非执法的职责。
  • mbfinotti/partnerships-skills@referral-abuse-guardrails - 防范消费者邀请好友机制被滥用;此技能涵盖专业联盟流量和佣金欺诈。

评论

支持 Markdown