AVt天堂网 手机版,亚洲va久久久噜噜噜久久4399,天天综合亚洲色在线精品,亚洲一级Av无码毛片久久精品

當(dāng)前位置:首頁 > 科技  > 軟件

利用Python群組分析方法剖析客戶行為

來源: 責(zé)編: 時(shí)間:2023-10-13 14:37:25 307觀看
導(dǎo)讀簡(jiǎn)介如今,企業(yè)有能力收集大量的數(shù)據(jù)。這些數(shù)據(jù)可以幫助企業(yè)制定更好的策略并了解其客戶的行為。在這一點(diǎn)上,Cohort分析就發(fā)揮作用了。Cohort分析是一種了解客戶行為或用戶互動(dòng)的強(qiáng)大工具,并為企業(yè)提供有價(jià)值的見解。在本

簡(jiǎn)介

如今,企業(yè)有能力收集大量的數(shù)據(jù)。這些數(shù)據(jù)可以幫助企業(yè)制定更好的策略并了解其客戶的行為。在這一點(diǎn)上,Cohort分析就發(fā)揮作用了。Cohort分析是一種了解客戶行為或用戶互動(dòng)的強(qiáng)大工具,并為企業(yè)提供有價(jià)值的見解。在本文中,將學(xué)習(xí)如何使用Python進(jìn)行Cohort分析。xYV28資訊網(wǎng)——每日最新資訊28at.com

Cohort分析

Cohort分析是一種經(jīng)常在市場(chǎng)營(yíng)銷、客戶忠誠度、用戶體驗(yàn)和產(chǎn)品開發(fā)等領(lǐng)域使用的數(shù)據(jù)分析技術(shù)。通過這種分析方法,我們可以詳細(xì)了解特定時(shí)期內(nèi)人群或群體的行為。Cohort用于識(shí)別具有相似特征或經(jīng)歷的人群或群體。xYV28資訊網(wǎng)——每日最新資訊28at.com

例如,對(duì)于電子商務(wù)業(yè)務(wù),可以使用Cohort分析來監(jiān)測(cè)不同的群體,比如客戶群體、來自特定地區(qū)的群體或偏好特定產(chǎn)品類別的群體。通過這種分析,我們可以研究特定群體在一段時(shí)間內(nèi)的行為和傾向。xYV28資訊網(wǎng)——每日最新資訊28at.com

應(yīng)用Cohort分析

本文有一個(gè)由12個(gè)表組成的關(guān)系數(shù)據(jù)庫。本文將在Python通過MS SQL從這個(gè)表中提取所需的特征。在進(jìn)行必要的預(yù)處理操作后,本文將使數(shù)據(jù)適合進(jìn)行分析。接下來從查看數(shù)據(jù)庫開始。xYV28資訊網(wǎng)——每日最新資訊28at.com

本文需要兩個(gè)特征。這兩個(gè)特征是客戶ID和訂單日期。本文的目標(biāo)是查看我們能夠保留多少客戶,并在其首次到達(dá)日期后的每個(gè)月基礎(chǔ)上保留多長(zhǎng)時(shí)間。xYV28資訊網(wǎng)——每日最新資訊28at.com

本文想要的特征包含在一個(gè)單獨(dú)的表中。因此,在查詢過程中,不需要從其他表中提取屬性。然而,為了舉例說明,假設(shè)本文將在兩個(gè)表上工作,接下來使用MS SQL中的JOIN獲取本文想要的特征。xYV28資訊網(wǎng)——每日最新資訊28at.com

SELECT * FROM ORDERS

圖片圖片xYV28資訊網(wǎng)——每日最新資訊28at.com

SELECT * FROM USERS

圖片圖片xYV28資訊網(wǎng)——每日最新資訊28at.com

SELECT U.ID, O.DATE_ FROM USERS U JOIN ORDERS O ON U.ID= O.ID

圖片圖片xYV28資訊網(wǎng)——每日最新資訊28at.com

