电商app用户行为分析(含全过程python代码).pdfVIP

电商app用户行为分析(含全过程python代码).pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
电商app⽤户⾏为分析(含全过程python代码) ⼀、分析背景 对于很多互联⽹公司来说,流量和⽤户价值都是核⼼问题。根据产品⽣命周期理论,在产品发布初期,更多的关注点应该放在拉新 上,只有⾜够的⽤户量级才能为公司提供发展的不竭动⼒,初期对流量和市场份额的竞争,很⼤程度上决定了后期的⾏业格局。所以回顾滴 滴和优步、美团和饿了么的烧钱⼤战,正是对“流量为王”这⼀理论的践⾏。但是流量进来之后呢?⼀个较为成熟的产品(如淘宝、滴滴、 美团等)应该思考的更多,产品经理⼈和数据分析师⼀定要好奇⽤户进来之后⼲了什么,产⽣了什么价值。基于此,才能对产品进⾏优化, 使其更加符合⽤户的⾏为习惯。所以,⽤户⾏为分析就⼗分必要。在这⾥以来⾃天池的淘宝⽤户⾏为数据为基础进⾏数据分析⼯作,。 ⼆、明确需求 进⾏数据分析的第⼀步就是明确需求,知道为什么要分析,或者说要解决什么问题/疑惑。在提出分析 ⽬标之前可以先了解⼀下数据, 脱离数据提需求是空中楼阁,脱离需求分析数据是⽆头苍蝇。 可以从数据介绍中看到,(1)数据有5个字段,分别是⽤户ID,商品ID,商品类⽬ID,⾏为类型,时间戳。(2)⾏为类型有4种,浏 览、购买、加购物车、收藏。(3)时间跨度是9天。根据数据的介绍我们可以提出以下分析 ⽬标: 1. 数据总体情况,pv,uv,付费⽤户数,复购率等 2. 变化趋势:流量随天、时间的变化趋势,以及在⼀周之内的变化趋势 3. ⽤户⾏为的转化漏⽃ 4. 基于⽤户、商品细分的转化率 需要注意的是这⾥只是根据已知的数据结构提出的⽬标和需求,能不能得出有价值、有启发意义的结论,还需要根据分析结果来确定。 三、数据处理 (⼀)遇到的坑 拿到数据之后,笔者⾼⾼兴兴的⽤Anaconda的Spyder打开导⼊数据,想先简单看看数据,再进⾏清洗和分析。数据导⼊倒是没有遇 到太⼤的问题 : import pandas as pd import datetime start_time = datetime.datetime.now() user_data = pd.read_csv(rF:\数据分析项⽬\淘宝⽤户⾏为分析\UserBehavior.csv,header = None) end_time = datetime.datetime.now() print(f导⼊数据耗时:{end_time-start_time}s) 笔者明显能感觉到导⼊数据耗时过长,⼼⾥着实有点奇怪,特地查看了以下导⼊数据花费的时间,输出结果显⽰导⼊数据耗时: 0:01:20.114552s。花了1分20秒才读完数据,我当时就有点郁闷,区区百万级别的数据怎么会这么慢?⼿动挠头。但是我也没多想,继 续往下搞吧! 浏览前⼏⾏ user_data.head(10) 先给数据加列名,⽅便后续处理: user_data.columns = [user_id,item_id,category_id,behavior,time_stamp] user_data.head(5) 基本的处理之后,可以考虑开始进⾏数据清洗了,其实本数据都是来源于淘宝后台的数据,并⾮由⼈为填写的,所以遇到数据还是⾮常 ⼲净的,谨慎起见,可以对空值检查⼀下,笔者习惯使⽤: user_data.info() 或许是由于数据量较⼤,所以都没有显⽰每个字段的⾮空记录有多少⾏。 (汗,笔者到现在都还以为只有百万⾏数据,眼⾓膜可以捐 了……) 由于没有得到⾮空数值分布情况,所以笔者只能选择下⾯的⽅法 : user_data[user_id].notnull().value_counts() user_data[tiem_id].notnull().value_counts() user_data[category_id].notnull().value_counts() user_data[behavior].notnull().value_counts() user_data[time_stamp].notnull().value_counts() 从结果发现,没有空值,数据⾮常⼲净。由于要进⾏⽇期、时间的分析,所以⾃然要把时间戳格式转化为正常的⽇期时间格式。简单科 普⼀下,时间戳:格林威治时间⾃1970年1⽉1⽇(00:00:00 )⾄当前时间的总秒数,也就是北京时间1970年1⽉1⽇(08:00:00)⾄ 当前时间的总秒数。可以⽤**time.localtime()**⽅法转化为

您可能关注的文档

文档评论(0)

152****1430 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档