以一次虛擬的活動及數(shù)據(jù),嘗試通過數(shù)據(jù)發(fā)現(xiàn)補(bǔ)貼活動中的羊毛黨。
一、背景與目的
1.1 背景
共享單車潮汐效應(yīng)明顯,上班高峰期單車大多堆積,復(fù)用率低,平臺運(yùn)力有限,可緩解程度有限。
為解決這一問題推出了[眾騎]活動,以1-20元不等的紅包獎勵形式鼓勵有閑暇時(shí)間的用戶在早高峰反向騎行,希望緩解高峰期的單車供應(yīng)問題。
但活動上線后發(fā)現(xiàn),紅包不斷被發(fā)出去,早高峰的單車供應(yīng)問題并沒有緩解。
1.2 目的
找到[眾騎]活動異常用戶/群體,推測其作弊手段與行為模式,并給出后續(xù)處置措施。
二、 活動簡介
活動名稱:[眾騎]活動
活動用戶:共享單車應(yīng)用所有用戶
活動期間:20181010 -- 20181031
活動時(shí)間:早高峰
活動范圍:北京(指定地鐵站)
活動規(guī)則:
1)在[高峰]時(shí)間段,于指定的地鐵站附近100m[解鎖活動車輛];
2)在距離地鐵 >= 500m后[鎖定活動車輛];
3)判斷完成的依據(jù)是車輛未配置GPS,依靠[解鎖車輛] 和 [鎖定車輛]的地理位置信息作為唯一依據(jù)
活動成本:每完成一次騎行獎勵1-20元不等的紅包
用戶行為預(yù)測:
活動時(shí)間為每天的早高峰,即早上7點(diǎn)到9點(diǎn),2小時(shí)共120分鐘,騎行500m;百度地圖顯示500m騎行時(shí)間約為3min,考慮到有趕時(shí)間、特別快用戶,按照每次2min計(jì)算,假設(shè)用戶在活動期間無休息、無停頓、無壞車的理想情況一直騎行,那么早高峰可騎行的次數(shù)為120/2=60次。
三、 發(fā)現(xiàn)異常用戶及其手段
3.1? 結(jié)論
異常用戶:本次活動異常的用戶為1分鐘內(nèi)含有兩次以上解鎖、鎖定活動車輛事件的行為特征用戶。
作弊手段:利用定位虛擬器進(jìn)行虛擬定位,實(shí)現(xiàn)訂單的快速完成以獲得紅包獎勵。
原因:車輛未配置GPS,只能依靠[解鎖車輛] 和 [鎖定車輛]的地理位置信息作為唯一依據(jù),
數(shù)據(jù)依據(jù)是同一個(gè)用戶能在一分鐘內(nèi)完成多次解鎖、鎖定,而活動要求‘騎出地鐵500米范圍’,正常情況下,用戶不可能完成;其次,同一用戶,在間隔不到1分鐘內(nèi),能同時(shí)在多個(gè)地鐵站實(shí)現(xiàn)騎行。
3.2? 找到異常特征用戶
操作:【事件分析】 >> [解鎖活動單車] 的 ‘總次數(shù)’、‘觸發(fā)用戶數(shù)’
從活動總體來看,15日至16日[解鎖活動單車]的總次數(shù)與觸發(fā)用戶數(shù)都發(fā)生了極大的變化,特別是觸發(fā)用戶數(shù)環(huán)比增長了91.25%(1505-789/789*100%);每日超千人參與的狀態(tài)一直持續(xù)到10月27日,在10月28日用戶數(shù)急劇下滑,環(huán)比下降了52.75%(832-1761/1761*100%),在這一升一降中,為了進(jìn)一步確認(rèn)是活動推廣/自然的流量,還是羊毛黨的突然涌入,需從其他維度細(xì)化后確認(rèn)。

根據(jù)5W1H模型拆分維度:
Who--用戶基本屬性:年齡、性別
Who--設(shè)備屬性--操作系統(tǒng)、設(shè)備制造商、設(shè)備型號、操作系統(tǒng)版本、應(yīng)用版本、是否wifi
Where--地理屬性--地鐵站
How--車輛屬性 -- 解鎖方式、車型
從以上維度逐一查看數(shù)據(jù)后,除個(gè)別有所差異外但未明顯異常。直到發(fā)現(xiàn)‘設(shè)備型號’掃描次數(shù)最多的是iPad Air2,這與出門或上班必帶手機(jī)的常識有所出入。