本文通過JOIN從USERS和ORDERS表中調(diào)用具有相同ID值的屬性。現(xiàn)在,為了在Python中進(jìn)行分析,本文將訪問該數(shù)據(jù)庫,在其中運(yùn)行我們的查詢,并將數(shù)據(jù)作為數(shù)據(jù)幀在我們的操作中使用。xYV28資訊網(wǎng)——每日最新資訊28at.com

首先,導(dǎo)入本文所需要的庫。xYV28資訊網(wǎng)——每日最新資訊28at.com

import pandas as pdimport sqlalchemy as saimport urllibfrom datetime import datetime

在第二步中,本文使用urllib.parse.quote_plus函數(shù)來保護(hù)連接字符串免受環(huán)境因素的影響,并將連接信息寫入這個(gè)將用于連接SQL Server數(shù)據(jù)庫的字符串中。xYV28資訊網(wǎng)——每日最新資訊28at.com

params = urllib.parse.quote_plus("DRIVER={SQL Server};" "SERVER=DESKTOP-F3H252;" "DATABASE=E-COMMERCE;")

注:如果不知道服務(wù)器名稱,可以通過查詢"SELECT @@SERVERNAME"來找到它。xYV28資訊網(wǎng)——每日最新資訊28at.com

接下來,本文使用"SQLAlchemy (sa)"庫創(chuàng)建與SQL Server數(shù)據(jù)庫的連接。使用"sa.create_engine"函數(shù),我們可以利用連接字符串和其他連接設(shè)置創(chuàng)建一個(gè)鏈接引擎。"odbc_connect"參數(shù)用于ODBC連接,并包含之前轉(zhuǎn)換的連接字符串。xYV28資訊網(wǎng)——每日最新資訊28at.com

engine = sa.create_engine("mssql+pyodbc:///?odbc_cnotallow={}".format(params))

在下一步中,本文將創(chuàng)建一個(gè)SQL查詢。我們使用查詢"SELECT U.ID, O.DATE_ FROM USERS U JOIN ORDERS O ON U.ID= O.ID"來獲取我們想要的特征。xYV28資訊網(wǎng)——每日最新資訊28at.com

qry ="SELECT U.ID, O.DATE_ FROM USERS U JOIN ORDERS O ON U.ID= O.ID"

我們通過"engine"對(duì)象建立數(shù)據(jù)庫連接,并在"with"代碼塊中使用該連接。這將自動(dòng)關(guān)閉連接。我們使用"con.execute(qry)"運(yùn)行SQL查詢并獲取結(jié)果集(rs)。最后,我們將結(jié)果集轉(zhuǎn)換為Pandas DataFrame。xYV28資訊網(wǎng)——每日最新資訊28at.com

with engine.connect() as con:    rs = con.execute(qry)    df = pd.DataFrame(rs)

圖片圖片xYV28資訊網(wǎng)——每日最新資訊28at.com

我們知道沒有缺失數(shù)據(jù),但在這一點(diǎn)上,讓我們檢查并消除它。xYV28資訊網(wǎng)——每日最新資訊28at.com

df.isnull().sum()
ID 0DATE_ 0dtype: int64

由于我們將按月進(jìn)行工作,所以小時(shí)數(shù)對(duì)我們來說并不重要,所以我們首先要?jiǎng)h除小時(shí)數(shù),然后再刪除天數(shù)。首先,我們將日期列(DATE_)轉(zhuǎn)換為日期時(shí)間格式,然后只獲取日期。xYV28資訊網(wǎng)——每日最新資訊28at.com

df['DATE_'] = pd.to_datetime(df['DATE_'])df['DATE_'] = df['DATE_'].dt.date

圖片圖片xYV28資訊網(wǎng)——每日最新資訊28at.com

本文的下一步行動(dòng)是刪除天數(shù)。接下來為此定義一個(gè)lambda函數(shù)。希望保留年份和月份的值。datetime(x.year, x.month, 1)將使用年份和月份信息創(chuàng)建一個(gè)新的日期對(duì)象,其中包含該月的第一天。xYV28資訊網(wǎng)——每日最新資訊28at.com

