【天池競賽系列】阿里移動推薦演算法思路解析
賽題地址:http://tianchi.aliyun.com/competition/information.htm?raceId=1
登入即可下載資料
從4月到7月,學習了很多也收穫了很多
題目就不多說了,一句話表達就是根據過去一個月的行為預測14年12月19號的購買情況。
看題目貌似推薦演算法,自然就有隊伍想到用協同過濾什麼的,當然效果不好。
首先是特徵的問題,然後是這是基於行為的相似,不太類似使用者和商品類似的ItemCF,UserCF,還有很多其他的原因,比如我買過一部手機,難道還要推薦我再買其他類似的手機嗎,當然這個比喻不太恰當。
最後還是歸為2分類問題,當然從多分類也可以解決這個題目。
演算法問題:既然二分類就要用到分類演算法,從第一賽季和第二賽的實戰情況來看,個人比較推薦的演算法是C45,隨機深林,GBDT,LR,資料量大的時候也可以加入並行的神經網路,之前天貓推薦演算法第一名就是使用了自己並行化的神經網路。
訓練集測試集構建問題:然後怎麼建模呢,如何選取訓練集測試集。既然是預測一天的購買情況,那我們一樣可以把18號當作未知,來構建模型預測18號的購買情況。
那麼我們可以把18號的購買與否來給18號前的資料打標籤,形成UIR對(user,item,result)
在第一賽季時間充足的情況下其實還可以弄個訓練集和驗證集。也就是用17號給之前的資料打標籤做訓練集,18號給之前的資料打標籤做驗證集。19號前的資料做線上測試集(19號的答案比賽結束後也沒有給出)
資料不平衡問題:第一賽季的資料正負樣本比例我忘了,第二賽季的好像是1:300來著,也就是說必須得采樣了,具體取樣比例還得自己做實驗,在第二賽季我們的取樣比例是1:10——1:14之間。
資料預處理問題:第一賽季資料量只有1000W左右,預處理效果一般般,第二賽季效果就出來了,資料量58E。因為有可能有異常使用者的出現,比如一天點選上萬次,或者點選很多從不購買等問題。一般從兩個方面來考慮,要麼過濾異常使用者的所有資料,要麼只取最近幾天(3-7天都可以)出現過的使用者和商品(這個思路是決賽第七名隊伍的)。
特徵問題:原始資料有如下欄位,使用者ID,商品ID,商品類別ID,時間(精確到小時),地理位置,行為(1234)
首先我們可以劃分特徵類別,比如分為使用者—商品類特徵,使用者—商品類別類特徵,商品—商品類別特徵,商品類特徵,使用者類特徵,商品類別類特徵,交叉特徵(各種特徵進行有意義的交叉乘除)等幾個方面。另外一定要做特徵選擇,我採訪過一些top50選手,他們特徵基本都在100-400之間。就我們隊傻傻的搞了800,真是哭瞎在廁所。
特徵劃分粒度問題:可以劃分為月,周,天,小時,當然小時取值24個多了點,可以進行切片,在做過初步資料統計之後會發現購買時間熱段和冷段,來適當調整時間片長度。
模型融合問題:多模型融合效果會較單模型有提升,當然特徵夠好的情況下提升不太明顯。融合方法一般是多次不同比例不同取樣不同引數不同模型不同權值融合。另一個思路是做級聯,也就是先用訓練預測資料都超級快的LR,把正負樣本比例調到1:1或者1:2之類的,為啥比例是這樣呢,可以先自己思考下。因為在這裡比例會將80%未購買的樣本過濾掉(實際上90%都有可能)而且過濾掉的未購買樣本實際上也確實是沒購買的。這樣有助於提高後面GBDT等決策樹模型的精度。還有個思路就是把其他模型得到的概率作為特徵,這點比較重要。
補充點重要的東西:不要盲目迷信哪種演算法吊什麼的,沒有最吊的演算法,只有更吊的思路,思路決定一切,這一切都反應在特徵和一些細節上。我們隊踩過的一些坑大概就是沒用MR,也不會MR,沒做預處理,沒做特徵選擇,沒設計時間切片的特徵,倒是設計了1000+沒用的特徵,結果GBDT只支援800,就隨便扔了800個進去,結果可想而知。
我們隊的成績在第一賽季是10.09%分
第二賽季是7.7%分
很遺憾沒進前50,最後奉上3位決賽前10名大神的特徵,感謝他們提供的特徵方案。如果這三位大神看到了介意的話跟我說聲。
特徵版本0(我們隊的特徵,沒啥參考性,反面教材還是可以的):
使用者最近1/2/3/5/7/15/30天有多少天互動任意品牌併除以1,,3,7,15,30得到互動率 |
使用者最近1/2/3/5/7/15/30天有多少天購買任意品牌 併除以1,3,7,15,30得到購買率 |
使用者最近1/2/3/5/7/15/30天購買任意品牌與點選/收藏/加購物車比 |
使用者最近一次購買任意品牌的時間100一週前,010一週內,001三天內 |
使用者最近1/2/3/5/7/15/30天購買/收藏/瀏覽/加購物車過的不同品牌/商品的個數 |
雙12當天互動,購買,購買除以互動 |
雙12當天互動/購買佔30天互動購買多少 |
使用者有多少次對同一個品牌/商品在不同天購買/重複購買 |
最近1,2,3,5,7,15,30天定位數 |
使用者互動過多少不同品牌/商品,購買除以互動 |
成交量變化趨勢,最近5天每天購買數,前面>=後面為1,否則為0,共4位,再加上4位的和 |
使用者互動購買率 |
使用者最近1/2/3/5/7/15/30天互動次數和購買率 |
使用者最近第1/2/3/4/5/6/7/8天互動購買次數購買率 |
使用者最近第1/2/3/4/5/6/7/8/9/10個2天互動購買次數 |
使用者最近第1/2/3/4/5/6/7/8/9/10個3天互動購買次數購買率 |
使用者最近第1/2/3/4個7天互動購買次數購買率 |
使用者最近第1/2/3個10天互動購買次數購買率 |
使用者最近第1/2個15天互動購買次數購買率 |
使用者最近第1/2/3/4/5/6/7/8天有多少不同時間點,訪問間隔 |
品牌最近1/2/3/5/7/15/30天被多少不同使用者互動/購買 和購買率 |
最近1,2,3,5,7,15,30天品牌總購買/收藏/購物車/瀏覽數,以及總購買數除以收藏數/購物車/點選 |
品牌總共有多少人重複購買/在不同天重複購買/在不同周重複購買,對該品牌重複購買的人數除以一共購買的人數(按人算,不是按次算) |
品牌最後一次被任意使用者購買的時間,100三天前,010三天內,001最近一天 |
成交量變化趨勢,最近5天每天購買數,前面>=後面為1,否則為0,共4位,再加上4位的和 |
雙12當天互動,購買,購買除以互動,雙12當天互動/購買佔30天互動購買多少 |
品牌下有多少商品 |
品牌最近1/2/3/5/7/15/30天互動次數和購買率 |
最近1/2/3/5/7/15/30天類別互動購買量除以類別下的商品數 |
類別最近第1/2/3/4/5/6/7/8/9/10個2天互動購買次數 |
類別最近第1/2/3/4/5/6/7/8/9/10個3天互動購買次數購買率 |
類別最近第1/2/3/4個7天互動購買次數購買率 |
類別最近第1/2/3個10天互動購買次數購買率 |
類別最近第1/2個15天互動購買次數購買率 |
使用者最後一次互動當前品牌距離使用者最後一次互動任意品牌相隔多少天 |
當前使用者與當前品牌的最後一個互動天的前一天,當天和後一天這3天中一共點選/購買/收藏/加購物車了 多少次其他品牌 |
使用者互動當前品牌的最近/第2近/第3近的互動天的點選數/ 加購物車數/購買數/收藏數以及時間(倒數第幾天) |
使用者互動當前品牌的最遠一個互動天的點選數/購買數/收藏數/加購物車數以及時間 |
使用者最近1/2/3/5/7/15/30天有多少天有互動/購買當前品牌 |
最近1,2,3,5,7,15,30天定位數 |
是否是使用者喜歡的類別(提取使用者互動量前10的類別) |
最近1,2,3,5,7,15,30天使用者對當前品牌購買除以瀏覽/收藏/加購物車 |
使用者最近1/2/3/4/5/7/15/30天有多少天對當前品牌存在純互動日(這裡的純互動日是指只瀏覽/收藏/加購物車了當前品牌/當前商品) |
最近幾天次使用者對此品牌購買情況,1000一週前購買,0100一週內購買,0010三天內購買,0001最近一天購買 |
使用者對此品牌互動了多少個不同天 |
使用者購買此品牌前互動的平均數 |
使用者互動該品牌的總次數除以使用者總互動次數 |
商品最近1/2/3/5/7/15/30天被多少不同使用者互動/購買 和購買率 |
最近1,2,3,5,7,15,30天商品總購買/收藏/購物車/瀏覽數,以及總購買數除以收藏數/購物車/點選 |
商品總共有多少人重複購買/在不同天重複購買/在不同周重複購買,對該品牌重複購買的人數除以一共購買的人數(按人算,不是按次算) |
商品最後一次被任意使用者購買的時間1000一週前,0001最近一天 |
不同地理位置數 |
成交量變化趨勢,最近5天每天購買數,前面>=後面為1,否則為0,共4位,再加上4位的和 |
雙12當天互動,購買,購買除以互動,雙12當天互動/購買佔30天互動購買多少 |
商品最近1/2/3/5/7/15/30天互動次數和購買率 |
商品最近第1/2/3/4/5/6/7/8/9/10個2天互動購買次數 |
商品最近第1/2/3/4/5/6/7/8/9/10個3天互動購買次數購買率 |
商品最近第1/2/3/4個7天互動購買次數購買率 |
商品最近第1/2/3個10天互動購買次數購買率 |
商品最近第1/2個15天互動購買次數購買率 |
使用者最近1/2/3/5/7/15/30天有多少天對當前商品存在純互動日 |
使用者最近1,2,3,5,7,15,30天對該商品互動次數 |
使用者過去購買一個商品前的互動次數的最小值和均值相加的值減去此條記錄次數*2的值取絕對值 |
加入購物車時間1000三天前,0100最近第三天,0001最近一天 |
購買時間 1000一週前,0100一週內,0010三天內,0001最近一天,0000未購買 |
瀏覽時間,10,01 |
最近1,2,3,5,7,15,30天定位數 |
商品最後一次被其他任意使用者互動/購買的時間 ,1000三天以前,0100三天內,0010兩天內,0001最近一天 |
哪天收藏,100一週前,010一週內,001三天內000未收藏 |
使用者對此商品互動了多少個不同天 |
使用者互動該商品的總次數除以使用者總互動次數 |
使用者互動該商品次數乘以使用者轉化率 |
此條記錄互動次數佔最近兩天的互動次數比例 |
記錄互動次數 |
最近1/2/3/5/7/15/30天佔類別互動量和購買量多少 |
特徵版本1(決賽第7名):
以下是阿里移動推薦演算法用到的特徵、如無特別說明,則每項特徵都是以1、2、4、7、14、21、28作為週期分別計算。且在計算時間特徵時、都是以小時為單位。
一、使用者-商品特徵
1、使用者對商品點選、收藏、加購物車、購買的最近時間。
2、使用者對商品點選、收藏、加購物車、購買的次數
3、按時間分段,且相同粒度的時間段之間不重疊,分別統計使用者對商品的點選、收藏、加購物車、購買的次數,分段粒度分別為6小時、12小時、1天、3天、7天、14天,由於該特徵分數提升比較小,實際並沒有計算所有分段,比如6小時為粒度的只取了前兩段
ps:不重疊分段的特徵沒有按週期分別計算,下同
二、使用者-商品、使用者-類別組合特徵
1、使用者對除去該商品的同類其他商品的點選、收藏、加購物車、購買次數。
2、按時間分段且相同粒度的時間段之間不重疊對特徵1進行計算,類似使用者-商品特徵3
3、使用者對該商品的最近點選、收藏、加購物車、購買時間減去同類其他商品的最近點選、收藏、加購物車、購買時間(點選-點選...)
4、使用者對該商品的最近點選、收藏、加購物車、購買時間減去同類其他商品的最近購買時間
5、使用者對商品的點選量減去使用者對同類其它商品的平均點選量
三、使用者特徵(子集和全集分別計算該類特徵,其他大類特徵只在商品子集計算)
1、使用者最近點選、收藏、加購物車、購買時間
2、使用者點選、收藏、加購物車、購買量
3、使用者轉化率即使用者購買量分別除以使用者點選、收藏、加購物車這三類行為數
4、使用者點選、收藏、加購物車、購買量在28天裡的均值方差(不按週期計算)
四、商品特徵
1、商品被點選、收藏、加購物車、購買量
2、商品被購買轉化率
3、商品被點選、收藏、加購物車、購買量在28天裡的均值方差
五、類別特徵
1、該類商品被點選、收藏、加購物車、購買量
2、該類商品轉化率
六、交叉特徵
1、使用者對商品最近點選、收藏、加購物車、購買時間減去該使用者最近點選、收藏、加購物車、購買時間
2、使用者對商品最近點選、收藏、加購物車、購買時間減去該使用者購買時間
3、使用者對商品點選、收藏、加購物車、購買量減去使用者平均點選、收藏、加購物車、購買量
4、使用者對商品點選、收藏、加購物車、購買量減去商品平均被點選、收藏、加購物車、購買量
5、使用者對商品點選、收藏、加購物車、購買量除以使用者點選、收藏、加購物車、購買量
6、使用者對商品點選、收藏、加購物車、購買量除以使用者對該類其它商品點選、收藏、加購物車、購買量
7、使用者對商品點選、收藏、加購物車、購買量除以該商品被點選、收藏、加購物車、購買量
8、商品被點選、收藏、加購物車、購買量除以該類商品被點選、收藏、加購物車、購買量
七、雙十二處理
在計算商品特徵和使用者特徵時刪除雙十二資料,在計算時間週期等時,雙12後面的時間前移一天填補雙十二的空缺。但在計算交叉特徵時,如果需要計算上述特徵仍然保留雙十二資料。
八、滑動視窗(效果微小)
以前28天為歷史資料計算特徵,後一天的購買情況打標籤,如用11月18號至12月15號資料計算特徵,以12月16號購買情況打標籤。然後視窗依次滑動一天,如此一共得到4個數據集,用前三個資料集作為訓練集,最後一個數據集作為測試集。
九、前期樣本過濾及抽樣
只保留前兩天有操作的的樣本、然後正樣本過取樣到4倍。負樣本隨機抽樣,抽樣後正負樣本比約為1:8
特徵版本2(決賽第5名):
Field | Type | Label | Comment |
+------------------------------------------------------------------------------------+
| uif_whichday | string | | |
| uif_user_id | string | | |
| uif_item_id | string | | |
| uif_category_id | string | | |
| label | bigint | | |
| uif_gapday | bigint | | |
| uif_sim | double | | |
| uif_incircle | bigint | | |
| uif_click_1 | bigint | | |
| uif_collect_1 | bigint | | |
| uif_cart_1 | bigint | | |
| uif_buy_1 | bigint | | |
| uif_visit_times_1 | bigint | | |
| uif_click_2 | bigint | | |
| uif_collect_2 | bigint | | |
| uif_cart_2 | bigint | | |
| uif_buy_2 | bigint | | |
| uif_lastdaymaxclickhour | bigint | | |
| uif_lastdaymaxcollecthour | bigint | | |
| uif_lastdaymaxcarthour | bigint | | |
| uif_lastdaymaxbuyhour | bigint | | |
| uif_lastdaystartbehavhour | bigint | | |
| uif_lastdayendbehavhour | bigint | | |
| uif_lastdaybehavhours | bigint | | |
| uif_lastdayclicks_division_bhours | double | | |
| uif_click_7 | bigint | | |
| uif_collect_7 | bigint | | |
| uif_cart_7 | bigint | | |
| uif_buy_7 | bigint | | |
| uif_active_days_7 | bigint | | |
| uif_buy_days_7 | bigint | | |
| uif_visit_times_7 | bigint | | |
| uif_buydays_division_activedays_7 | double | | |
| uif_click_5 | bigint | | |
| uif_collect_5 | bigint | | |
| uif_cart_5 | bigint | | |
| uif_buy_5 | bigint | | |
| uif_active_days_5 | bigint | | |
| uif_buy_days_5 | bigint | | |
| uif_visit_times_5 | bigint | | |
| uif_buydays_division_activedays_5 | double | | |
| uif_click_10 | bigint | | |
| uif_collect_10 | bigint | | |
| uif_cart_10 | bigint | | |
| uif_buy_10 | bigint | | |
| uif_active_days_10 | bigint | | |
| uif_buy_days_10 | bigint | | |
| uif_visit_times_10 | bigint | | |
| uif_buydays_division_activedays_10 | double | | |
| uif_click_3 | bigint | | |
| uif_collect_3 | bigint | | |
| uif_cart_3 | bigint | | |
| uif_buy_3 | bigint | | |
| uif_active_days_3 | bigint | | |
| uif_buy_days_3 | bigint | | |
| uif_visit_times_3 | bigint | | |
| uif_buydays_division_activedays_3 | double | | |
| uif_click_31 | bigint | | |
| uif_collect_31 | bigint | | |
| uif_cart_31 | bigint | | |
| uif_buy_31 | bigint | | |
| uif_active_days_31 | bigint | | |
| uif_buy_days_31 | bigint | | |
| uif_visit_times_31 | bigint | | |
| uif_buydays_division_activedays_31 | double | | |
| uf_whichday | string | | |
| uf_user_id | string | | |
| uf_click_1 | bigint | | |
| uf_collect_1 | bigint | | |
| uf_cart_1 | bigint | | |
| uf_buy_1 | bigint | | |
| uf_buyitems_1 | bigint | | |
| uf_buycates_1 | bigint | | |
| uf_clickitems_1 | bigint | | |
| uf_clickcates_1 | bigint | | |
| uf_cartitems_1 | bigint | | |
| uf_cartcates_1 | bigint | | |
| uf_collectitems_1 | bigint | | |
| uf_collectcates_1 | bigint | | |
| uf_buycates_division_clickcates_1 | double | | |
| uf_buyitems_division_clickitems_1 | double | | |
| uf_lastdayvisit_buy | bigint | | |
| uf_lastdayvisit_buy_rate_buys | double | | |
| uf_lastdayvisit_buy_rate_items | double | | |
| uf_lastdaycart_buy | bigint | | |
| uf_lastdaycart_buy_rate_buys | double | | |
| uf_lastdaycart_buy_rate_carts | double | | |
| uf_lastdaycart_buy_rate_items | double | | |
| uf_buy_lastday_avg_clicks | double | | |
| uf_buy_lastday_avg_collects | double | | |
| uf_buy_lastday_avg_carts | double | | |
| uf_buy_lastday_avg_buys | double | | |
| uf_buy_lastday_avg_clickitems | double | | |
| uf_buy_lastday_avg_collectitems | double | | |
| uf_buy_lastday_avg_cartitems | double | | |
| uf_buy_lastday_avg_buyitems | double | | |
| uf_buy_lastday_avg_clickcates | double | | |
| uf_buy_lastday_avg_collectcates | double | | |
| uf_buy_lastday_avg_cartcates | double | | |
| uf_buy_lastday_avg_buycates | double | | |
| uf_lastdaymaxclickhour | bigint | | |
| uf_lastdaymaxcollecthour | bigint | | |
| uf_lastdaymaxcarthour | bigint | | |
| uf_lastdaymaxbuyhour | bigint | | |
| uf_gapday | bigint | | |
| uf_avg_buygap | double | | |
| uf_lastdaystartbehavhour | bigint | | |
| uf_lastdayendbehavhour | bigint | | |
| uf_lastdaybehavhours | bigint | | |
| uf_click_7 | bigint | | |
| uf_collect_7 | bigint | | |
| uf_cart_7 | bigint | | |
| uf_buy_7 | bigint | | |
| uf_buyitems_7 | bigint | | |
| uf_buycates_7 | bigint | | |
| uf_clickitems_7 | bigint | | |
| uf_clickcates_7 | bigint | | |
| uf_cartitems_7 | bigint | | |
| uf_cartcates_7 | bigint | | |
| uf_collectitems_7 | bigint | | |
| uf_collectcates_7 | bigint | | |
| uf_active_days_7 | bigint | | |
| uf_buy_days_7 | bigint | | |
| uf_buycates_division_clickcates_7 | double | | |
| uf_buyitems_division_clickitems_7 | double | | |
| uf_buy_division_click_7 | double | | |
| uf_buy_division_cart_7 | double | | |
| uf_buy_division_collect_7 | double | | |
| uf_buydays_division_activedays_7 | double | | |
| uf_buys_division_buydays_7 | double | | |
| uf_buys_division_buyitems_7 | double | | |
| uf_buys_division_buycates_7 | double | | |
| uf_buyitems_division_buydays_7 | double | | |
| uf_buycates_division_buydays_7 | double | | |
| uf_click_5 | bigint | | |
| uf_collect_5 | bigint | | |
| uf_cart_5 | bigint | | |
| uf_buy_5 | bigint | | |
| uf_buyitems_5 | bigint | | |
| uf_buycates_5 | bigint | | |
| uf_clickitems_5 | bigint | | |
| uf_clickcates_5 | bigint | | |
| uf_cartitems_5 | bigint | | |
| uf_cartcates_5 | bigint | | |
| uf_collectitems_5 | bigint | | |
| uf_collectcates_5 | bigint | | |
| uf_active_days_5 | bigint | | |
| uf_buy_days_5 | bigint | | |
| uf_buycates_division_clickcates_5 | double | | |
| uf_buyitems_division_clickitems_5 | double | | |
| uf_buy_division_click_5 | double | | |
| uf_buy_division_cart_5 | double | | |
| uf_buy_division_collect_5 | double | | |
| uf_buydays_division_activedays_5 | double | | |
| uf_buys_division_buydays_5 | double | | |
| uf_buys_division_buyitems_5 | double | | |
| uf_buys_division_buycates_5 | double | | |
| uf_buyitems_division_buydays_5 | double | | |
| uf_buycates_division_buydays_5 | double | | |
| uf_click_10 | bigint | | |
| uf_collect_10 | bigint | | |
| uf_cart_10 | bigint | | |
| uf_buy_10 | bigint | | |
| uf_buyitems_10 | bigint | | |
| uf_buycates_10 | bigint | | |
| uf_clickitems_10 | bigint | | |
| uf_clickcates_10 | bigint | | |
| uf_cartitems_10 | bigint | | |
| uf_cartcates_10 | bigint | | |
| uf_collectitems_10 | bigint | | |
| uf_collectcates_10 | bigint | | |
| uf_active_days_10 | bigint | | |
| uf_buy_days_10 | bigint | | |
| uf_buycates_division_clickcates_10 | double | | |
| uf_buyitems_division_clickitems_10 | double | | |
| uf_buy_division_click_10 | double | | |
| uf_buy_division_cart_10 | double | | |
| uf_buy_division_collect_10 | double | | |
| uf_buydays_division_activedays_10 | double | | |
| uf_buys_division_buydays_10 | double | | |
| uf_buys_division_buyitems_10 | double | | |
| uf_buys_division_buycates_10 | double | | |
| uf_buyitems_division_buydays_10 | double | | |
| uf_buycates_division_buydays_10 | double | | |
| uf_click_3 | bigint | | |
| uf_collect_3 | bigint | | |
| uf_cart_3 | bigint | | |
| uf_buy_3 | bigint | | |
| uf_buyitems_3 | bigint | | |
| uf_buycates_3 | bigint | | |
| uf_active_days_3 | bigint | | |
| uf_buy_days_3 | bigint | | |
| uf_clickitems_3 | bigint | | |
| uf_clickcates_3 | bigint | | |
| uf_cartitems_3 | bigint | | |
| uf_cartcates_3 | bigint | | |
| uf_collectitems_3 | bigint | | |
| uf_collectcates_3 | bigint | | |
| uf_buycates_division_clickcates_3 | double | | |
| uf_buyitems_division_clickitems_3 | double | | |
| uf_buy_division_click_3 | double | | |
| uf_buy_division_cart_3 | double | | |
| uf_buy_division_collect_3 | double | | |
| uf_buydays_division_activedays_3 | double | | |
| uf_buys_division_buydays_3 | double | | |
| uf_buys_division_buyitems_3 | double | | |
| uf_buys_division_buycates_3 | double | | |
| uf_buyitems_division_buydays_3 | double | | |
| uf_buycates_division_buydays_3 | double | | |
| uf_click_31 | bigint | | |
| uf_collect_31 | bigint | | |
| uf_cart_31 | bigint | | |
| uf_buy_31 | bigint | | |
| uf_buyitems_31 | bigint | | |
| uf_buycates_31 | bigint | | |
| uf_active_days_31 | bigint | | |
| uf_buy_days_31 | bigint | | |
| uf_clickitems_31 | bigint | | |
| uf_clickcates_31 | bigint | | |
| uf_cartitems_31 | bigint | | |
| uf_cartcates_31 | bigint | | |
| uf_collectitems_31 | bigint | | |
| uf_collectcates_31 | bigint | | |
| uf_buycates_division_clickcates_31 | double | | |
| uf_buyitems_division_clickitems_31 | double | | |
| uf_buy_division_click_31 | double | | |
| uf_buy_division_cart_31 | double | | |
| uf_buy_division_collect_31 | double | | |
| uf_buydays_division_activedays_31 | double | | |
| uf_buys_division_buydays_31 | double | | |
| uf_buys_division_buyitems_31 | double | | |
| uf_buys_division_buycates_31 | double | | |
| uf_buyitems_division_buydays_31 | double | | |
| uf_buycates_division_buydays_31 | double | | |
| if_whichday | string | | |
| if_item_id | string | | |
| if_buytwice | bigint | | |
| if_buythird | bigint | | |
| if_click_1 | bigint | | |
| if_collect_1 | bigint | | |
| if_cart_1 | bigint | | |
| if_buy_1 | bigint | | |
| if_buyusers_1 | bigint | | |
| if_clickusers_1 | bigint | | |
| if_cartusers_1 | bigint | | |
| if_collectusers_1 | bigint | | |
| if_cartusers_division_buyusers_1 | double | | |
| if_collectusers_division_buyusers_1 | double | | |
| if_buyusers_division_clickusers_1 | double | | |
| if_avg_click_per_user_1 | double | | |
| if_hot_1 | double | | |
| if_lastdaymaxclickhour | bigint | | |
| if_lastdaymaxcollecthour | bigint | | |
| if_lastdaymaxcarthour | bigint | | |
| if_lastdaymaxbuyhour | bigint | | |
| if_click_7 | bigint | | |
| if_collect_7 | bigint | | |
| if_cart_7 | bigint | | |
| if_buy_7 | bigint | | |
| if_buyusers_7 | bigint | | |
| if_clickusers_7 | bigint | | |
| if_buyusers_division_clickusers_7 | double | | |
| if_hot_7 | double | | |
| if_active_days_7 | bigint | | |
| if_buy_days_7 | bigint | | |
| if_cartusers_7 | bigint | | |
| if_collectusers_7 | bigint | | |
| if_cartusers_division_buyusers_7 | double | | |
| if_collectusers_division_buyusers_7 | double | | |
| if_avg_click_per_user_7 | double | | |
| if_buy_division_click_7 | double | | |
| if_buy_division_cart_7 | double | | |
| if_buy_division_collect_7 | double | | |
| if_buydays_division_activedays_7 | double | | |
| if_buys_division_buydays_7 | double | | |
| if_buys_division_buyusers_7 | double | | |
| if_buyusers_division_buydays_7 | double | | |
| if_click_5 | bigint | | |
| if_collect_5 | bigint | | |
| if_cart_5 | bigint | | |
| if_buy_5 | bigint | | |
| if_buyusers_5 | bigint | | |
| if_clickusers_5 | bigint | | |
| if_buyusers_division_clickusers_5 | double | | |
| if_hot_5 | double | | |
| if_active_days_5 | bigint | | |
| if_buy_days_5 | bigint | | |
| if_cartusers_5 | bigint | | |
| if_collectusers_5 | bigint | | |
| if_cartusers_division_buyusers_5 | double | | |
| if_collectusers_division_buyusers_5 | double | | |
| if_avg_click_per_user_5 | double | | |
| if_buy_division_click_5 | double | | |
| if_buy_division_cart_5 | double | | |
| if_buy_division_collect_5 | double | | |
| if_buydays_division_activedays_5 | double | | |
| if_buys_division_buydays_5 | double | | |
| if_buys_division_buyusers_5 | double | | |
| if_buyusers_division_buydays_5 | double | | |
| if_click_10 | bigint | | |
| if_collect_10 | bigint | | |
| if_cart_10 | bigint | | |
| if_buy_10 | bigint | | |
| if_buyusers_10 | bigint | | |
| if_clickusers_10 | bigint | | |
| if_buyusers_division_clickusers_10 | double | | |
| if_hot_10 | double | | |
| if_active_days_10 | bigint | | |
| if_buy_days_10 | bigint | | |
| if_cartusers_10 | bigint | | |
| if_collectusers_10 | bigint | | |
| if_cartusers_division_buyusers_10 | double | | |
| if_collectusers_division_buyusers_10 | double | | |
| if_avg_click_per_user_10 | double | | |
| if_buy_division_click_10 | double | | |
| if_buy_division_cart_10 | double | | |
| if_buy_division_collect_10 | double | | |
| if_buydays_division_activedays_10 | double | | |
| if_buys_division_buydays_10 | double | | |
| if_buys_division_buyusers_10 | double | | |
| if_buyusers_division_buydays_10 | double | | |
| if_click_3 | bigint | | |
| if_collect_3 | bigint | | |
| if_cart_3 | bigint | | |
| if_buy_3 | bigint | | |
| if_buyusers_3 | bigint | | |
| if_clickusers_3 | bigint | | |
| if_buyusers_division_clickusers_3 | double | | |
| if_active_days_3 | bigint | | |
| if_buy_days_3 | bigint | | |
| if_hot_3 | double | | |
| if_cartusers_3 | bigint | | |
| if_collectusers_3 | bigint | | |
| if_cartusers_division_buyusers_3 | double | | |
| if_collectusers_division_buyusers_3 | double | | |
| if_buy_division_click_3 | double | | |
| if_buy_division_cart_3 | double | | |
| if_buy_division_collect_3 | double | | |
| if_buydays_division_activedays_3 | double | | |
| if_buys_division_buydays_3 | double | | |
| if_buys_division_buyusers_3 | double | | |
| if_buyusers_division_buydays_3 | double | | |
| if_avg_click_per_user_3 | double | | |
| if_click_31 | bigint | | |
| if_collect_31 | bigint | | |
| if_cart_31 | bigint | | |
| if_buy_31 | bigint | | |
| if_buyusers_31 | bigint | | |
| if_clickusers_31 | bigint | | |
| if_buyusers_division_clickusers_31 | double | | |
| if_active_days_31 | bigint | | |
| if_buy_days_31 | bigint | | |
| if_hot_31 | double | | |
| if_cartusers_31 | bigint | | |
| if_collectusers_31 | bigint | | |
| if_cartusers_division_buyusers_31 | double | | |
| if_collectusers_division_buyusers_31 | double | | |
| if_avg_click_per_user_31 | double | | |
| if_buy_division_click_31 | double | | |
| if_buy_division_cart_31 | double | | |
| if_buy_division_collect_31 | double | | |
| if_buydays_division_activedays_31 | double | | |
| if_buys_division_buydays_31 | double | | |
| if_buys_division_buyusers_31 | double | | |
| if_buyusers_division_buydays_31 | double | | |
| cf_whichday | string | | |
| cf_category_id | string | | |
| cf_click_1 | bigint | | |
| cf_collect_1 | bigint | | |
| cf_cart_1