手把手教你用 SQL 实现电商产品用户分析
作者介紹
@吃飯第一名的 Claire
美國德克薩斯大學奧斯汀分校商學院碩士;
美國某物流公司數據分析師;
負責數據收集、清理、分析、建模、可視化等;
美劇重度愛好者,堅信美食能解決大部分問題的終極吃貨;
“數據人創作者聯盟”成員。
用戶行為分析是互聯網公司的核心分析指標。這個過程需要數據分析師通過海量交易數據,分析(新/老)用戶在整個產品使用環節(隨時間)的行為路徑,從而發現異常值,探索出現異常的原因,進而減少用戶流失、提升用戶的產品參與度、最后幫助產品實現持續性營收。
注:這里的互聯網產品可以是手機app、網站平臺等各種SaaS(Software as a Service)產品,以下皆用“app”來代表以簡化語言。
本文我們以電商平臺的一組數據來深度剖析一下如何進行用戶分析,有哪些指標要關注,分別說明了什么問題,這些數據結果又如何指導我們決策。本期文章分為 2 個模塊:
注:為了更有效的凸顯數據帶給我們的洞察,不同模塊采取了不同時段不同來源的數據集,所以數據前后不一致是正常的。
?
本文的目的是為了幫助大家搭建數據分析的思維,學習用 SQL 幫助實現分析,并通過可視化進行呈現和匯報。
注:全文符合 PostgreSQL 語法格式?
1?數據表(表名 events)
非常簡單,5 個字段,每一行表示某 user 在某 date 某 hour 對某 item 做了某 behavior,其中 behavior 有 pv (瀏覽/點擊)、fav(收藏)、cart(加入購物車)和 buy(下單支付)4 種。
2?整體統計分析
通常會涉及時間段,總天數,總記錄數,總訪問量,總用戶數,購買用戶數,平均日瀏覽量,平均日用戶量,平均跳出率。
以下是 SQL 代碼:
說明數據是從 2020 年 11 月 25 日至 2020 年 12 月 2 日。
我們要面對的是 8 天將近 90M 的數據。
總訪問量,總用戶數及比值
PV 是 page view,app 被瀏覽/刷新/點擊都算一次。
UV 是 unique visitor,每個訪問 app 的終端算一個獨立訪客。
PV/UV=81 表示在這 8 天的數據中,平均每個用戶訪問頁面 81 次。
購買用戶數(643,832人)
平均日瀏覽量(10M)要先按 date group by 算出 pv,再求平均值。
平均日用戶量(760K 人)同理
Bounce rate 跳出率(只有一次點擊行為的用戶/總用戶數)
假設只有一個頁面可以瀏覽,用戶點進頁面后要么收藏加購付款,要么跳出。
得到 8% 的跳失率,說明 8% 的用戶點進來,沒有往下轉化就流失掉了,公司應對此查看商品詳情頁是不是還需改進,網頁加載有沒有延遲等問題。
3?用戶行為路徑分析
3.1?漏斗分析
可以是行為數漏斗,也可以是獨立訪客數漏斗,我們這里用后者進行分析。
先按用戶,統計每個人的行為:
? ?
再計算每個行為的用戶數,最后計算轉化率,這里我們的轉化率是以 view/click -> favorite/add to cart -> purchase 路徑為基準進行的計算,并且將收藏和加入購物車的行為進行了合并(考慮到這兩個階段不分先后順序,而且都是確定購買意向的行為)。
這里表示有點擊行為的用戶中,86% 的人都點了加購或者收藏,有上述行為的人又購買的人占所有點擊人數的 58%。這樣的轉化率可是非常不錯!
3.2?AARRR 框架
3.2.1 用戶獲取:我們來看看每日新增訪問和購買用戶
每日新增訪問用戶數:
每日新增購買用戶數:
每日新增用戶整體來看都是逐漸減少,12 月 1 日新增購買用戶有一個回彈,在 11 月27 日以后,每日新增購買用戶數超過每日新增瀏覽用戶數,說明一部分之前瀏覽的用戶在幾天后開始下單,可以聯系業務部門查看公司有做什么活動推進了用戶的支付。
3.2.2 用戶留存
是什么:用戶留存率是一批用戶在一定時間間隔里,某些行為重復發生的比例。
用戶可以分為新活躍用戶、老活躍用戶;
時間通常有次日、7 日、30 日留存,不同 app 由于產品屬性和用戶使用頻率的不同而采用的時間間隔也不同,內容社交類 app 更看重次日留存,電商類可以是按周或者按月,也取決于電商品類,出行旅游類 app 則由于用戶使用頻率低而看重月留存率;
注:行業基準(Benchmark)電商產品的平均用戶留存率是 30%,超過 35% 是良好的產品表現。
行為針對不同 app 可以是完成一次購買,觀看一次視頻,查看一次地圖等。
為什么:用戶留存分析是衡量用戶粘性(持續使用 APP)的重要指標,不能只看 DAU/MAU(只能表面的展示產品使用情況),拉新用戶會掩蓋流失用戶的問題。一個典型的比喻是把 app 看成水桶,拉新是蓄水,用戶流失是流水,留存率低就意味著水不斷流走,這樣的水桶很難保證恒定的水量,這樣的 app 也不會有長久穩定的發展。更重要的是拉新的成本是留住老用戶的 5-7 倍。把握好用戶留存能讓你事半功倍。
怎么做:提高用戶留存的方法有很多維度,比如通過郵件、app 消息推送、投放廣告等提醒用戶采取行動;縮短用戶行為路徑,減少用戶使用 app 成本;給用戶提供多樣的獎勵;培養用戶習慣,強化用戶對產品的依賴等。
我們在這里著重介紹如何進行用戶留存的分析:同期群分析(Cohort analysis)是用戶留存分析的重要分析方法。
同期群(cohort)是一組在特定時間做同樣事的人,比如都在 1 月 1 日注冊賬戶的用戶是一個同期群,都在 1 月 2 日注冊賬戶的用戶是另一個同期群。
同期群分析是一個測量用戶對 app 隨時間參與度的工具,他最常見的分析方式是畫類似如下圖的同期群用戶留存表。
圖源https://clevertap.com/blog/cohort-analysis/,版權歸作者所有
我先解釋上圖表格每個維度代表的含義,再展示如何用我們已有的數據生成這個表格。
表格的每一行代表一個群組,群組 Jan 25 表示 1098 個用戶都在 1 月 25 日開始使用這個 app,從左往右來看,1 天后的留存率是 33.9%,即在 1098 個用戶中,1098 X 33.9% = 372 個用戶繼續使用了這個 app;7 天后還有 1098 X 14.5% = 159 個用戶用了這個 app,或者說在這 1098 個用戶中,平均每 7 個人中有一個在 7 天后還是活躍用戶。
注:從左到右來的用戶留存率一般是逐漸降低的,但并不絕對,同一行右邊的留存率可能比左邊大,這里的留存率不要求一個人每天連續使用。
縱向來看可以比較不同期用戶同一生命周期的留存,用戶生命周期的早期的留存率能反應用戶對產品的第一印象和接受度。
我們的數據來源于電商行業,這里我們用一周比較不同群組之間的留存率。
要生成這個表格,用 Excel 的 pivot table 很容易做到,但是,我要從數據庫用 SQL 取什么樣的數據呢?自己思考一下再往下看。
答案:付費用戶首次購買產品的日期(周),當周購買的新用戶人數,付費用戶其他時間(周)購買和首周的間隔,與首周間隔后的購買人數。
下面上代碼:
通過 Excel pivot table 我們得到以下表格:
-
我們發現 12-8 那周和 12-29 那周的一周后留存明顯降低,而這兩周的新增用戶激增,很可能與雙 12 和元旦期間做的促銷和上新有關。節日過后,一方面用戶購買欲望降低,另一方面促銷結束,價格回升,導致了留存率降低。
-
我們還發現 12-1 那周和 12-22 所在周首次下單的用戶,一周后的用戶留存顯著高于其他同期群,和業務部門溝通后,發現是市場部在節日一周前專門做了節日促銷、滿減、送優惠券的宣傳,吸引了用戶注冊,這部分用戶也是為了享受下周的優惠而停留,優惠過后,留存率又回到了平均水平。
-
通過 cohort table,我們還能應該分析出 11-24 所在周首次下單的用戶更有粘性,跟業務方溝通發現那批用戶正是產品進行 A/B 測試,進行頁面改變的時間,說明頁面的改變帶來了一定的效益,數據分析師可以和做 A/B 測試組討論,進行進一步的驗證。
-
通過這組數據我們可以發現大概 77% 的新用戶在購買產品一周后就不再購買,第二個顯著的下降是在 7 周后。下圖說明該 app 還需提升新用戶留存率,可以從簡化用戶購買路徑,優化支付按鈕,提高產品質量等角度考慮。
注:實際工作中看留存率變化會選定一個基準日,比如今天是 2 月 4 日,看 10 天內的留存率變化就是以 1 月 25 日為起始,而不是選用各 cohort 的平均值。
當然 cohort analysis 也不一定要以時間為周期進行劃分,具有某種共同行為特征的用戶也可以劃分為一個 cohort,這里舉一個 Disney+ 的例子:
圖源https://secondmeasure.com/datapoints/Disney-takes-customer-retention-crown-from-netflix/ ,版權歸Second Measure所屬
Disney+ 是美國的一個流媒體平臺,這里他把訂閱者分成了 4 類:為了看 Mulan 訂閱的人、為了看 Hamilton 訂閱的人、和其他服務一起訂閱的人和普通每月訂閱者。這個圖告訴我們曾在木蘭發行期訂閱的人中,82% 的用戶在下個月還訂閱了 Disney+,曾在 Hamilton 發行期訂閱的人中,只有 75% 還訂閱了下個月的會員,而平均 1 月后的留存率是 86%。
3.2.3 復購分析
提升復購率是增加收入的重要方法,下面我們進行 2 個維度的分析。
3.2.3.1? 整體復購率 (購買 2 次及以上的用戶比率)
得出 63% 的用戶都進行了復購,還不錯。
3.2.3.2? 用戶復購次數分布
復購 5 次以上的用戶僅占總用戶的 10%。
4?小結
本期我們用 SQL 進行了 SaaS 產品用戶數據的初探索、用戶漏斗模型、同期群分析、和復購分析的實現。希望下次老板再找你做用戶行為分析的時候,你不會沒有頭緒或者手忙腳亂了!
后續計劃:別看我們討論的數據這么簡單,其實能做的分析可太多了,這期由于篇幅原因我們先說到這里,下期接著說用戶在時間維度的分析,RFM 模型分析和商品角度的研究。如果你有學到一點什么,別忘了點贊 收藏 加關注哦!
總結
以上是生活随笔為你收集整理的手把手教你用 SQL 实现电商产品用户分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux删除任务进程命令bkill,
- 下一篇: mysql 对结果重新编号_为MySQL