get_year_month = lambda x: datetime(x.year, x.month, 1)

接下來使用這個(gè)函數(shù)創(chuàng)建一個(gè)新的變量,并將新數(shù)據(jù)存儲(chǔ)在'DATE_MONTH'列中。xYV28資訊網(wǎng)——每日最新資訊28at.com

df['DATE_MONTH'] = df['DATE_'].apply(get_year_month)

現(xiàn)在,本文將根據(jù)客戶ID對(duì)要執(zhí)行的流程進(jìn)行分組,并通過創(chuàng)建'COHORT_MONTH'變量在這一列中保留每個(gè)客戶的首次到達(dá)日期。xYV28資訊網(wǎng)——每日最新資訊28at.com

user_first_date = df.groupby('ID')['DATE_MONTH']df['COHORT_MONTH'] = user_first_date.transform('min')

圖片圖片xYV28資訊網(wǎng)——每日最新資訊28at.com

當(dāng)我們查看所獲得的值時(shí),如果對(duì)第一個(gè)訂單日期和其他訂單日期進(jìn)行評(píng)估,就可以很容易地找到差異。我們可以通過創(chuàng)建一個(gè)新的'COHORT_INDEX'變量,將差異保留在這一列中。xYV28資訊網(wǎng)——每日最新資訊28at.com

years_diff = df['DATE_MONTH'].dt.year - df['COHORT_MONTH'].dt.yearmonths_diff = df['DATE_MONTH'].dt.month -df['COHORT_MONTH'].dt.monthdf['COHORT_INDEX'] = years_diff * 12 + months_diff + 1

接下來計(jì)算每個(gè)首次到達(dá)日期的活躍客戶的月度數(shù)量。通過分組,本文創(chuàng)建了一個(gè)名為cohort_data的數(shù)據(jù)幀,其中包含了每個(gè)月首次到達(dá)的唯一客戶數(shù)量。xYV28資訊網(wǎng)——每日最新資訊28at.com

grouping_count = df.groupby(['COHORT_MONTH', 'COHORT_INDEX'])cohort_data = grouping_count['ID'].apply(pd.Series.nunique)cohort_data = cohort_data.reset_index()cohort_data.head()

圖片圖片xYV28資訊網(wǎng)——每日最新資訊28at.com

本文將cohort_data數(shù)據(jù)幀整理到數(shù)據(jù)透視表中,并創(chuàng)建一個(gè)名為cohort_user_counts的新數(shù)據(jù)幀。該數(shù)據(jù)幀將包含每個(gè)群體的月活躍客戶數(shù)量。xYV28資訊網(wǎng)——每日最新資訊28at.com

本文將計(jì)算每個(gè)客戶的活躍百分比。通過將每個(gè)月群體中的客戶數(shù)除以初始客戶數(shù)來實(shí)現(xiàn)此目的。xYV28資訊網(wǎng)——每日最新資訊28at.com

cohort_sizes = cohort_user_counts.iloc[:,0]retention = cohort_user_counts.divide(cohort_sizes, axis=0)retention.index = retention.index.strftime('%m-%Y')

圖片圖片xYV28資訊網(wǎng)——每日最新資訊28at.com

最后,本文將在熱圖上可視化retention數(shù)據(jù)幀。xYV28資訊網(wǎng)——每日最新資訊28at.com

