电商平台下用户画像的设计与分析.docx
《电商平台下用户画像的设计与分析.docx》由会员分享,可在线阅读,更多相关《电商平台下用户画像的设计与分析.docx(50页珍藏版)》请在冰豆网上搜索。
电商平台下用户画像的设计与分析
电商平台下用户画像的设计与实现
Thedesignandimplementationofuserprofileon
e-merceplatform
专业:
计算机科学与技术
姓名:
史维君
指导教师:
申请学位级别:
学士
论文提交日期:
2016年6月1日
学位授予单位:
XX科技大学
摘要
大数据是数量非常巨大的复杂的半结构化或者非结构化的数据集。
随着时代的发展,越来越多的数据产生,用传统的数据库管理方式,无论是从数据的储存,获取,或者查找等方面都已经无法满足要求了。
随着大数据的来临,人们有了解决大量数据的处理,储存等能力后,人们为了将数据细化,将数据分行业,类型的分了好多种类。
在这里我们所研究的是其中的一个种类:
用户画像。
用户画像核心价值在于了解用户,猜测用户对产品的需求或者潜在需求,精细化的定位人群特征,挖掘潜在的用户群体,为媒体、广告主、企业及广告公司充分认知群体用户的差异化特征,根据族群的差异化特征,帮助客户找到营销机会、运营方向,全面提高客户的核心影响力。
在电商行业中。
用户画像可以分析客户的使用习惯、喜好、一系列的购买行为,以及周边的人群的身份、属性、年龄等,它对我们的商务行为、对营销的判断会有一定的借鉴。
本文通过使用Hadoop技术,结合Hive,Java,JSP和HTML等编程语言,设计并完成了一个具有简单的电商平台下的用户画像。
本设计依赖Easyui,Echarts,JfreeChar框架设计出了简洁漂亮的前端界面,使用Hive进行数据分析与产生研究结果。
本系统主要包括,系统管理:
分别从用户管理,角色管理,菜单管理等方面对整个系统进行权限管理。
用户行为:
分别从跳出率,忠诚度,活跃度判断用户在某一天或者某一段时间的整体状况。
访客分析:
分别从地域分布,速度分布,客户端环境等对某个地区的整体环境和地区消费情况进行产品销售。
关键词:
用户画像;Hadoop;Hive
ABSTRACT
Bigdataisaverylargenumberofplexsemistructuredorunstructureddatasets.
Withthedevelopmentofthetimes,moreandmoredataareproduced,withthetraditionaldatabasemanagement,whetheritisfromthedatastorage,access,orfindandsoonhavebeenunabletomeettherequirementsofthe.Withtheadventofbigdata,peoplehavetodealwithalargenumberofdataprocessing,storageandothercapabilities,peopleinordertorefinethedata,thedatapointsindustry,alotoftypesofpoints.Whatwearestudyinghereisoneofthecategories:
theuserportrait.
Userportraitcorevalueistounderstandtheuser,usersoftheproductdemandorpotentialdemandforecast,finepositioningpopulationcharacteristics,miningthepotentialusergroups,webmedia,advertisers,andadvertisingpaniesfullycognitivedifferentiationcharacteristicsoftheusergroups,accordingtothefeaturesoftheethnicdifferencestohelpcustomersfindopportunitiesformarketing,operations,andprehensivelyimprovethecustomer'scoreimpact.Intheelectricitybusinessindustry.Userportraitcananalyzecustomerusehabits,preferences,aseriesofpurchasebehavior,andperipheralpopulationsofidentity,attributes,age,ittoourbusinessbehavior,thejudgmentofthemarketingwillhaveacertainreference.
ThisarticlethroughtheuseofHadooptechnology,binedwithHive,Java,JSPandHTMLprogramminglanguages,designedandpletedasimplebusinessplatformwithauserportrait.ThedesignofEasyui,Echarts,JfreeCharframeworkdesignedasimpleandbeautifulfrontinterface,usingHivefordataanalysisandresearchresults.Thesystemmainlyincludesthesystemmanagement:
fromtheusermanagement,rolemanagement,menumanagementandotheraspectsoftheentiresystemtocarryouttherightsmanagement.Userbehavior:
respectively,fromthejumpoutrate,loyalty,activitytojudgetheoverallsituationoftheuserinadayoracertainperiodoftime.Visitoranalysis:
fromthegeographicaldistribution,speeddistribution,clientenvironment,suchastheoverallenvironmentofaregionandregionalconsumersales.
Keywords:
UserProfile;Hadoop;Hive
第一章引言
随着互联网时代的来临,人们越来越重视对数据的利用与处理,在海量数据中提取有效信息,进行数据分析与挖掘发现商业价值[1]。
用户是时代发展的最重要的因素,利用大数据来分析用户的行为与消费习惯,可以预测商品的发展的趋势,提高产品质量,同时提高用户满意度[2]。
本文基于大数据与Hadoop技术进行电商用户画像的开发与设计,论文将从国内外研究,需求分析,系统概要设计,系统详细设计,系统的实现等方面进行整个项目的描述。
第一节用户画像的背景及意义
随着大数据兴起与不断发展,数据量越来越来,人们想着从这些数据中挖掘出自己想要的信息。
所以有了各种各样的数据挖掘方式或者种类并将其抽象到各个行业。
再次我们讨论的是其中的一个种类,用户画像。
在“用户中心论”理论支持下,很多行业意识到用户的重要性,在整个社会发展的过程中用户是主导因素[3]。
所以有很多行业从原来以产品和服务为中心的思维方式转换到以用户为主导,开始研究用户的需求,反馈和用户满意度等信息[4]。
互联网行业也是如此,互联网企业开始加深对用户的了解。
为了使生产或销售的产品能够吸引更多的新用户,同时留住老用户,提高企业的利润,基于用户的研究越来越重要了[5]。
在很多传统行业中,商家为了提高用户量,经常会分析用户的生命周期和价值,用户的忠诚度,地域等信息来进行商业决策[6]。
比如电商行业,商家会对用户的年龄分布,地区,性别,星座,消费能力,家庭收入的方面对用户进行分析,判断用户将来会给商家带来的利润,来进行商业决策[7]。
再者分析用户的整体消费情况可以了解用户的消费偏好,进行商品的推送服务,例如:
短信推送,推送等。
这样就形成了比较成熟的用户行为与消费习惯分析体系,为商家如何长远的获得利益与吸引新用户打下坚实的基础。
随着互联网行业的不断发展,人们对网上消费人群的分析越来越重要。
例如很多大型互联网企业都推出了自己的分析体系,例如:
XX,谷歌,阿里和京东等。
京东将在电子商务全过程中的所有用户的数据都添加到用户画像的建模当中,而且对用户进行全方位的精确定位,描绘用户的特征。
目前京东的用户画像中运用大约三百多个标签来描述客户,涵盖了用户的基本属性,购买能力,偏好等各个方面,利用分析的结果来推荐产品,广告等,同时也更加智能的设置搜索提示功能,更好的服务于用户,来提高用户的满意度[8]。
第二节系统所用的开发技术及工具简介
一、开发技术简介
(一)Java与JavaEE简介
Java是一种与C++相似的面向对象编程语言,但它比C++功能更强大、学起来更为简单,而且它具有简单、安全、高性能、面向对象、高可移植性以及跨平台性等优点,因而受到了广大编程人员的追捧。
同时由于其具有其强大的平台无关性,所以用Java开发的应用程序可以在各个系统平台上运行,这使得Java成为目前应用X围最广的编程语言[9]。
JavaEE是一套用于开发Java企业级应用程序的规X标准,功能十分强大,目前有许多的服务端代码都由它完成编写,使用JavaEE可以开发出类似电子商务和企业资源评估系统这一类伸缩性与灵活性强,且容易维护的分布式企业级网络应用程序[10]。
JavaEE的API结构如图1-1所示。
图1-1JavaEE的结构图
(二)分布式框架Hadoop
Hadoop本质上来说是一个开源的分布式框架。
在Google的三大论文发表之后,有Apache基金会负责开发的大数据的开发工具。
Hadoop的核心内容是HDFS和Mapreduce算法[11]。
Hadoop有以下三个特点:
1.可靠性,因为Hadoop在数据处理是会维护多个数据副本,使得即使在某一节点上计算失败还能重新继续分布处理,而不对数据造成不可恢复性错误。
2.高扩展性,Hadoop在集群处理上,可以特别方便的扩展节点数量。
3.低成本,因为Hadoop是开源的,所以可以降低好多软件开发成本。
(三)数据仓库Hive
Hive是一款基于Hadoop的数据仓库基础架构,他可以方便的将一个结构化的数据文件映射成数据库里面的一X表,还提供sql查询,学习成本低等优点[12]。
Hive还可以将sql查询语句转为Mapreduce算法运行,特别适合大型数据的开发与分析。
目前想Facebook,淘宝等大型公司都是用Hive进行数据仓库建模和数据分析。
(四)easyui简介
easyui是一个轻量级的前端UI开发框架,easyui是一套的前端开发库,提供了很多常用的各种CSS和JavaScript合集,内置了非常多的漂亮样式,简洁灵活,而且easyui是可扩展的,我们可以根据自己需求在他原始的基础上加以扩展来达到我们个性化功能的开发,除此之外easyui还对一下常用的jQuery方法进行了分装可以很简单的时候web项目开发过程中前后要的交互。
二、开发工具与环境介绍
(一)CentOS操作系统
CentOS全成munityENTerpriseOperatingSystem,又被很多人成为“社区企业操作系统”,是linux的发行版之一。
CentOS是Redhat企业版产品RHEL的克隆版,但是CentOS是不收费的,CentOS具有以下四个特点:
1.环境比较稳定
2.有稳定的开发团队提供长久的免费的更新支持
3.具有保守性
4.性能比较好,就算是大规模的系统也能保持良好的性能
(二)Eclipse工具
Eclipse是一款开源的Java开发工具,Eclipse系列里面有很多版本,比如说支持PHP,andriod等开发的专门的Eclipse版本。
而且Eclipse可扩展能力比较强,可以给里面做各种插件,比如说我们熟知的SSH插件,在这Eclipse具有很好的提示和查找功能,给我们的开发带来了很多的便利之处。
当前Eclipse也有收费的不开源,但是提供了很多插件的开发工具myEclipse。
第三节系统环境搭建
(一)基础环境搭建
本系统的开发运行环境都是基于虚拟机安装的CentOS系统,安装JDK和配置环境变量
1解压jdk
首先在user目录下创建一个Java文件夹,然后将执行tar-zxvfjdk-7u55-linux-i586.tar.gz-C/usr/Java/语句将jdk安装到Java目录下
2将Java添加到环境变量中
执行vim/etc/profile命令打开配置文件在文件最后加入以下两句话配置环境exportJAVA_HOME=/usr/Java/jdk1.7.0_55
exportPATH=$PATH:
$JAVA_HOME/bin
然后执行source/etc/profile刷新环境配置
(二)Hadoop集群搭建
1.配置hadoop,搭建Hadoop伪分布式,需要修改一下五个配置文件内容:
第一个:
hadoop-env.sh,配置jdk路径,Hadoop开发依赖于jdk
vimhadoop-env.sh
exportJAVA_HOME=/usr/Java/jdk1.7.0_65
第二个:
core-site.xml配置HDFS中NameNode的地址
fs.defaultFS
hdfs:
//hadoop01:
9000
--指定hadoop运行时产生文件的存储目录-->
hadoop.tmp.dir
/itcast/hadoop-2.4.1/tmp
第三个:
hdfs-site.xml配置HDFS数据存储是,备份副本的数量
dfs.replication
1
第四个:
mapred-site.xml指定mr运行在yarn上
mapreduce.framework.name
yarn
第五个:
yarn-site.xml,配置yarn的管理者ResourceManager的地址
yarn.resourcemanager.hostname
itcast01
--reducer获取数据的方式-->
yarn.nodemanager.aux-services
mapreduce_shuffle
2将hadoop添加到环境变量
vim/etc/proflie
exportJAVA_HOME=/usr/Java/jdk1.7.0_65
exportHADOOP_HOME=/soft/hadoop-2.4.1
exportPATH=$PATH:
$JAVA_HOME/bin:
$HADOOP_HOME/bin:
$HADOOP_HOME/sbin
source/etc/profile
3格式化namenode(是对namenode进行初始化)
hdfsnamenode-format(hadoopnamenode-format)
4.配置ssh免登陆
首先生成ssh免登陆密钥
然后到我的home目录
cd~/.sshssh-keygen-trsa(四个回车)
执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
将公钥拷贝到要免登陆的机器上
ssh-copy-idlocalhost
(三)Hbase安装与配置
HBase安装完成后修改一下配置文件:
1修改hbase-env.sh
exportJAVA_HOME=/usr/Java/jdk1.7.0_55
告诉hbase使用外部的zookeeper
exportHBASE_MANAGES_ZK=false
2vimhbase-site.xml
--指定hbase在HDFS上存储的路径-->
hbase.rootdir
hdfs:
//ns1/hbase
--指定hbase是分布式的-->
hbase.cluster.distributed
true
--指定zk的地址,多个用“,”分割-->
hbase.zookeeper.quorum
hadoop01:
2181,hadoop02:
2181
(四)Hive安装与配置
1.安装和配置Hive
查询以前安装的mysql相关包rpm-qa|grepmysql
暴力删除这个包
rpm-emysql-libs-5.1.66-2.el6_3.i686--nodeps
rpm-ivhMySQL-server-5.1.73-1.glibc23.i386.rpm
rpm-ivhMySQL-client-5.1.73-1.glibc23.i386.rpm
执行命令设置mysql
/usr/bin/mysql_secure_installation
执行一下语句,将Hive添加到环境变量当中
GRANTALLPRIVILEGESONHive.*TO'root''%'IDENTIFIEDBY'123'WITHGRANTOPTION;
2.利用sqoop将mysq当中的数据直接导入到Hive当中
sqoopimport--connectjdbc:
mysql:
//192.168.72.10:
3306/test--usernameroot--passwordroot--tableuser_info--Hive-import--Hive-overwrite--Hive-tableuser_info--fields-terminated-by'\t'
第四节论文整体设计结构
一、系统设计思想
本项目通过JavaEE+Hadoop+Hive技术,设计并实现一个简单的用户画像的web界面系统,系统通过后台数据操作得出的结果,将其以界面形式反映到前台,决策者可以根据系统提供的图表等信息对整个平台下客户的忠诚度,所属区域,访客的跳出率等几个方面对客户进行初次的总结归纳,最后知道企业的整体营销措施。
二、论文结构安排
第一章主要介绍了本设计的选题背景、选题意义、然后再介绍开发所使用的语言与软件工具,再者介绍个整个系统的环境搭建,最后介绍本论文的整体结构安排。
第二章主要介绍了系统整体的需求分析,然后根据需求写出初步的概要设计。
首先对系统进行简单的需求分析、可行性研究分析,然后接着介绍本总体结构、功能模块设计,最后对界面进行简单描述。
第三章主要介绍介绍了用户画像的详细实现过程,在需求分析和概要设计之上更加详细的设计和实现部分系统功能,其次进行功能模块流程图设计,并对一些关键的地方进行代码的说明,最后对整个系统的界面做一下简单的说明与介绍。
第四章主要介绍了系统测试的方法与步骤。
首先简单介绍了系统测试的目的、意义及步骤,然后根据系统测试要求对本系统进行某些模块的测试。
第五章是总结与展望。
对本系统开发与设计过程中遇到的问题和难点,还有自己所收获到的东西进行总结,并对自己以后的职业生涯和努力方向加以重定向、或者进行阶段性的计划。
第二章
系统需求分析与概要设计
在这一章里面我们对用户画像这整个系统进行进行需求分析,可行性研究,还有系统的总体结构介绍和和分模块介绍,最后对部分页面进行简单的介绍。
第一节用户画像的需求分析
本系统大的X围划分总共分为两块:
1.后台数据处理与分析采用Hadoop+Hive进行数据分析与数据仓库的建模,系统分析元数据来源于mysql数据库
2.前台显示运用了JavaEE+JfreeChar+Echarts技术,对后台分析数据进行前台展示。
本系统利用这样的总体结构对整个用户画像进行开发与设计,使之能够初步实现对电商客户的初步分析以及对领导者决策进行帮助。
首先我们从系统的后台数据处理进行分析,我们利用Hive进行数据分析,将整个平台的与客户相关的数据分为了以下的七X表进行数据分析与数据结构化存储:
1.客户消费订单表
----根据客户的消费情况提取用户标签
----用于了解用户的消费总体情况,以根据用户的消费习惯和消费能力来进行营销行为。
数据来源于mysql数据库中的:
订单表,退货表,购物车表,用户表。
2.客户购买类目表
----根据客户购买类目的情况来提取用户标签
----用于了解购买人群情况和某一类目的营销策略
数据来源于mysql数据库中的:
订单表,类目维表,购物车表。
3.客户购买商店表
----根据客户购买商店来提取用户标签
----用于了解商店及品牌的购买人群情况
----常用来用作某一商店或者某一品牌的营销
数据来源于mysql数据库中的:
订单表,退货表,购物车表,商店表。
4.客户基本属性表
----根据用户所填写的属性标签与推算出来的属性
----用于了解用户的人口属性的基本属性和按属性统计
----按人口属性进行营销,例如金牛座的优惠和生日优惠
数据来源于mysql数据库中的:
用户表,用户调查表,孕归模型表,马甲模型表,用户价值模型表。
5.客户营销信息表
--