AppsFlyer Protect360 判假之后:如何系统排查 IP 维度

做移动效果广告的同学大概率都遇到过这种场景:Protect360(P360)把某渠道的一批激活判成了假量,合作方不认账,要求"拿出证据"。

这时候单靠面板上的转化率、CTIT 分布这些常规指标很难说服对方------真正能在谈判桌上立住的证据,往往来自 IP 维度的分析。这篇文章分享一下我自己的一套 IP 排查流程,供参考。

一、先解决一个认知问题:面板里看不到 IP

P360 面板只提供渠道、国家/地区等维度的汇总数据,IP 明细必须从原始数据报告中导出。

导出路径大致有三个:

  1. 导出数据(Export Data)页面:选择"Protect360 与验证规则"报告类型,可手动下载 CSV;

  2. Pull API:适合程序化拉取,接进内部数据管道;

  3. Data Locker:定时推送到云存储,适合需要长期留痕的团队。

注意报告分为两类:实时拦截 和归因后识别。归因后报告(即先计为有效、之后被判假的部分)需要按渠道和月份单独选择下载。

拿到 CSV 后,重点保留这几个字段:

  • IP

  • media source(渠道 PID)

  • site ID(子渠道)

  • blocked reason / fraud reason(判假原因)

  • CTIT(点击到安装的间隔)

  • 设备相关字段(GAID、设备型号、OS 版本等)

先按 fraud reason 筛一遍,把其中与 IP 相关的判定记录(比如可疑 IP 段、代理/数据中心流量)单独拆出来,作为后续分析的主数据集。

二、IP 聚合分析:别盯着单个 IP,要看"聚集性"

单看一个 IP 没有意义------它可能是误判,也可能是正常用户刚好用了代理。真正有价值的是群体规律,我一般从四个角度做聚合。

1. 网段聚合(/24、/16)

用 Python 对 IP 做网段归并,看判假记录在 C 段甚至 B 段上的分布。

复制代码
import pandas as pd

df = pd.read_csv("protect360_report.csv")
df["ip_c"] = df["IP"].apply(lambda x: ".".join(str(x).split(".")[:3]))
df["ip_b"] = df["IP"].apply(lambda x: ".".join(str(x).split(".")[:2]))

top_c = df.groupby("ip_c").size().sort_values(ascending=False).head(20)
print(top_c)

正常移动用户的流量来自各地运营商的动态 IP,分布应该是高度离散的。如果一大批判假激活集中落在同一个或几个 C 段里,基本可以指向机房出口或设备农场。

2. 时间戳规律

对同一网段内的记录按时间排序,看请求间隔。如果是毫秒级、近似均匀的间隔,是脚本跑批量任务的典型特征;真实用户的点击和安装间隔天然是稀疏且随机的。这个特征即使换了 IP 也很难伪造。

3. IP 复用度

统计两个方向的映射关系:

  • 一 IP 对多设备:同一个 IP 对应几十个甚至上百个不同 GAID,是设备农场批量起量的直接证据;

  • 一设备对多 IP:同一台设备在短时间内轮换大量 IP,常见于配合代理池伪装地理位置的作弊方式。

4. 交叉维度拆分

把"IP 段 × site ID × 渠道"拉成透视表。这一步的价值在于定位责任范围:如果某个渠道整体水,是渠道级问题;如果只有一个或几个 site ID 的 IP 段异常,可以精确到子渠道去核减,谈判时对方也很难回避。

三、第三方 IP 情报交叉验证

聚合出可疑 IP 段之后,下一步是确认这些 IP 的"身份"。判断逻辑和 P360 内部判定基本一致,但更透明、可解释,适合写进给渠道的证据报告:

  • IP 类型:住宅宽带(ISP)、企业专线,还是数据中心/云服务商(IDC)。如果判假记录大量落在公有云厂商的 ASN 上,基本可以排除真实用户;

  • 代理/VPN/Tor 属性:设备农场普遍用代理池来伪造地理位置,出口 IP 如果被标记为公共代理或 VPN 节点,证据链就完整了;

  • 地理一致性:IP 地理位置(城市级)与设备的系统语言、时区是否矛盾;IP 国家与投放目标 GEO 是否一致------低价地区流量伪装高价地区是经典套利手段。