點(diǎn)擊查看【用戶列表】,點(diǎn)開任一用戶ID為309893查看其【用戶行為序列】。發(fā)現(xiàn)用戶的騎行次數(shù)都較高,最高的一天發(fā)生了422事件、騎行200多回。

點(diǎn)擊查看具體序列,發(fā)現(xiàn)該用戶一次完整的騎行周期(解鎖活動車輛+鎖定活動車輛)只需十幾秒甚至幾秒;不到20秒的時(shí)間內(nèi),能從蘋果園地鐵‘瞬間移動’到中關(guān)村地鐵,而實(shí)際上蘋果園距離中關(guān)村18.6公里,騎行約需1小時(shí)23分鐘、駕車約需30分鐘,明顯非物理行為能辦到。

此外,還存在一個(gè)[解鎖活動單車]跟著多個(gè)[鎖定活動單車]的事件,且每個(gè)[鎖定活動單車]都有金額不等的紅包獎勵。

所以,該用戶明顯為異常賬號。
3.3? 行為特征
根據(jù)3.2發(fā)現(xiàn)用戶異常的特征為:
1)騎行次數(shù)遠(yuǎn)高于理想次數(shù)(60次);
2)十幾秒甚至幾秒內(nèi)能完成一次騎行周期;
3)解鎖與鎖定行為并非一一對應(yīng)。
3.3.1 每天騎行50次以上
根據(jù)第二部分【活動簡介】關(guān)于用戶行為預(yù)測中,活動時(shí)間為7點(diǎn)到9點(diǎn),2小時(shí)共120分鐘,騎行500m,騎行時(shí)間約需為3min,考慮到有趕時(shí)間、特別快用戶,按照2min計(jì)算,那么,在活動期間無休息、無停頓、無壞車的理想情況一直騎行,最高可騎行次數(shù)為120/2=60次。
但在分布分析中,騎行次數(shù)的劃分只有30-50次、50-100次,在點(diǎn)擊50-100次區(qū)間用戶,查看其行為序列,驗(yàn)證多個(gè)用戶后,發(fā)現(xiàn)50次左右的用戶騎行時(shí)間與行為也明顯異常;且50*2=100分鐘,兩小時(shí)持續(xù)騎行100分鐘,也是很不一般的行為,因此將每天騎行異常次數(shù)定為50次以上。
在【分布分析】中查看[解鎖活動單車]的次數(shù),發(fā)現(xiàn)每天解鎖50-100次用戶數(shù)為80-110人次、占比6%-16%;100次以上的都有40-60人不等,占每日騎行用戶的2%-8%。

3.3.2 1分鐘內(nèi)完成2次騎行
操作:為了進(jìn)一步驗(yàn)證異常用戶行為及數(shù)據(jù)量,通過【漏斗分析】設(shè)置[解鎖活動單車]、[鎖定活動單車]事件,為防止正常用戶使用到無法使用車輛而解鎖的情況,將漏斗設(shè)置為兩個(gè)解鎖與鎖定動作,session間隔為1分鐘。
結(jié)果顯示,在參加活動的12061人中,在解鎖單車1分鐘內(nèi)鎖定、再次解鎖并鎖定整體轉(zhuǎn)化率為6.16%、共743人。除第一步轉(zhuǎn)化率只有7.01%外,第二步、第三步的轉(zhuǎn)化率高達(dá)88%以上。

3.3.3 異常用戶行為路徑
在【用戶行為路徑】中能看到,在活動期間以[解鎖活動單車]為開始事件、session間隔為60秒的99967次會話中,有0.23%、231次會話是再次[解鎖活動單車]。

3.3.4 異常用戶數(shù)
將上述三種情況用戶ID導(dǎo)出后去重計(jì)數(shù)得到共有855名用戶。

其中,有744名用戶ID都是連續(xù)的,從309245 開始一直到 309999。

