日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

利用Python实现用户群组分析!

發布時間:2023/12/19 python 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 利用Python实现用户群组分析! 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文中介紹的是一種數據分析方法:群組分析Cohort Analysis

群組分析是用于研究用戶行為和提高增長的分析思路。在本文中,將結合一個數據集利用Python來實現該分析方法。

https://www.philosophicalhacker.com/post/better-cohort-analysis/

本文數據集下載地址:

https://www.kaggle.com/mkechinov/ecommerce-events-history-in-cosmetics-shop

一、什么是群組分析

群組分析Cohort Analysis,重點就是群/組,它是一種利用用戶分層和用戶建模的方法,主要分析的是相同用戶群體隨著時間延續的變化發展情況。

我們需要將獲取到的全部用戶分成一個個的組或者簇群,這樣的群或組的分層方式可以是日期、渠道或者其他特定的用戶為來劃分??傊?#xff0c;我們可以按照實際的需求和維度來進行用戶分層。

通過群組分析,我們可以看到不同組別的留存情況。群組分析Cohort Analysis圖表和留存曲線是最常用的留存工具。這些圖表主要是告訴我們用戶在我們產品的中的參與度如何,留存率是怎樣的情況,同時還可以分析用戶新增速度是否達到我們的要求。

目前市面上很多的BI工具都可以繪制群組分析的圖表和留存曲線,比如GrowingIO、神策大數據系統、PowerBI等。但是,如果想自定義一些分組或分群的維度,使用Python也是不二選擇。

