購物籃分析-part2【附Python程式碼】

👉【行銷搬進大程式】給您更多實用文章與免費教學影片,附贈Python程式碼!

購物籃分析-part2【附Python程式碼】

在前篇文章「購物籃分析,最清楚概念-part1」中,已經介紹購物籃分析中,最重要的三個變數,接下來課程將以實作的方式,並且帶領您管理意涵。

實做案例

資料共有12,406筆,裡面只有購買清單(order_id)與產品名稱(product_name)兩個欄位,如下圖所示。

資料內容

apyori套件所要餵進去的格式非常簡單,只要將所有買過得商品整理成雙重陣列即可,例如範例:

[
    ['啤酒','尿布','水果','餅乾'],
    ['水果','尿布','奶粉'],
    ['啤酒','尿布','水果','餅乾'],
    ['尿布']
]

因此利用for迴圈,以購買清單為單位,將每個購買清單所購買的商品放在同一個陣列,在將所有陣列集中在一個大陣列中,形成雙重陣列的形式,如下圖所示。

整理完成的陣列
record=[]
for i in tqdm(order_products['order_id'].value_counts().index):
    member = order_products[order_products['order_id']==i]
    record.append(member['product_name'].values.tolist())

物籃分析

apriori套件中有兩個參數必須要設定,分別就是最小支持度(min_support)與最小提昇度(min_lift),雖然min_lift沒有強制要設定,但沒有設定的話分析出來的結果沒有意義。

min_support是設定大於多少的支持度要挑選出來,這個數字如果太小,會造成資料過多,相對資料太大,可能會沒有商品組合可以符合這個條件。min_lift就是之前所提到的,必須要設定大於1,否則商品就沒有正相關。

association_rules = apriori(record, min_support=0.01, min_lift=1.0000001)association_results = list(association_rules)

以min_support設定為0.01,min_lift設定為1.0000001,出來的商品組合總共有25筆(如圖3所示),本文拆解第一個挑選出來的商品組合(如下圖所示),來做詳細講解。

#挑出第一筆資料
list1 = association_results[0]
購物籃分析出來的結果
第一筆結果資料內容

RelationRecord這個資料格式的取資料方式類似於陣列,因此使用中括號加上編號,即可取出想要的內容,如範例(下圖所示)中取出商品組合「Bag of Organic Bananas」+「Large Lemon」的支持度約為0.012。


商品組合與支持度
print('商品組合: ')
print(list1[0])print('這個組合的支持度: ')
print(list1[1])

相信您還記的前面範例中,從不同的商品角度,得到的信心度與提昇度都不一樣,因此可以先取得Bag of Organic Bananas商品的角度,呈現的兩個數值為何(下圖所示)。


以Bag of Organic Bananas產品為出發點的信賴度與提昇度
print('以Bag of Organic Bananas產品為出發點的信賴度: ')
print(list1[2][0][2])print('以Bag of Organic Bananas產品為出發點的提昇度: ')
print(list1[2][0][3])

換成從Large Lemon產品為出發點,得到的結果與前者完全不同(下圖所示)。

以Large Lemon產品為出發點的信賴度與提昇度
print('以Large Lemon產品為出發點的信賴度: ')
print(list1[2][1][2])print('以Large Lemon產品為出發點的提昇度: ')
print(list1[2][1][3])

管理意含

回到我們最前面所討論的,我們最重要的是要討論「買A商品時買B商品的機率為多少」,也就是信賴度的部份,因此就以實際範例中的商品組合「Bag of Organic Bananas」+「Large Lemon」而言:

買Bag of Organic Bananas後,買Large Lemon的
機率約為11.02%

買Large Lemon後,買Bag of Organic Bananas的
機率約為17.94%

聰明的您馬上就知道,行銷資源要最先投放在購買Large Lemon的消費者,並且推薦他們購買Bag of Organic Bananas這個商品,如此明確又落地的方法,還不快手刀實做。

購物籃分析也有許多不同的角度,可以參考文章「共生分群的三種規則」,或許會有不同的收穫。

您可能會想問

購買組合「互相的購買機率」怎麼會不同?

這個原因在可能是您在常理與演算法之間有所衝突,那換個比喻。會買球針(幫籃球打氣的針)的消費者一定有買(過)籃球,但有買籃球的消費者,不一定有買過球針(跟別人借就好,不一定要人手一根針)。

要如何產出精準名單?

精準名單

只需要將ordered_statistics欄位中的內容進行「爆破」即可,利用explode這個方法(pandas0.25版本以上),可以將陣列欄位中的數值分成多個row。經由「爆破」後,整理出以下欄位:

A產品:以該欄位的產品為角度。
B產品:A產品相對的商品組合對象。
信賴度:該商品組合的信賴度。
提昇度:該商品組合的提昇度。

整理出以下欄位後就簡單了,直接排序信賴度欄位,即可找到最高的推薦產品,因此如圖9中,信賴度最高為0.481481,代表購買「Honeycrisp Apple」的消費者,有48%的機率購買「Banana」。依照這個流程,並考量自身的行銷預算,便可以明確的選擇要打廣告的受眾與商品。

下載完整程式碼-請點我


👉想看更多Python實作教學影片【免費】👈

📌Python基礎課程

📌Line Bot 聊天機器人

📌行銷人轉職爬蟲王實戰|5大社群+2大電商

📌Telegram Bot 聊天機器人

📌實用工具

▶ 點此:https://marketingliveincode.com/

查看更多Python工具技巧、商業分析、教學影片

滿意我們餐點嗎?給點 Claps 吧👏👏

1. 我學習到了新的概念與工具 1–10+

2. 我理解了這篇內容所講述的工具與技巧 20–30+

3. 我可以將這篇的內容運用到學習和工作上20–30+

作者:楊超霆(行銷搬進大程式 創辦人)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,793评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,567评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,342评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,825评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,814评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,680评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,033评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,687评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,175评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,668评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,775评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,419评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,020评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,206评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,092评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,510评论 2 343

推荐阅读更多精彩内容