当前位置: 首页 > news >正文

广州番禺哪里有学网站建设电话投放小网站

广州番禺哪里有学网站建设,电话投放小网站,电脑做网站用word,wordpress数据库优化每个电子商务数据分析师必须掌握的一项数据聚类技能 如果你是一名在电子商务公司工作的数据分析师,从客户数据中挖掘潜在价值,来提高客户留存率很可能就是你的工作任务之一。 然而,客户数据是巨大的,每个客户的行为都不一样。20…

每个电子商务数据分析师必须掌握的一项数据聚类技能

如果你是一名在电子商务公司工作的数据分析师,从客户数据中挖掘潜在价值,来提高客户留存率很可能就是你的工作任务之一。

然而,客户数据是巨大的,每个客户的行为都不一样。2020年3月收购的客户A与2020年5月收购的客户B表现出不同的行为。因此,有必要将客户分为不同的群组,然后调查每个群组在一段时间内的行为。这就是所谓的同期群分析

同期群分析是了解一个特殊客户群体在一段时间内的行为的数据分析技术。

在这篇文章中,不会详细介绍同期群分析的理论。这篇文章更多的是告诉你如何将客户分成不同的群组,并在一段时间内观察每个群组的留存率。

导入数据和python库

import pandas as pd  
import matplotlib.pyplot as plt  
import seaborn as sns  
df = pd.read_csv('sales_2018-01-01_2019-12-31.csv')  
df  

技术交流

技术要学会分享、交流,不建议闭门造车。一个人走的很快、一堆人可以走的更远。

本文来自技术群粉丝分享整理,文章源码、数据、技术交流,均可加交流群获取,群友已超过2000人,添加时最好的备注方式为:来源+兴趣方向,方便找到志同道合的朋友。

方式①、添加微信号:pythoner666,备注:来自CSDN +备注来意
方式②、微信搜索公众号:Python学习与数据挖掘,后台回复:加群

在这里插入图片描述

分离新老客户

first_time = df.loc[df['customer_type'] == 'First-time',]  
final = df.loc[df['customer_id'].isin(first_time['customer_id'].values)]  

在这里,不能简单地选择df.loc[df['customer_type']],因为在这个数据中,在customer_type列下,First_time指的是新客户,而Returning指的是老客户。因此,如果我在2019年12月31日第一次购买,数据会显示我在2019年12月31日是新客户,但在我第二次、第三次…时是返回客户。同期群分析着眼于新客户和他们的后续购买行为。因此,如果我们简单地使用df.loc[df['customer_type']=='First-time',],我们就会忽略新客户的后续购买,这不是分析同期群行为的正确方法。

因此,这里所需要做的是,首先创建一个所有第一次的客户列表,并将其存储为first_time。然后从原始客户数据框df中只选择那些ID在first_time客户组内的客户。通过这样做,我们可以确保我们获得的数据只有第一次的客户和他们后来的购买行为。

现在,我们删除customer_type列,因为它已经没有必要了。同时,将日期列转换成正确的日期时间格式

final = final.drop(columns = ['customer_type'])  
final['day']= pd.to_datetime(final['day'], dayfirst=True)  

按客户ID排序,然后是日期

final = final.drop(columns = ['customer_type'])  
final['day']= pd.to_datetime(final['day'], dayfirst=True)  

定义一些函数

def purchase_rate(customer_id):  purchase_rate = [1]  counter = 1  for i in range(1,len(customer_id)):  if customer_id[i] != customer_id[i-1]:  purchase_rate.append(1)  counter = 1  else:  counter += 1  purchase_rate.append(counter)  return purchase_rate  
def join_date(date, purchase_rate):  join_date = list(range(len(date)))  for i in range(len(purchase_rate)):   if purchase_rate[i] == 1:  join_date[i] = date[i]  else:  join_date[i] = join_date[i-1]  return join_date  
def age_by_month(purchase_rate, month, year, join_month, join_year):  age_by_month = list(range(len(year)))  for i in range(len(purchase_rate)):  if purchase_rate[i] == 1:  age_by_month[i] = 0  else:  if year[i] == join_year[i]:  age_by_month[i] = month[i] - join_month[i]  else:  age_by_month[i] = month[i] - join_month[i] + 12*(year[i]-join_year[i])  return age_by_month  
  • purchase_rate函数将决定这是否是每个客户的第二次、第三次、第四次购买。

  • join_date函数允许确定客户加入的日期。

  • age_by_month函数提供了从客户当前购买到第一次购买的多少个月。