3.4 手段推測
綜上,此次活動期間3種行為特征、2類異常情況,約855名用戶異常,其異常行為表現(xiàn)為:
1)一天(120分鐘)內(nèi)能完成50次以上的騎行任務(wù),每次騎行周期時(shí)長小于1分鐘,主要在幾秒內(nèi);
2)1-2分鐘之內(nèi)能出現(xiàn)在不同的地鐵進(jìn)行任務(wù)(排除人工解鎖、搬運(yùn)、汽車運(yùn)輸?shù)目赡?,北京路面交通幾分鐘能到一個(gè)站的人比薅羊毛還有本事!);
3)解鎖與鎖定并未間隔對應(yīng)事件,即存在多個(gè)解鎖、再鎖定或一個(gè)解鎖、多個(gè)鎖定的情況;
4)某些異常用戶之間匿名ID序號具有連續(xù)性。
所以,本次活動異常為1分鐘內(nèi)含有兩次以上解鎖、鎖定活動車輛事件的行為特征用戶,推測其利用定位虛擬器進(jìn)行虛擬定位,而非騎車運(yùn)輸、人工搬運(yùn)等物理操作。
四、 羊毛黨用戶行為模式
4.1? 結(jié)論
既有單打獨(dú)斗,也有團(tuán)伙作案,但其作弊方式都是利用車輛沒有GPS,只能依靠[解鎖車輛] 和 [鎖定車輛]的地理位置信息作為唯一依據(jù)的漏洞,通過虛擬定位器上傳虛假定位、實(shí)現(xiàn)快速完成訂單獲取紅包獎勵的目的。
4.2 團(tuán)伙作案
團(tuán)伙作案,在某些方面具有高度相似性,如時(shí)間、行為路徑、設(shè)備屬性甚至注冊時(shí)間等方面具有相似性。而匿名ID為309245 -- 309999的744名用戶在ID連續(xù)(某一程度說明注冊時(shí)間接近)、騎行時(shí)間、騎行次數(shù)高度相似,說明其為團(tuán)伙作案。
在【事件分析】、【漏斗分析】、【分布分析】中選出309245 -- 309999的744名用戶,查看其主要行為特征。操作為對事件進(jìn)行‘Distinct ID 正則匹配以309開頭的用戶,排除匿名ID為3096-3099、309、3091的6位用戶’的篩選,得到744位用戶的結(jié)果。

【漏斗分析】顯示,該批用戶總轉(zhuǎn)化率為99.73%,第一步與第二步轉(zhuǎn)化率高達(dá)100%,第三步轉(zhuǎn)化率為99.73%,轉(zhuǎn)化率極高說明該批用戶在1分鐘之內(nèi)完成了2次騎行任務(wù),時(shí)間都超短。另外,紅包不等于0的每個(gè)環(huán)節(jié)的轉(zhuǎn)化率都是100%。

【分布分析】顯示,744名用戶有717位,占比96.4%騎行次數(shù)都在100次以上。

行為模式是通過多部機(jī)器、設(shè)備注冊大量賬號(744),每天利用200多個(gè)賬號通過虛擬定位器在活動地鐵,幾秒內(nèi)實(shí)現(xiàn)[解鎖活動單車]/[鎖定活動單車]完成任務(wù),以每天完成50次以上的任務(wù)量獲得1-20元不等紅包獎勵實(shí)現(xiàn)獲利的目的。
4.3 單打獨(dú)斗
單打獨(dú)斗,在用戶基本屬性、地理位置及設(shè)備屬性上特征不是那么明顯,某一時(shí)段內(nèi)解鎖、鎖定頻繁,但頻次較團(tuán)伙作案較低、不穩(wěn)定的用戶。
導(dǎo)出的855名用戶中,除744名匿名ID外,其他的皆為單打獨(dú)斗型用戶;一部分用戶,約40名,注冊時(shí)間較早,開始刷任務(wù)時(shí)間一般在活動的第一天或第二天,應(yīng)該屬于看到活動漏洞繼而產(chǎn)生薅羊毛想法;另一部分用戶約69名,注冊時(shí)間較晚,應(yīng)該是在發(fā)現(xiàn)或聽到有薅羊毛可能而注冊了賬號,繼而開始刷任務(wù)、領(lǐng)紅包。
從導(dǎo)出的855名用戶中可看出,異常用戶的年齡40-50歲區(qū)間的分布最多、其次是30-40歲,即主要以中老年用戶為主。