二、Cohort 分析使用場景

  • 用戶留存率分析

  • 用戶流失率分析

  • 用戶轉化率分析

  • 廣告轉化率分析

  • 上面是很常見的使用場景,還可以進行其他場合的延伸,比如電商網站用戶的交易支付數據,不同周期內獲取的用戶在交易頻次、客單價等的比較分析

    三、用戶留存

    用戶留存指的是隨著時間延續,用戶在某個周期內的存在情況。為什么要看留存?

    • 了解一個渠道的質量:通常是日留存,衡量用戶的短期活躍情況

    • 觀察整體的情況:用周留存或者月留存,衡量用戶在平臺上的黏性

    留存又分為次日留存、7日留存、14留存等。下面通過一個案例來說明常見的7日留存計算規則。

    問題:如何計算產品的7日留存?

    3.1 算法1-7日日留存

    第一種算法是:第7天活躍人數 / 第1天活躍人數 * 100%

    3.2 算法2-7日內留存

    第二種算法是:第2天~第7天去重后/第1天*100%


    3.3 算法3-不同定義的7日日留存

    上面的算法1中是把當前日直接記為Day1,還有一種計算方法將當前日當做Day0,然后再開始計算;

    舉例說明一下算法3的使用,比如DAU=10剛好是星期2產生的數據:

    • 如果使用算法1,7日日留存=下周1的數據/本周2的數據(10)

    • 如果使用算法2,7日日留存=下周2的數據/本周2的數據(10)

    說明:算法3在一定程度上能夠巧妙避開星期級別的影響

    3.4 3種留存算法比較

    四、本文數據

    4.1 導入數據

    本文中使用的一份數據集是從kaggle下載,主要是包含事件發生時間、類型(閱覽、加購、移除購物車和購買)、產品ID、分類ID、產品編碼、品牌、價格、用戶ID、用戶會話,總共7個屬性

    import?numpy?as?np? import?pandas?as?pd? import?datetime?as?dt?import?matplotlib.pyplot?as?plt import?seaborn?as?sns#設置漢字格式:Trebuchet MS, Tahoma, Verdana, Arial, Helvetica,SimHei 中文的幼圓、隸書等等#?解決中文無法顯示問題 plt.rcParams['font.sans-serif']=['Songti?SC']??? #?解決保存圖像中負號'-'顯示為方塊問題 plt.rcParams['axes.unicode_minus']?=?False

    4.2 數據探索

    主要查看的是數據類型、數據的行列數看大小、數據的缺失值情況

    df.dtypes??#?數據類型#?結果 event_time????????object event_type????????object product_id?????????int64 category_id????????int64 category_code?????object brand?????????????object price????????????float64 user_id????????????int64 user_session??????object dtype:?objectdf.shape??#?數據的行列數 #?結果 (3533286,?9)df.isnull().sum()???#?字段缺失值情況 #?結果 event_time?????????????0 event_type?????????????0 product_id?????????????0 category_id????????????0 category_code????3474821????#?缺失值嚴重 brand????????????1510289 price??????????????????0 user_id????????????????0 user_session?????????779 dtype:?int64

    五、數據清洗

    主要操作是挑選數據中價格大于和去重操作:

    六、數據處理

    在本文的案例中,群組分析是按照首次訪問的時間和每次的訪問來計算時間間隔,從而來計算留存情況,具體步驟為:

    • 計算每個用戶的首次訪問時間min_day

    • 記錄后續每次訪問時間和首次訪問時間的間隔day_gap

    • 因為是12月份的電商數據,我們將一個月分成10份,時間周期為3天

    因為上面的兩個因素都是和時間相關,所以必須導入Python中強大的datetime庫來處理時間處理的需求。

    1、獲取event_time中的時間:年月日

    def?get_time(datetime):"""函數作用:獲取時間中的年月日"""event_time?=?datetime.strip("?UTC")??#?傳進來的參數去掉?UTC部分#?dt表示datetime庫event_time?=?dt.datetime.fromisoformat(event_time)??#?生成一個YYYY-MM-DD的date對象y?=?dt.date(event_time.year,event_time.month,event_time.day)??#?取出年月日return?ydf2["event_day"]?=?df2["event_time"].apply(get_time) df2

    2、根據每個用戶user_id來確定最早時間

    #?用戶本月的最早登陸時間確定 grouping?=?df2.groupby("user_id")["event_day"] groupingdf2["min_day"]?=?grouping.transform("min") df2.head()

    3、計算訪問日event_day和最早訪問時間的間隔

    #?計算用戶當日訪問event_day和最早訪問時間min_day之間的時間間隔 #?3為假定的用戶分組訪問周期df2["day_gap"]?=?(((df2["event_day"]?-?df2["min_day"])?//?3)?+?dt.timedelta(days=1)).apply(lambda?x:x.days) df2

    4、按照首次訪問時間和時間間隔來統計用戶數

    #??按照首次訪問時間和下一次訪問的間隔,統計用戶數 grouping1?=?df2.groupby(["min_day","day_gap"])#?根據用戶user_id去重統計每個組的用戶數 # grouping1["user_id"].apply(pd.Series.nunique):展示去重的總個數 #?grouping1["user_id"].apply(pd.Series.unique):?展示去重之后的具體元素 df3?=?grouping1["user_id"].apply(pd.Series.nunique).reset_index() df3.head()

    上面表中的數據表示的是和當前的時間間隔分別為1,2,3…的人數分別為17519,2591,2276等

    5、生成數據透視表

    有了上面分組統計的數據,我們可以生成透視表

    #?數據透視部分 df4?=?df3.pivot(index="min_day",columns="day_gap",values="user_id") df4.head()

    6、改變數據形式:方便最終使用百分比顯示數據

    一般情況下,我們習慣用百分比來表示用戶的留存,很清晰地看到用戶的留存比例。首先我們取出第一列的數據(全部行):

    后面每個數據除以相應日期的第一個數據:

    #?divide?函數 table?=?df4.divide(size,axis=0)??#?在行的方向上除以對應size中的值 table.head()

    保留3位小數,同時改變數據table的索引值:

    #?保留3位小數并乘以100 table.round(3)?*?100#?索引重置,只取出年月日,后面的時分秒取消 table.index?=?table.index.date

    群組分析繪圖

    繪制群組分析留存熱力圖:

    #?解決中文無法顯示問題 plt.rcParams['font.sans-serif']=['Songti?SC']??? #?解決保存圖像中負號'-'顯示為方塊問題 plt.rcParams['axes.unicode_minus']?=?False??plt.figure(figsize=(15,8)) plt.title("群組分析留存圖")sns.heatmap(data=table,annot=True,fmt='.0%',vmin?=?0.0,vmax?=?0.2,cmap="BuPu_r") plt.show()

    從上面的數據中我們可以看到:前6天的留存情況還是很漂亮(顏色較淺,留存率相對較高)。

    可能原因是這是整個12月份的全量數據,導致了多數的活躍用戶會被歸類為月初前幾天的新增活躍用戶。但是數據整體上到了月末,留存占比還是較少,月留存情況并不可觀。

    -?END -

    對比Excel系列圖書累積銷量達15w冊,讓你輕松掌握數據分析技能,可以在全網搜索書名進行了解:

    總結

    以上是生活随笔為你收集整理的利用Python实现用户群组分析!的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 亚洲911精品成人18网站 | 伊人ab | 亚洲色图欧美色 | 九九九久久久精品 | 日韩在线一区二区三区四区 | 欧美日韩免费观看视频 | 男人的av | 麻豆入口| 神马久久春色 | 黄色成年人网站 | 麻豆成人免费视频 | 小香蕉影院 | 97日韩精品 | www五月天com| 亚洲激情视频一区 | 欧美日韩一区二区三区国产精品成人 | 青青草在线免费观看 | 亚洲精品国产99 | 色吧综合网 | 午夜激情福利在线 | 精品福利一区二区三区 | 尤物久久 | 国产一区二区三区精品愉拍 | 亚洲一二三区在线观看 | 一级片中文 | 少女与动物高清版在线观看 | 日韩欧美在线观看免费 | 免费av网址大全 | 九九视频免费观看 | 亚洲成人精品 | 一区二区小说 | 亚洲精品一二三四区 | 国产成人99 | 免费一级黄色片 | 国产综合视频在线观看 | 8x8x永久免费视频 | 91porny在线 | 成人福利视频在线观看 | 欧美性生活视频 | av观看网 | 在线看v片| 法国伦理少妇愉情 | 婷婷亚洲综合 | fc2成人免费视频 | 激情欧美一区二区免费视频 | 这里都是精品 | 色妞网 | 黑人玩弄人妻一区二区绿帽子 | 胖女人毛片 | 国产精品色网 | 欧美日韩精品在线 | xxxx日本免费| 国产日韩在线播放 | 天天干天天插天天射 | 国产原创视频在线观看 | 黑人高潮一区二区三区在线看 | 亚洲国产天堂 | 熟女视频一区 | 欧美精品在线看 | 亚洲精品aaaaa | 深爱婷婷| 91精品视频免费在线观看 | 亚洲不卡视频在线观看 | 伊人365影院| 一本大道久久a久久综合婷婷 | 日本一区中文字幕 | 国产成人视屏 | 深夜视频在线播放 | 女女h百合无遮涩涩漫画软件 | 黄色不卡视频 | 一区二区三区成人 | 在线看国产精品 | 女性高潮视频 | www.日本黄色 | 亚洲一区偷拍 | 欧美黄色大片视频 | 韩国女主播一区 | 初尝人妻少妇中文字幕 | 中国美女一级黄色片 | 性做久久久久久久免费看 | 高h喷水荡肉少妇爽多p视频 | 朝桐光在线视频 | 国产午夜精品久久久久久久久久 | 久久精品大片 | 日日干天天干 | 欧美日韩电影一区二区三区 | 日本黄在线观看 | 日韩视频一区二区三区在线播放免费观看 | 奇米影视第四色888 免费观看a毛片 | 久久天天躁狠狠躁夜夜躁 | 大乳护士喂奶hd | 久久无毛 | 国产良妇出轨视频在线观看 | 寡妇激情做爰呻吟 | 大地资源高清播放在线观看 | 久久av影视 | 小泽玛利亚一区二区三区在线观看 | 亚洲人 女学生 打屁股 得到 | 成人黄色片免费 |