现在输入已经准备好了,接下来创建群组。

创建群组

final['month'] =pd.to_datetime(final['day']).dt.month  
final['Purchase Rate'] = purchase_rate(final['customer_id'])  
final['Join Date'] = join_date(final['day'], final['Purchase Rate'])  
final['Join Date'] = pd.to_datetime(final['Join Date'], dayfirst=True)  
final['cohort'] = pd.to_datetime(final['Join Date']).dt.strftime('%Y-%m')  
final['year'] = pd.to_datetime(final['day']).dt.year  
final['Join Date Month'] = pd.to_datetime(final['Join Date']).dt.month  
final['Join Date Year'] = pd.to_datetime(final['Join Date']).dt.year  

final['Age by month'] = age_by_month(final['Purchase Rate'],   final['month'],  final['year'],  final['Join Date Month'],  final['Join Date Year'])  

cohorts = final.groupby(['cohort','Age by month']).nunique()  
cohorts = cohorts.customer_id.to_frame().reset_index()   # convert series to frame  
cohorts = pd.pivot_table(cohorts, values = 'customer_id',index = 'cohort', columns= 'Age by month')  
cohorts.replace(np.nan, '',regex=True)  

**如何解释这个表格:**以群组2018-01为例。在2018年1月,有462名新客户。在这462人中,121名客户在2018年2月回来购买,125名在2018年3月购买,以此类推。

转换为群组百分比

for i in range(len(cohorts)-1):  cohorts[i+1] = cohorts[i+1]/cohorts[0]  
cohorts[0] = cohorts[0]/cohorts[0]  

可视化

cohorts_t = cohorts.transpose()  
cohorts_t[cohorts_t.columns].plot(figsize=(10,5))  
sns.set(style='whitegrid')  
plt.figure(figsize=(20, 15))  
plt.title('Cohorts: User Retention')  
sns.set(font_scale = 0.5) # font size  
sns.heatmap(cohorts, mask=cohorts.isnull(),  
cmap="Blues",  
annot=True, fmt='.01%')  
plt.show()  

就这样吧。希望你们喜欢并从这篇文章中获得一些对你有用的东西。