sns.set(style = 'white')plt.figure(figsize = (15, 6))plt.title('Cohort: Retention rate by month')sns.heatmap(            retention            ,cmap = plt.cm.Reds            ,annot = True            ,fmt = '.0%'            )plt.xlabel("Ongoing months"plt.ylabel("First arrival date")plt.show()

圖片圖片xYV28資訊網(wǎng)——每日最新資訊28at.com

如上所述,圖表中的百分比表達(dá)的是活躍率。從中可以推斷出的內(nèi)容應(yīng)該回答了我們可以保留客戶多長(zhǎng)時(shí)間的問題。xYV28資訊網(wǎng)——每日最新資訊28at.com

在這篇文章中,我們提到了Cohort分析,并制作了一個(gè)可以輕松使用的應(yīng)用程序。xYV28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://www.tebozhan.com/showinfo-26-13565-0.html利用Python群組分析方法剖析客戶行為

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com

上一篇: 性能工程實(shí)踐

下一篇: 如何解決Maven依賴沖突?

標(biāo)簽:
  • 熱門焦點(diǎn)
  • 紅魔電競(jìng)平板評(píng)測(cè):大屏幕硬實(shí)力

    前言:三年的疫情因?yàn)橐暇W(wǎng)課的原因激活了平板市場(chǎng),如今網(wǎng)課的時(shí)代已經(jīng)過去,大家的生活都恢復(fù)到了正軌,這也就意味著,真正考驗(yàn)平板電腦生存的環(huán)境來了。也就是面對(duì)著這種殘酷的
  • Python異步IO編程的進(jìn)程/線程通信實(shí)現(xiàn)

    這篇文章再講3種方式,同時(shí)講4中進(jìn)程間通信的方式一、 Python 中線程間通信的實(shí)現(xiàn)方式共享變量共享變量是多個(gè)線程可以共同訪問的變量。在Python中,可以使用threading模塊中的L
  • 使用AIGC工具提升安全工作效率

    在日常工作中,安全人員可能會(huì)涉及各種各樣的安全任務(wù),包括但不限于:開發(fā)某些安全工具的插件,滿足自己特定的安全需求;自定義github搜索工具,快速查找所需的安全資料、漏洞poc、exp
  • 東方甄選單飛:有些鳥注定是關(guān)不住的

    文/彭寬鴻編輯/羅卿東方甄選創(chuàng)始人俞敏洪帶隊(duì)的“7天甘肅行”直播活動(dòng)已在近日順利收官。成立后一年多時(shí)間里,東方甄選要脫離抖音自立門戶的傳聞不絕于耳,“7
  • 小米MIX Fold 3下月亮相:今年唯一無短板的全能折疊屏

    這段時(shí)間以來,包括三星、一加、榮耀等等有不少品牌旗下的最新折疊屏旗艦都有新的進(jìn)展,其中榮耀、三星都已陸續(xù)發(fā)布了最新的折疊屏旗艦,尤其號(hào)榮耀Magi
  • 3699元!iQOO Neo8 Pro頂配版今日首銷:1TB UFS 4.0同價(jià)位唯一

    5月23日,iQOO推出了全新的iQOO Neo8系列,包含iQOO Neo8和iQOO Neo8 Pro兩個(gè)版本,其中標(biāo)準(zhǔn)版搭載高通驍龍8+,而Pro版更是首發(fā)搭載了聯(lián)發(fā)科天璣9200+旗艦
  • 2299元起!iQOO Pad開啟預(yù)售:性能最強(qiáng)天璣平板

    5月23日,iQOO如期舉行了新品發(fā)布會(huì),除了首發(fā)安卓最強(qiáng)旗艦處理器的iQOO Neo8系列新機(jī)外,還在發(fā)布會(huì)上推出了旗下首款平板電腦——iQOO Pad,其搭載了天璣
  • 最薄的14英寸游戲筆記本電腦 Alienware X14已可以購買

    2022年1月份在國(guó)際消費(fèi)電子展(CES2022)上首次亮相的Alienware新品——Alienware X14現(xiàn)在已經(jīng)可以購買了,這款筆記本電腦被譽(yù)為世界上最薄的 14 英寸游戲筆
  • 北京:科技教育體驗(yàn)基地開始登記

      北京“科技館之城”科技教育體驗(yàn)基地登記和認(rèn)證工作日前啟動(dòng)。首批北京科技教育體驗(yàn)基地?cái)M于2023年全國(guó)科普日期間掛牌,后續(xù)還將開展常態(tài)化登記。  北京科技教育體驗(yàn)基
Top