從性別上看,異常用戶男性占比偏多,為51%,女性占比偏少,為49%;而整體用戶的性別分布,女性用戶占比略高,為49.81%。

五、活動后續(xù)處置措施建議
5.1 已發(fā)現(xiàn)的團(tuán)伙羊毛用戶進(jìn)行封號
考慮到團(tuán)隊(duì)作案真實(shí)用戶少、在無利可圖的情況下后續(xù)活躍可能性極低,對于公司只有害而無利,建議對團(tuán)隊(duì)賬號進(jìn)行封號處理;單打獨(dú)斗型用戶可能是真實(shí)用戶,特征不明顯、數(shù)量較小,且后期可能為公司產(chǎn)生收益,所以以防范為主,暫不追究。
封號名單為匿名ID為309245 -- 309999的744名用戶。
5.2 未發(fā)現(xiàn)的進(jìn)行防范
為防范此類事件的再次發(fā)生,且在不要傷害現(xiàn)有用戶、減少公司損失、保障活動效果的前提下,對活動規(guī)則在原有基礎(chǔ)上進(jìn)行以下補(bǔ)充:
賬號:一個(gè)身份證號只能注冊一個(gè)賬號
設(shè)備:一個(gè)設(shè)備同時(shí)只能登錄一個(gè)賬號、進(jìn)行一次騎行,不支持同時(shí)掃多輛活動單車
時(shí)間:只有騎行周期 >= 2分鐘以上才可獲得
空間:騎行距離必須 >=? 500米
操作:同一賬號在[解鎖活動單車]后必須[鎖定活動單車],才能再次解鎖
5.3 活動方向的調(diào)整建議
沒有解決的另一個(gè)原因可能是活動未細(xì)化區(qū)分地鐵屬性,反向騎行造成了原本緊張的單車供應(yīng)資源更為緊張。普通用戶早高峰是上班時(shí)間,潮汐騎行方向是‘家 >> 地鐵站 >> 公司’,具體騎行路線如下圖。

所以騎行活動應(yīng)以地鐵站為中心,根據(jù)平時(shí)地鐵騎行的方向區(qū)分如‘居住’與‘辦公’的標(biāo)簽屬性,以設(shè)置與正常用戶反向騎行的路線。
但目前活動并沒有對地鐵站附近屬性進(jìn)行區(qū)分,從地鐵附近的騎行次數(shù)來看,復(fù)興門、海淀黃莊、西直門等地發(fā)生的騎行次數(shù)居首,而這些地鐵大部分為辦公區(qū),[眾騎]活動鼓勵用戶從地鐵站開始騎行,500m后獲取紅包獎勵的活動方式,鼓勵了原本不需要騎行的用戶進(jìn)行騎行,只會讓原本緊張的共享單車資源更稀缺,早晚高峰的供應(yīng)不能得到改善。

解決方案:
1)找到地鐵站相關(guān)的數(shù)據(jù),查看最近一年、早高峰時(shí)段的地鐵附近100m作為[解鎖]事件與[鎖定]事件的次數(shù)、人數(shù);
2)根據(jù)地鐵在早高峰[解鎖]事件與[鎖定]事件的高低,設(shè)置不同的騎行方向,如當(dāng)?shù)罔F附近100m在最近一年時(shí)間[解鎖]事件次數(shù)遠(yuǎn)高于[鎖定]事件時(shí),說明該地鐵辦公屬性的可能高于居住的屬性,則[眾騎]活動鼓勵用戶從其他地方開始騎行,到地鐵進(jìn)行[鎖定];當(dāng)[鎖定]事件次數(shù)遠(yuǎn)高于[解鎖]事件時(shí),說明該地鐵附近的居住屬性可能高于辦公屬性,則[眾騎]活動鼓勵用戶從地鐵開始騎行,到地鐵500m后進(jìn)行[解鎖]。
根據(jù)地鐵站早晚高峰不同騎行方向,對地鐵屬性進(jìn)行區(qū)分,細(xì)化不同地鐵站的不同時(shí)段的騎行方向。