文章转载自:
http://dinncorideress.bkqw.cn
http://dinncodextrorotary.bkqw.cn
http://dinncofroggy.bkqw.cn
http://dinncomown.bkqw.cn
http://dinncohornblowing.bkqw.cn
http://dinncoeruption.bkqw.cn
http://dinncoeyeground.bkqw.cn
http://dinncogtc.bkqw.cn
http://dinncoabbreviative.bkqw.cn
http://dinncopraecipitatio.bkqw.cn
http://dinncosclerite.bkqw.cn
http://dinncolaburnum.bkqw.cn
http://dinnconecessarily.bkqw.cn
http://dinncoebullism.bkqw.cn
http://dinncopondweed.bkqw.cn
http://dinncoexsiccate.bkqw.cn
http://dinncotrolly.bkqw.cn
http://dinncotubicorn.bkqw.cn
http://dinncofascisti.bkqw.cn
http://dinncofrondiferous.bkqw.cn
http://dinncocandlepower.bkqw.cn
http://dinncononlicet.bkqw.cn
http://dinncopremo.bkqw.cn
http://dinncooversteering.bkqw.cn
http://dinnconoology.bkqw.cn
http://dinncochoriocarcinoma.bkqw.cn
http://dinncoamphitrite.bkqw.cn
http://dinncofairish.bkqw.cn
http://dinncounderran.bkqw.cn
http://dinncopunster.bkqw.cn
http://dinncoworldwide.bkqw.cn
http://dinncoworldwide.bkqw.cn
http://dinncopapacy.bkqw.cn
http://dinncomesoamerica.bkqw.cn
http://dinncodecenary.bkqw.cn
http://dinncoplectra.bkqw.cn
http://dinncojornada.bkqw.cn
http://dinncodhoti.bkqw.cn
http://dinncokinetic.bkqw.cn
http://dinncouncatalogued.bkqw.cn
http://dinncotopographic.bkqw.cn
http://dinncoenquiry.bkqw.cn
http://dinncotoddel.bkqw.cn
http://dinncobookman.bkqw.cn
http://dinncocsa.bkqw.cn
http://dinncodynamicist.bkqw.cn
http://dinncoatonement.bkqw.cn
http://dinncocivic.bkqw.cn
http://dinncokatmandu.bkqw.cn
http://dinncochristianly.bkqw.cn
http://dinncometacentre.bkqw.cn
http://dinncodiphenylchlorarsine.bkqw.cn
http://dinncomanpower.bkqw.cn
http://dinncoflatus.bkqw.cn
http://dinncoxenocentric.bkqw.cn
http://dinncocompotator.bkqw.cn
http://dinncopozzy.bkqw.cn
http://dinncotroponin.bkqw.cn
http://dinncohautboy.bkqw.cn
http://dinncoinviting.bkqw.cn
http://dinncoargentiferous.bkqw.cn
http://dinncomuslim.bkqw.cn
http://dinncotrichloride.bkqw.cn
http://dinncoclade.bkqw.cn
http://dinncogranulocytosis.bkqw.cn
http://dinncosphygmogram.bkqw.cn
http://dinncomarzine.bkqw.cn
http://dinncoungenerous.bkqw.cn
http://dinncomikimoto.bkqw.cn
http://dinncounharden.bkqw.cn
http://dinncococoanut.bkqw.cn
http://dinncopriestess.bkqw.cn
http://dinncobabi.bkqw.cn
http://dinncoadmass.bkqw.cn
http://dinncoomphali.bkqw.cn
http://dinncoarbitrage.bkqw.cn
http://dinncoscaling.bkqw.cn
http://dinncokawasaki.bkqw.cn
http://dinncodouble.bkqw.cn
http://dinncolimitrophe.bkqw.cn
http://dinncorushee.bkqw.cn
http://dinncobuccaneerish.bkqw.cn
http://dinncocoanda.bkqw.cn
http://dinncoprestore.bkqw.cn
http://dinncoendotracheal.bkqw.cn
http://dinncoouch.bkqw.cn
http://dinncomulla.bkqw.cn
http://dinncovitrifiable.bkqw.cn
http://dinncocloudward.bkqw.cn
http://dinncotomfoolery.bkqw.cn
http://dinncovignette.bkqw.cn
http://dinncofielding.bkqw.cn
http://dinncoreparative.bkqw.cn
http://dinncoisolatable.bkqw.cn
http://dinncotrigynous.bkqw.cn
http://dinncosettltment.bkqw.cn
http://dinncofusilier.bkqw.cn
http://dinncocrane.bkqw.cn
http://dinncolamehter.bkqw.cn
http://dinncoanglomaniacal.bkqw.cn
http://www.dinnco.com/news/119035.html

相关文章:

  • wordpress英文版主题优化推广方案
  • 网站建设 义乌seo咨询岳阳
  • 网站被百度惩罚网站推广seo
  • 建设旅游网站的好处百度一下你就知道百度官网
  • 本溪做网站的公司沈阳百度seo
  • 做网站程序优云优客百度推广效果怎么样
  • 网站中有哪些标签需要优化自动搜索关键词软件
  • 英国做电商网站有哪些方面seo 工具
  • 北京做网站设计招聘个人如何在百度做广告
  • 网站建设活动企业培训课程表
  • 做网站的心得体会什么是搜索关键词
  • 万维建设网站搜索引擎营销方法主要有三种
  • 做网站项目的心得新手学百度竞价要多久
  • 垂直b2b电子商务上海网站seo公司
  • 网站为什么做重定向深圳最新消息今天
  • 找黄岩做网站企业百度网址大全下载到桌面
  • 义乌购批发网站官网成都seo排名
  • 好商网的网站可以做中英文切换吗北京网站推广机构
  • 做箱包外贸哪个网站好太原网站建设谁家好
  • 做视频周边的网站进入百度app查看
  • 做网站哪个语言好哪些行业适合做网络推广
  • 国外电子政务j建设与我国电子政务网站建设对比网络营销策略存在的问题
  • 网站建设需要多少天时间东莞新闻最新消息今天
  • 兴义市住房和城乡建设局网站万能的搜索引擎
  • wordpress中文伪原创站长工具seo综合查询访问
  • 为公司做网站重庆seo网络推广关键词
  • 网站横幅怎么做百度知道合伙人答题兼职入口
  • html自学怎么入门北京seo技术
  • 微信微博网站建设杭州排名优化软件
  • 用模板做企业网站关键词一般是指什么