业界常用的 IP 情报数据源有几家:MaxMind(GeoIP2/GeoLite2)、Digital Element、IP2Location 等,各家在住宅/数据中心判定、代理库覆盖上各有侧重,做关键核减时建议交叉使用两家的结果,避免单源误判。如果排查频率高、QPS 大,可以下载离线库部署到本地 Redis 或接入 API,把 IP 画像能力集成进内部风控链路。

补充一点:三方数据也是可错的。住宅代理(residential proxy)披着"正常宽带"的皮,部分小众运营商的 IP 池也可能被误标。所以情报结果只作为佐证,最终结论还是要回到第二节的聚集性证据。

四、处置与闭环

IP 维度分析的最终目的是"止损 + 谈判 + 沉淀",按这个顺序落地:

1. 分级处置

  • 确认高危的 IP 段(机房、代理)→ 在 AppsFlyer 的 Validation Rules 里配置拦截规则,从源头挡掉;

  • 灰色地带(行为异常但 IP 属性不明确)→ 先用 P360 作弊防护操作台(FPS)的"仅标记"模式观察一段时间,评估误伤率后再决定是否升级为拦截。误伤真实用户比漏防假量的代价更高。

2. 反哺渠道谈判

把整理好的 IP 段证据(C 段聚集图、ASN 分布、代理占比、IP-设备映射表)做成一份报告发给渠道。相比空口说"你量有问题",这种东西拿出来,对方要么认账核减,要么解释得清 IP 来源。P360 支持按媒体渠道 + 子渠道分组定位假量来源,这份数据就是谈判筹码。

3. 沉淀本地黑名单

将确认的黑 IP 段沉淀进自己的风控引擎,在注册、登录、支付等环节做二次拦截。归因侧只是防水的第一道闸,业务侧的风控才是最后一道。

写在最后

P360 判假只是"报警信号",IP 维度的排查是把信号变成证据的过程:

导出原始数据 → 网段聚合找集群 → 三方 IP 情报交叉验证 → Validation Rules / FPS 分级处置 → 渠道核减 + 本地黑名单沉淀

这套流程跑下来,不管渠道认不认账,至少自己心里有底:哪些是铁证如山的假量,哪些还存疑。有疑义的部分宁可先标记观察,也不要一刀切------风控最怕的不是漏,而是误伤。

相关推荐
byte轻骑兵1 小时前
【HIDS】规范精讲[2]:一枚 Report 的诞生——HID 服务端特征全解剖
网络协议·人机交互·低功耗蓝牙·蓝牙协议·hogp
艾莉丝努力练剑1 小时前
【AI大模型接入SDK】ChatServer 路由规则绑定
网络·c++·人工智能·学习·ai·架构
qq_401700411 小时前
TCP 长连接、心跳包与断线自动重连设计:工业级通信的“不死鸟”架构
网络·qt·tcp/ip
zincsweet2 小时前
Linux网络编程入门(二):从 UDP 回显服务器到多人聊天室,三个项目的渐进式实践
linux·服务器·网络
艾莉丝努力练剑2 小时前
【AI大模型接入SDK】Trae生成代码介绍
网络·c++·人工智能·学习·架构
Eloudy2 小时前
IB Specification Vol 1 Chapter 3 体系结构与 rdma-core-2410mlnx54 实现关联分析
网络·gpu·rdma
坐看风云变幻2 小时前
《系统架构师成长之路》第 3 期|计算机网络:TCP 三次握手与可靠传输
tcp/ip·计算机网络·系统架构
syagain_zsx2 小时前
BRpc 搭建简单 rpc 服务器
服务器·c++·网络协议·rpc·protobuf·库
Funlang2 小时前
HTTP 服务端,能写业务了
网络·网络协议·http