搜档网
当前位置:搜档网 › 大数据技术之电商推荐系统

大数据技术之电商推荐系统

大数据技术之电商推荐系统
大数据技术之电商推荐系统

尚硅谷大数据技术之电商推荐系统

第1章项目体系架构设计

1.1 项目系统架构

项目以推荐系统建设领域知名的经过修改过的中文亚马逊电商数据集作为依托,以某电商网站真实业务数据架构为基础,构建了符合教学体系的一体化的电商推荐系统,包含了离线推荐与实时推荐体系,综合利用了协同过滤算法以及基于内容的推荐方法来提供混合推荐。提供了从前端应用、后台服务、算法设计实现、平台部署等多方位的闭环的业务实现。

用户可视化:主要负责实现和用户的交互以及业务数据的展示,主体采用AngularJS2进行实现,部署在Apache服务上。

综合业务服务:主要实现JavaEE层面整体的业务逻辑,通过Spring进行构建,对接业务需求。部署在Tomcat上。

【数据存储部分】

业务数据库:项目采用广泛应用的文档数据库MongDB作为主数据库,主要负

责平台业务逻辑数据的存储。

缓存数据库:项目采用Redis作为缓存数据库,主要用来支撑实时推荐系统部分对于数据的高速获取需求。

【离线推荐部分】

离线统计服务:批处理统计性业务采用Spark Core + Spark SQL进行实现,实现对指标类数据的统计任务。

离线推荐服务:离线推荐业务采用Spark Core + Spark MLlib进行实现,采用ALS算法进行实现。

【实时推荐部分】

日志采集服务:通过利用Flume-ng对业务平台中用户对于商品的一次评分行为进行采集,实时发送到Kafka集群。

消息缓冲服务:项目采用Kafka作为流式数据的缓存组件,接受来自Flume的数据采集请求。并将数据推送到项目的实时推荐系统部分。

实时推荐服务:项目采用Spark Streaming作为实时推荐系统,通过接收Kafka 中缓存的数据,通过设计的推荐算法实现对实时推荐的数据处理,并将结构合并更新到MongoDB数据库。

1.2 项目数据流程

【系统初始化部分】

0.通过Spark SQL将系统初始化数据加载到MongoDB中。

【离线推荐部分】

1.可以通过Azkaban实现对于离线统计服务以离线推荐服务的调度,通过设定的运行

时间完成对任务的触发执行。

2.离线统计服务从MongoDB中加载数据,将【商品平均评分统计】、【商品评分个数

统计】、【最近商品评分个数统计】三个统计算法进行运行实现,并将计算结果回写到MongoDB中;离线推荐服务从MongoDB中加载数据,通过ALS算法分别将【用户推荐结果矩阵】、【影片相似度矩阵】回写到MongoDB中。

【实时推荐部分】

3.Flume从综合业务服务的运行日志中读取日志更新,并将更新的日志实时推送到

Kafka中;Kafka在收到这些日志之后,通过kafkaStream程序对获取的日志信息进行过滤处理,获取用户评分数据流【UID|MID|SCORE|TIMESTAMP】,并发送到另外一个Kafka队列;Spark Streaming监听Kafka队列,实时获取Kafka过滤出来的用户评分数据流,融合存储在Redis中的用户最近评分队列数据,提交给实时推荐算法,完成对用户新的推荐结果计算;计算完成之后,将新的推荐结构和MongDB数据库中的推荐结果进行合并。

【业务系统部分】

4.推荐结果展示部分,从MongoDB中将离线推荐结果、实时推荐结果、内容推荐结果

进行混合,综合给出相对应的数据。

5.商品信息查询服务通过对接MongoDB实现对商品信息的查询操作。

6.商品评分部分,获取用户通过UI给出的评分动作,后台服务进行数据库记录后,一

方面将数据推动到Redis群中,另一方面,通过预设的日志框架输出到Tomcat中的日志中。

7.商品标签部分,项目提供用户对商品打标签服务。

1.3 数据模型

1.Product【商品数据表】

字段名字段类型字段描述字段备注productId Int 商品的ID

name String 商品的名称

categories String 商品所属类别每一项用“|”分割imageUrl String 商品图片的URL

tags String 商品的UGC标签每一项用“|”分割

2.Rating【用户评分表】

字段名字段类型字段描述字段备注userId Int 用户的ID

productId Int 商品的ID

score Double 商品的分值

timestamp Long 评分的时间

3.Tag【商品标签表】

字段名字段类型字段描述字段备注userId Int 用户的ID

productId Int 商品的ID

tag String 商品的标签

timestamp Long 评分的时间

https://www.sodocs.net/doc/e22857545.html,er【用户表】

字段名字段类型字段描述字段备注userId Int 用户的ID

username String 用户名

password String 用户密码

timestamp Lon0067 用户创建的时间

5.RateMoreProductsRecently【最近商品评分个数统计表】

字段名字段类型字段描述字段备注productId Int 商品的ID

count Int 商品的评分数

yearmonth String 评分的时段yyyymm

6.RateMoreProducts【商品评分个数统计表】

字段名字段类型字段描述字段备注productId Int 商品的ID

count Int 商品的评分数

7.AverageProductsScore【商品平均评分表】

字段名字段类型字段描述字段备注productId Int 商品的ID

avg Double 商品的平均评分

8.ProductRecs【商品相似性矩阵】

字段名字段类型字段描述字段备

productId Int 商品的ID

recs Array[(productId:Int,score:Double)] 该商品最相似的商品集合

https://www.sodocs.net/doc/e22857545.html,erRecs【用户商品推荐矩阵】

字段名字段类型字段描述

字段备

userId Int 用户的ID

recs Array[(productId:Int,score:Double)] 推荐给该用户的商品集合

10.StreamRecs【用户实时商品推荐矩阵】

字段字段类型字段描述字段备

名注userId Int 用户的ID

recs Array[(productId:Int,score:Double)] 实时推荐给该用户的商品集合

第2章工具环境搭建

我们的项目中用到了多种工具进行数据的存储、计算、采集和传输,本章主要简单介绍设计的工具环境搭建。

如果机器的配置不足,推荐只采用一台虚拟机进行配置,而非完全分布式,将该虚拟机CPU的内存设置的尽可能大,推荐为CPU > 4、MEM > 4GB。

2.1 MongoDB(单节点)环境配置

// 通过WGET下载Linux版本的MongoDB

[bigdata@linux ~]$ wget

https://https://www.sodocs.net/doc/e22857545.html,/linux/mongodb-linux-x86_64-rhel62-3.

4.3.tgz

// 将压缩包解压到指定目录

[bigdata@linux backup]$ tar -xf

mongodb-linux-x86_64-rhel62-3.4.3.tgz -C ~/

// 将解压后的文件移动到最终的安装目录

[bigdata@linux ~]$ mv mongodb-linux-x86_64-rhel62-3.4.3/

/usr/local/mongodb

// 在安装目录下创建data文件夹用于存放数据和日志

[bigdata@linux mongodb]$ mkdir /usr/local/mongodb/data/

// 在data文件夹下创建db文件夹,用于存放数据

[bigdata@linux mongodb]$ mkdir /usr/local/mongodb/data/db/

// 在data文件夹下创建logs文件夹,用于存放日志

[bigdata@linux mongodb]$ mkdir /usr/local/mongodb/data/logs/

// 在logs文件夹下创建log文件

[bigdata@linux mongodb]$ touch /usr/local/mongodb/data/logs/ mongodb.log

// 在data文件夹下创建mongodb.conf配置文件

[bigdata@linux mongodb]$ touch

/usr/local/mongodb/data/mongodb.conf

// 在mongodb.conf文件中输入如下内容

[bigdata@linux mongodb]$ vim ./data/mongodb.conf #端口号port = 27017

#数据目录

dbpath = /usr/local/mongodb/data/db

#日志目录

logpath = /usr/local/mongodb/data/logs/mongodb.log

#设置后台运行

fork = true

#日志输出方式

logappend = true

#开启认证

#auth = true

完成MongoDB的安装后,启动MongoDB服务器:

// 启动MongoDB服务器

[bigdata@linux mongodb]$ sudo /usr/local/mongodb/bin/mongod -config /usr/local/mongodb/data/mongodb.conf

// 访问MongoDB服务器

[bigdata@linux mongodb]$ /usr/local/mongodb/bin/mongo

// 停止MongoDB服务器

[bigdata@linux mongodb]$ sudo /usr/local/mongodb/bin/mongod -shutdown -config /usr/local/mongodb/data/mongodb.conf

2.2 Redis(单节点)环境配置

// 通过WGET下载REDIS的源码

[bigdata@linux ~]$wget

http://download.redis.io/releases/redis-4.0.2.tar.gz

// 将源代码解压到安装目录

[bigdata@linux ~]$ tar -xf redis-4.0.2.tar.gz -C ~/

// 进入Redis源代码目录,编译安装

[bigdata@linux ~]$ cd redis-4.0.2/

// 安装GCC

[bigdata@linux ~]$ sudo yum install gcc

// 编译源代码

[bigdata@linux redis-4.0.2]$ make MALLOC=libc

// 编译安装

[bigdata@linux redis-4.0.2]$ sudo make install

// 创建配置文件

[bigdata@linux redis-4.0.2]$ sudo cp ~/redis-4.0.2/redis.conf

/etc/

// 修改配置文件中以下内容

[bigdata@linux redis-4.0.2]$ sudo vim /etc/redis.conf daemonize yes #37行#是否以后台daemon方式运行,默认不是后台运行pidfile /var/run/redis/redis.pid #41行#redis的PID文件路径(可选)bind 0.0.0.0#64行#绑定主机IP,默认值为127.0.0.1,我们是跨机器运行,所以需要更改

logfile /var/log/redis/redis.log #104行#定义log文件位置,模式log 信息定向到stdout,输出到/dev/null(可选)

dir “/usr/local/rdbfile”#188行#本地数据库存放路径,默认为./,编译安装默认存在在/usr/local/bin下(可选)

在安装完Redis之后,启动Redis

// 启动Redis服务器

[bigdata@linux redis-4.0.2]$ redis-server /etc/redis.conf

// 连接Redis服务器

[bigdata@linux redis-4.0.2]$ redis-cli

// 停止Redis服务器

[bigdata@linux redis-4.0.2]$ redis-cli shutdown

2.3 Spark(单节点)环境配置

// 通过wget下载zookeeper安装包

[bigdata@linux ~]$ wget

https://https://www.sodocs.net/doc/e22857545.html,/spark-2.1.1-bin-hadoop2.7.tgz

// 将spark解压到安装目录

[bigdata@linux ~]$ tar –xf spark-2.1.1-bin-hadoop2.7.tgz –C ./cluster // 进入spark安装目录

[bigdata@linux cluster]$ cd spark-2.1.1-bin-hadoop2.7/

// 复制slave配置文件

[bigdata@linux

spark-2.1.1-bin-hadoop2.7]$ cp ./conf/slaves.template ./conf/slaves // 修改slave配置文件

[bigdata@linux spark-2.1.1-bin-hadoop2.7]$ vim ./conf/slaves

linux #在文件最后将本机主机名进行添加

// 复制Spark-Env配置文件

[bigdata@linux

spark-2.1.1-bin-hadoop2.7]$ cp ./conf/spark-env.sh.template ./conf/s park-env.sh

SPARK_MASTER_HOST=linux #添加spark master的主机名

SPARK_MASTER_PORT=7077 #添加spark master的端口号

// 启动Spark集群

[bigdata@linux spark-2.1.1-bin-hadoop2.7]$ sbin/start-all.sh

// 访问Spark集群,浏览器访问http://linux:8080

// 关闭Spark集群

[bigdata@linux spark-2.1.1-bin-hadoop2.7]$ sbin/stop-all.sh

2.4 Zookeeper(单节点)环境配置

// 通过wget下载zookeeper安装包

[bigdata@linux ~]$ wget

https://www.sodocs.net/doc/e22857545.html,/apache/zookeeper/zookeeper-3.4.10/zookeeper -3.4.10.tar.gz

// 将zookeeper解压到安装目录

[bigdata@linux ~]$ tar –xf zookeeper-3.4.10.tar.gz –C ./cluster

// 进入zookeeper安装目录

[bigdata@linux cluster]$ cd zookeeper-3.4.10/

// 创建data数据目录

[bigdata@linux zookeeper-3.4.10]$ mkdir data/

// 复制zookeeper配置文件

[bigdata@linux

zookeeper-3.4.10]$ cp ./conf/zoo_sample.cfg ./conf/zoo.cfg

// 修改zookeeper配置文件

[bigdata@linux zookeeper-3.4.10]$ vim conf/zoo.cfg

dataDir=/home/bigdata/cluster/zookeeper-3.4.10/data #将数据目录地址修改为创建的目录

// 启动Zookeeper服务

[bigdata@linux zookeeper-3.4.10]$ bin/zkServer.sh start

// 查看Zookeeper服务状态

[bigdata@linux zookeeper-3.4.10]$ bin/zkServer.sh status

ZooKeeper JMX enabled by default

Using config: /home/bigdata/cluster/zookeeper-3.4.10/bin/../conf/zoo.cfg

Mode: standalone

// 关闭Zookeeper服务

[bigdata@linux zookeeper-3.4.10]$ bin/zkServer.sh stop

2.5 Flume-ng(单节点)环境配置

// 通过wget下载zookeeper安装包

[bigdata@linux ~]$ wget

https://www.sodocs.net/doc/e22857545.html,/dyn/closer.lua/flume/1.8.0/apache-flume-1.8.0-bin.tar.gz

// 将zookeeper解压到安装目录

[bigdata@linux ~]$ tar –xf apache-flume-1.8.0-bin.tar.gz –C ./cluster // 等待项目部署时使用

2.6 Kafka(单节点)环境配置

// 通过wget下载zookeeper安装包

[bigdata@linux ~]$ wget

https://www.sodocs.net/doc/e22857545.html,/apache/kafka/0.10.2.1/kafka_2.11-0.10.2.1.tgz

// 将kafka解压到安装目录

[bigdata@linux ~]$ tar –xf kafka_2.12-0.10.2.1.tgz –C ./cluster

// 进入kafka安装目录

[bigdata@linux cluster]$ cd kafka_2.12-0.10.2.1/

// 修改kafka配置文件

[bigdata@linux kafka_2.12-0.10.2.1]$ vim config/server.properties https://www.sodocs.net/doc/e22857545.html,=linux #修改主机名

port=9092 #修改服务端口号

zookeeper.connect=linux:2181#修改Zookeeper服务器地址

// 启动kafka服务!!! 启动之前需要启动Zookeeper服务

[bigdata@linux kafka_2.12-0.10.2.1]$ bin/kafka-server-start.sh

-daemon ./config/server.properties

// 关闭kafka服务

[bigdata@linux kafka_2.12-0.10.2.1]$ bin/kafka-server-stop.sh

// 创建topic

[bigdata@linux kafka_2.12-0.10.2.1]$ bin/kafka-topics.sh --create

--zookeeper linux:2181 --replication-factor 1 --partitions 1 --topic recommender

// kafka-console-producer

[bigdata@linux kafka_2.12-0.10.2.1]$ bin/kafka-console-producer.sh --broker-list linux:9092 --topic recommender

// kafka-console-consumer

[bigdata@linux kafka_2.12-0.10.2.1]$ bin/kafka-console-consumer.sh --bootstrap-server linux:9092 --topic recommender

第3章创建项目并初始化业务数据

我们的项目主体用Scala编写,采用IDEA作为开发环境进行项目编写,采用maven作为项目构建和管理工具。

3.1 在IDEA中创建maven项目

打开IDEA,创建一个maven项目,命名为ECommerceRecommendSystem。为了方便后期的联调,我们会把业务系统的代码也添加进来,所以我们可以以ECommerceRecommendSystem作为父项目,并在其下建一个名为recommender的子项目,然后再在下面搭建多个子项目用于提供不同的推荐服务。

3.1.1 项目框架搭建

在ECommerceRecommendSystem下新建一个maven module作为子项目,命名为recommender。同样的,再以recommender为父项目,新建一个maven module作为子项目。我们的第一步是初始化业务数据,所以子项目命名为DataLoader。

父项目只是为了规范化项目结构,方便依赖管理,本身是不需要代码实现的,所以ECommerceRecommendSystem和recommender下的src文件夹都可以删掉。

目前的整体项目框架如下:

3.1.2 声明项目中工具的版本信息

我们整个项目需要用到多个工具,它们的不同版本可能会对程序运行造成影响,所以应该在最外层的ECommerceRecommendSystem中声明所有子项目共用的版本信息。

在pom.xml中加入以下配置:

ECommerceRecommendSystem/pom.xml

1.2.17

1.7.22

2.0.0

3.1.1

2.9.0

0.10.2.1

2.1.1

2.11.8

1.2.1

3.1.3 添加项目依赖

首先,对于整个项目而言,应该有同样的日志管理,我们在ECommerceRecommendSystem中引入公有依赖:

ECommerceRecommendSystem/pom.xml

org.slf4j

jcl-over-slf4j

${slf4j.version}

org.slf4j

slf4j-api

${slf4j.version}

org.slf4j

slf4j-log4j12

${slf4j.version}

log4j

log4j

${log4j.version}

同样,对于maven项目的构建,可以引入公有的插件:

org.apache.maven.plugins

maven-compiler-plugin

3.6.1

1.8

1.8

org.apache.maven.plugins

maven-assembly-plugin

3.0.0

make-assembly

package

single

net.alchim31.maven

scala-maven-plugin

3.2.2

compile

testCompile

然后,在recommender模块中,我们可以为所有的推荐模块声明spark相关依

赖(这里的dependencyManagement表示仅声明相关信息,子项目如果依赖需要自行引入):

ECommerceRecommendSystem/recommender/pom.xml

org.apache.spark

spark-core_2.11

${spark.version}

org.apache.spark

spark-sql_2.11

${spark.version}

org.apache.spark

spark-streaming_2.11

${spark.version}

org.apache.spark

spark-mllib_2.11

${spark.version}

org.apache.spark

spark-graphx_2.11

${spark.version}

org.scala-lang

scala-library

${scala.version}

由于各推荐模块都是scala代码,还应该引入scala-maven-plugin插件,用于scala 程序的编译。因为插件已经在父项目中声明,所以这里不需要再声明版本和具体配置:

net.alchim31.maven

scala-maven-plugin

对于具体的DataLoader子项目,需要spark相关组件,还需要mongodb的相关依赖,我们在pom.xml文件中引入所有依赖(在父项目中已声明的不需要再加详细信息):

ECommerceRecommendSystem/recommender/DataLoader/pom.xml

org.apache.spark

spark-core_2.11

org.apache.spark

spark-sql_2.11

org.scala-lang

scala-library

org.mongodb

casbah-core_2.11

${casbah.version}

org.mongodb.spark

mongo-spark-connector_2.11

${mongodb-spark.version}

至此,我们做数据加载需要的依赖都已配置好,可以开始写代码了。

3.2 数据加载准备

在src/main/目录下,可以看到已有的默认源文件目录是java,我们可以将其改名为scala。将数据文products.csv,ratings.csv复制到资源文件目录src/main/resources 下,我们将从这里读取数据并加载到mongodb中。

3.2.1 Products数据集

数据格式:

productId,name,categoryIds, amazonId, imageUrl, categories, tags 例如:

3982^Fuhlen 富勒 M8眩光舞者时尚节能无线鼠标(草绿)(眩光.悦动.时尚炫舞鼠标12个月免换电池高精度光学寻迹引擎超细微接收器10米传输距离)^1057,439,736^B009EJN4T2^https://images-cn-4.ssl-images-amazon.co m/images/I/31QPvUDNavL._SY300_QL70_.jpg^外设产品|鼠标|电脑/办公^富勒|鼠标|电子产品|好用|外观漂亮

Product数据集有7个字段,每个字段之间通过“^”符号进行分割。其中的categoryIds、amazonId对于内容特征没有实质帮助,我们只需要其它5个字段:字段名字段类型字段描述字段备注productId Int 商品ID

name String 商品名称

categories String 商品分类每一项用“|”分割imageUrl String 商品图片URL

tags String 商品UGC标签每一项用“|”分割

3.2.2 Ratings数据集

数据格式:

userId,prudcutId,rating,timestamp

例如:

4867,457976,5.0,1395676800

Rating数据集有4个字段,每个字段之间通过“,”分割。

字段名字段类型字段描述字段备注

userId Int 用户ID

produtId Int 商品ID

score Double 评分值

timestamp Long 评分的时间

3.2.3 日志管理配置文件

log4j对日志的管理,需要通过配置文件来生效。在src/main/resources下新建配置文件log4j.properties,写入以下内容:

log4j.rootLogger=info, stdout

log4j.appender.stdout=org.apache.log4j.ConsoleAppender

https://www.sodocs.net/doc/e22857545.html,yout=org.apache.log4j.PatternLayout

https://www.sodocs.net/doc/e22857545.html,yout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %5p --- [%50t] %-80c(line:%5L) : %m%n

3.3 数据初始化到MongoDB

3.3.1 启动MongoDB数据库(略)

3.3.2 数据加载程序主体实现

我们会为原始数据定义几个样例类,通过SparkContext的textFile方法从文件中读取数据,并转换成DataFrame,再利用Spark SQL提供的write方法进行数据的分布式插入。

在DataLoader/src/main/scala下新建package,命名为com.atguigu.recommender,新建名为DataLoader的scala class文件。

程序主体代码如下:

DataLoader/src/main/scala/com.atguigu.recommerder/DataLoader.scala

// 定义样例类

case class Product(productId: Int, name: String, imageUrl: String, categories: String, tags: String)

case class Rating(userId: Int, productId: Int, score: Double, timestamp: Int)

case class MongoConfig(uri:String, db:String)

object DataLoader {

// 以window下为例,需替换成自己的路径,linux下为 /YOUR_PATH/resources/products.csv val PRODUCT_DATA_PATH = " YOUR_PATH\\resources\\products.csv"

val RATING_DATA_PATH = " YOUR_PATH\\resources\\ratings.csv"

val MONGODB_PRODUCT_COLLECTION = "Product"

val MONGODB_RATING_COLLECTION = "Rating"

// 主程序的入口

def main(args: Array[String]): Unit = {

// 定义用到的配置参数

val config = Map(

"spark.cores" -> "local[*]",

"mongo.uri" -> "mongodb://localhost:27017/recommender",

"mongo.db" -> "recommender"

)

// 创建一个SparkConf配置

val sparkConf = new

SparkConf().setAppName("DataLoader").setMaster(config("spark.cores")) // 创建一个SparkSession

val spark = SparkSession.builder().config(sparkConf).getOrCreate()

// 在对DataFrame和Dataset进行操作许多操作都需要这个包进行支持

import spark.implicits._

// 将Product、Rating数据集加载进来

val productRDD = spark.sparkContext.textFile(PRODUCT_DATA_PATH)

//将ProdcutRDD装换为DataFrame

val productDF = productRDD.map(item =>{

val attr = item.split("\\^")

Product(attr(0).toInt,attr(1).trim,attr(4).trim,attr(5).trim,attr(6).trim)

}).toDF()

val ratingRDD = spark.sparkContext.textFile(RATING_DATA_PATH)

//将ratingRDD转换为DataFrame

val ratingDF = ratingRDD.map(item => {

val attr = item.split(",")

Rating(attr(0).toInt,attr(1).toInt,attr(2).toDouble,attr(3).toInt)

}).toDF()

// 声明一个隐式的配置对象

implicit val mongoConfig =

MongoConfig(config.get("mongo.uri").get,config.get("mongo.db").get) // 将数据保存到MongoDB中

storeDataInMongoDB(productDF, ratingDF)

// 关闭Spark

spark.stop()

}

3.3.3 将数据写入MongoDB

接下来,实现storeDataInMongo方法,将数据写入mongodb中:

def storeDataInMongoDB(productDF: DataFrame, ratingDF:DataFrame)

(implicit mongoConfig: MongoConfig): Unit = {

//新建一个到MongoDB的连接

val mongoClient = MongoClient(MongoClientURI(mongoConfig.uri))

// 定义通过MongoDB客户端拿到的表操作对象

val productCollection = mongoClient(mongoConfig.db)(MONGODB_PRODUCT_COLLECTION) val ratingCollection = mongoClient(mongoConfig.db)(MONGODB_RATING_COLLECTION)

//如果MongoDB中有对应的数据库,那么应该删除

productCollection.dropCollection()

ratingCollection.dropCollection()

//将当前数据写入到MongoDB

productDF

.write

.option("uri",mongoConfig.uri)

.option("collection",MONGODB_PRODUCT_COLLECTION)

.mode("overwrite")

.format("com.mongodb.spark.sql")

.save()

ratingDF

.write

.option("uri",mongoConfig.uri)

.option("collection",MONGODB_RATING_COLLECTION)

.mode("overwrite")

.format("com.mongodb.spark.sql")

.save()

//对数据表建索引

productCollection.createIndex(MongoDBObject("productId" -> 1)) ratingCollection.createIndex(MongoDBObject("userId" -> 1))

ratingCollection.createIndex(MongoDBObject("productId" -> 1))

//关闭MongoDB的连接

电商网站数据分析常用指标

电商网站数据分析常用指标 分类:数据分析2011-08-16 23:44 101人阅读评论(0) 收藏举报一、网站分析的内容指标 转换率TakeRates (ConversionsRates) 计算公式:转换率=进行了相应的动作的访问量/总访问量 指标意义:衡量网站内容对访问者的吸引程度以及网站的宣传效果 指标用法:当你在不同的地方测试新闻订阅、下载链接或注册会员,你可以使用不同的链接的名称、订阅的方式、广告的放置、付费搜索链接、付费广告(PPC)等等,看看那种方式是能够保持转换率在上升?如何增强来访者和网站内容的相关性?如果这个值上升,说明相关性增强了,反之,则是减弱。 回访者比率RepeatVisitor Share 计算公式:回访者比率=回访者数/独立访问者数 指标意义:衡量网站内容对访问者的吸引程度和网站的实用性,你的网站是否有令人感兴趣的内容使访问者再次回到你的网站。 指标用法:基于访问时长的设定和产生报告的时间段,这个指标可能会有很大的不同。绝大多数的网站都希望访问者回访,因此都希望这个值在不断提高,如果这个值在下降,说明网站的内容或产品的质量没有加强。需要注意的是,一旦你选定了一个时长和时间段,就要使用相同的参数来产生你的报告,否则就失去比较的意义。 积极访问者比率HeavyUser Share 计算公式:积极用户比率=访问超过11页的用户/总的访问数 指标意义:衡量有多少访问者是对网站的内容高度的兴趣

指标用法:如果你的网站针对正确的目标受众并且网站使用方便,你可以看到这个指标应该是不断的上升。如果你的网站是内容型的,你可以针对不同类别的内容来区分不同的积极访问者,当然你也可以定义20页以上的才算是积极的访问者。 忠实访问者比率CommittedVisitor Share 计算公式:访问时间在19分钟以上的用户数/总用户数 指标意义:和上一个指标的意义相同,只是使用停留的时间取代浏览页数,取决于网站的目标,你可以使用两个中的一个或结合使用。 指标用法:访问者时长这个指标有很大的争议,这个指标应结合其它的指标一起使用,例如转换率,但总体来说,较长的访问时长意味着用户喜欢呆在你的网站,高的忠实访问率当然是较好的。同样的,访问时长也可以根据不同的需要自行设定。 忠实访问者指数CommittedVisitor Index 计算公式:忠实访问者指数=大于19分钟的访问页数/大于19分钟的访问者数 指标意义:指的是每个长时间访问者的平均访问页数,这是一个重要的指标,它结合了页数和时间。 指标用法:如果这个指数较低,那意味着有较长的访问时间但是较低的访问页面(也许访问者正好离开吃饭去了)。通常都希望看到这个指数有较高的值,如果你修改了网站,增加了网站的功能和资料,吸引更多的忠实访问者留在网站并浏览内容,这个指数就会上升。 忠实访问者量CommittedVisitor Volume 计算公式:忠实访问者量=大于19分钟的访问页数/总的访问页数 指标意义:长时间的访问者所访问的页面占所有访问页面数的量 指标用法:对于一个靠广告驱动的网站,这个指标尤其值得注意,因为它代表了总体的页面访问质量。如果你有10000的访问页数却仅有1%的忠实访问者率,这意味着你可能吸

大数据实验室建设方案

高校大数据实验室建设方案 一、建设目标 xx大数据实验室的建设目的是作为大数据教学实验及科研平台,包括数据挖掘与大数据分析平台。实验室的设计全面落实“产、学、研、用”一体化的思想和模式,从教学、实践、科研和使用多方面注重专业人才和特色人才的培养。 利用虚拟化教学资源,搭建教学系统和集群平台,将理论学习、实践教学和大数据项目实战融为一体,由难而易、循序渐进,逐步提升学生的学习技能和实践水平,提高“学”的质量和成效。利用大数据分析主流软件框架,搭建与业界主要用户一致的实验与科研环境,将理论课程中学到的数据挖掘算法运用到实际的数据分析过程中,提升学生的动手操作和项目实践能力。使得学生所学与企业项目人才需求无缝衔接,与教师的科研工作紧密配合。 通过专业的大数据分析计算资源搭建的开放式大数据分析平台,可以充分的融合教师的科研需求,教师可以在开放的平台环境下开展大数据科研工作,提升教师的科研创新能力,充分提高“研”的成效。 二、产品优势

?交互式学习模式 提供体系完整、简单易用的在线教学课堂;以基础知识学习、在线视频教学、习题、线上测试、评估等为主线的一系列方法,确保学生在短时间内掌握大数据虚拟仿真实验、分析部署技能。 ?真机实验训练 实验训练体系设计成各模块相对独立的形式,各模块交互式的实验任务、大数据实验机、实际项目上机操作,通过多方位的训练,最终灵活的、渐进式地掌握大数据生态体系。 ?大数据实战及案例分析 提供实验数据,包括网站流量数据、租房及二手房数据、电商商品交易数据、搜索引擎访问等多种行业数据,数据内容超过20TB,同时周期更新数据内容。 ?充分支撑科研工作 提供行业数据及案例解剖用于基础研究,提供数据分析方案及流程,提供数据更新接口,

电商运营大数据分析

电商2015年运营大数据分析 一、代运营商基本情况汇总 从事淘宝运营服务的服务商大约1500多家,其中,天猫平台聚集了大约400家运营服务商,主要来源于上海、浙江和广东,而福建、北京次之,为大约2000家天猫店铺提供运营服务。运营服务商达成的交易额,按照店铺数量平均,约为天猫店铺整体平均值的2倍;按照服务商数量平均的交易额均值,约为倍。目前,从业人员大约3万人,20%为专业店铺运营人员。42%的服务商选择聚焦优势类目发展。 按照品牌商对于供应链整合的不同需求,运营服务商可以分为流程型、运营型和技术型。 未来,专业服务市场的专业化发展将推动运营服务市场的规范化。 二、天猫代运营商分布情况汇总 上海86家 广东70家 浙江81家 江苏16家 北京26家 福建28家,厦门12家 其他57家

三、代运营商创始人背景和团队现状 服务商深度调研中,服务商创始人的背景分类按照以下三个分类标准: ①大卖家背景:包括经营过卖家店铺(或独立B2C网站),或者有全面负责卖家店铺运营的经验。 ②传统服务背景包括:包括线下贸易背景,以及传统企业的运营、管理以及投资等背景。 ③IT以互联网从业背景(简称IT互):包括IT技术背景,广告公司从业(含网络推广),以及电子商务公司的渠道转型 四、天猫核心类目分布情况汇总 五、人员结构比例不同,服务效率也不同。 运营能力和技术能力说明服务效率差异: 具备整体托管能力的运营服务商,以运营团队为核心打造“端到端”流程。然而,自建系统(技术和仓储人员占30%以上)推动了运

营服务商的服务规模扩大,立足于平台的精细化运营,从数据的视角,运营服务商的核心能力源于平台层、中间件层和商务层。目前从业人员约3万人,运营人员占20%。 六、在五个专业服务环节有不同程度的外包? 运营服务商与专业服务不同:运营服务基于开放平台,制定和执行店铺的经营策略。专业服务围绕供应链节点的经营策略提供专业化服务。 专业服务外包: 目前,营销推广和视觉设计仍是运营服务的核心能力,运营服务商将IT系统、仓储和客服等环节进行不同程度的外包。 七、运营服务商提供“端到端”的供应链整合服务? 传统的渠道管理:

电商数据分析基础知识.doc

电商数据分析基础知识 电商数据分析基础知识 信息流、物流和资金流三大平台是电子商务的三个最为重要的平台。而电子商务信息系统最核心的能力是大数据能力,包括大数据处理、数据分析和数据挖掘能力。无论是电商平台(如淘宝)还是在电商平台上销售产品的卖家,都需要掌握大数据分析的能力。越成熟的电商平台,越需要以通过大数据能力驱动电子商务运营的精细化,更好的提升运营效果,提升业绩。构建系统的电子商务数据分析指标体系是数据电商精细化运营的重要前提,本文将重点介绍电商数据分析指标体系。 电商数据分析指标体系分为八大类指标,包括总体运营指标、网站流量累指标、销售转化指标、客户价值指标、商品及供应链指标、营销活动指标、风险控制指标和市场竞争指标。不同类别指标对应电商运营的不同环节,如网站流量指标对应的是网站运营环节,销售转化、客户价值和营销活动指标对应的是电商销售环节。 1、电商总体运营指标 电商总体运营整体指标主要面向的人群电商运营的高层,通过总体运营指标评估电商运营的整体效果。电商总体运营整体指标包括四方面的指标:

(1)流量类指标 独立访客数(UV),指访问电商网站的不重复用户数。对于PC 网站,统计系统会在每个访问网站的用户浏览器上种一个cookie来标记这个用户,这样每当被标记cookie的用户访问网站时,统计系统都会识别到此用户。在一定统计周期内如(一天)统计系统会利用消重技术,对同一cookie在一天内多次访问网站的用户仅记录为一个用户。而在移动终端区分独立用户的方式则是按独立设备计算独立用户。 页面访问数(PV),即页面浏览量,用户每一次对电商网站或着移动电商应用中的每个网页访问均被记录一次,用户对同一页面的多次访问,访问量累计。 人均页面访问数,即页面访问数(PV)/独立访客数,该指标反映的是网站访问粘性。 (2)订单产生效率指标 总订单数量,即访客完成网上下单的订单数之和。 访问到下单的转化率,即电商网站下单的次数与访问该网站的次数之比。 (3)总体销售业绩指标

数据分析系统

电子商务公司网站分析几大模块 电子商务火热,客观上也让网站分析的需求激增,无论是出于何种目的,例如希望获得更多潜在客户,或是希望压缩成本,又或是希望提升用户体验,业务需求 一.业务需求: 1. 市场推广方式是否有效,以及能否进一步提效; 2. 访问网站的用户是否是目标用户,哪种渠道获取的用户更有价值(跟第一个需求有交集也有不同); 3. 用户对网站的感觉是好还是不好,除了商品本身之外的哪些因素影响用户的感觉; 4. 除了撒谎外,什么样的商业手段能够帮助说服客户购买; 5. 从什么地方能够进一步节约成本; 6. 新的市场机会在哪里,哪些未上架的商品能够带来新的收入增长。2.网站分析实施 1. 网站URL的结构和格式 2. 流量来源的标记 3. 端到端的ROI监测实施 4. 每个页面都正确置入了监测代码吗 三. 在线营销 1. SEO的效果衡量 2. SEM和硬广的效果衡量 3. EDM营销效果衡量 4. 所有营销方式的综合分析 4.网站上的影响、说服和转化 预置的影响点和说服点的评估 2. 识别潜在的影响点和说服点 3. 购物车和支付环节仍然是重中之重

五.访问者与网站的互动参与 访问者互动行为研究包括: (1)内部搜索分析; (2)新访问者所占的比例、数量趋势和来源; (3)旧访问者的访问数量趋势、比例和来源; (4)访问频次和访问间隔时间; (5)访问路径模式 商品研究包括: (1)关注和购买模型; (2)询价和购买模型;访问者来询价,还是来购买,在具体行为上是有区别的。 (3)内部搜索分析 其他重要的关联因素: 狭义的网站分析领域: 地域细分的销售额、访问者和商品关注情况; 客户端情况;例如操作系统,浏览器软件,带宽,访问网站的速度等等; 广义的网站分析领域: 网站分析测试:A/B测试和多变量测试 用户可用性测试; 调研; 用户人群属性研究; 站内IWOM分析; 站外IWOM分析 1. 市场推广方式是否有效,以及能否进一步提效; 网站分析能够全面衡量效果,并据此提效 2. 访问网站的用户是否是目标用户,哪种渠道获取的用户更有价值 3. 用户对网站的感觉是好还是不好,除了商品本身之外的哪些因素影响

电商平台的数据分析

一、主要路径分析 一切能够进行产品推广、促进用户使用、提升用户粘性和留存、用户自传播、让用户付费的行为都可以称为运营。在运营中我们可以用AARRR增长模型将产品的运营路径拆分为:激活、注册、留存、下单、传播,然后根据每个路径进行分析,从而优化产品和运营策略。 1. 激活 不同行业和模式的激活方式都不太一样,例如:之前我们做的体育app激活方式为——从跑步群里面导入用户和微信公众号导入,先把目标用户沉淀在微信群,然后利用大型马拉松的名额来吸引他们呼吁用户下载app进行报名。 然而对于B2B的电商平台,用户激活主要以地推和客服推广为主。因为入驻平台需要一定的资质证件,且用户自发性地在网上注册的比较少,但地推方式激活的相对成本较高。 2. 注册 注册的时候,常常会因为某个步骤文案描述不清或流程复杂,要求上传的证件太多等原因让用户流失。这时候,我们就可以用漏斗分析用户是在哪个步骤流失严重,分析具体原因后再进行产品优化。 3. 留存 用户激活和注册后我们需要看用户的留存率,每个应用对留存的时间定义都是不一样的。例如: 对于社交软件而言,如果3天不登录可能就被标记为流失用户; 对于我们现在做的医药电商来说,一般用户的采购周期在15天左右,所以我们把超过15天没下单的用户称为流失用户,对于流失用户我们一般会采取和发送优惠券的方式促进他再次下单。 4. 营收 我们需要理解到:作为电商平台只有平台提供的商品价格、品类、物流服务有吸引力后,用户才愿意来下单。 如果用户在需要购买该商品的时候没有下单,那多半是自身的商品和竞争对手相比,在价格和服务上吸引力不够。这时候我们就需要通过爬虫爬取竞争对手的商品数据,然后调整自己的定价和适当做一些营销活动来吸引客户。 5. 传播 由于我们获客成本比较高,因此让用户自传播的方式去拉新也是一种可行的营销方式,针对这个,我们做了邀请好友得优惠券的方式,鼓励用户去帮我们拉新。 二、行为数据分析 分析的目的:了解用户的使用习惯、使用路径以及使用频率,从而得出用户更偏向于使用哪些功能,验证产品用户体验是否做得好,上线的运营活动是否受欢迎等。 做行为数据分析之前,首先我们需要做埋点,埋点可以采用第三方埋点和自己做埋点。各有利弊,这个需要结合公司来做决定。 下面是我们之前做的埋点的表格和用户每次行为记录的字段。埋点主要分为点击事件和页面曝光两类,然后又可以根据页面曝光事件来统计页面的停留时长和用户的路径。 用户每促发一次事件需要记录的字段(具体还需要根据公司需要采集的数据而定):source; //来源 001-app 002-pc logined; //是否已经登录 1-是,0-否 typeUser; //用户的类型 001-采购商 002-供应商 userId; //用户的id codePage; //页面对应的代码 numEvent; //事件编号

中国电商行业大数据分析报告

2016年中国电商行业大数据分析报告

研究背景:放眼当下,恰逢互联网购物的大好时代,在国家信息网络战略实施、几大移动运营商快速发展、各大电商网络平台百花齐放的大背景下,年轻消费群体购买力突飞猛进,网上零售市场份额不断提升,网购渗透率正逐年增加。中商产业研究院预计,到2016年,我国网上零售额将突破5万亿,占社会消费品零售总额的%,网购用户渗透率达到%。 2014-2020年中国网上零售额规模情况 数据来源:国家统计局、中商产业研究院 2014-2020年中国网购渗透率情况

数据来源:国家统计局、中商产业研究院休闲食品电商 1、产业综述 2、发展现状

随着经济的发展和消费水平的提高,休闲食品正在逐渐升级成为百姓日常的必需消费品。现阶段,我国休闲食品电商三足鼎立格局初现,龙头优势明显。三只松鼠、百草味、良品铺子已牢牢占据了休闲食品电商前三,其他品牌竞争难度加大。 3、市场规模 中国经济快速发展,居民生活水平和消费能力不断提高,消费习惯也随之改变。从吃饱到吃好,消费者对食品的需求和兴趣从必须消费品逐渐向可选消费品转移,零食不再是儿童、青少年的专属,不再和不健康划上等号,和正餐之间的界限也日渐模糊。因此,休闲食品线上销售规模也在逐年增长,2015年,我国休闲食品电商销售规模约为450亿元。 2014-2020年中国休闲食品电商市场交易规模 数据来源:中商产业研究院 4、消费特点

女性消费者是绝对购买主力:休闲零食消费在性别的差异性放点明显,女性消费者是绝对购买主力。根据尼尔森,在全球范围内,女性比男性消费更多零食且女性对葛洪零食的消费意愿高于男性。根据易观智库,女性消费者不仅在购买人数上超过男性消费者(购买力%%)。 80后、90后为零食网购主力:从休闲零食网购消费者年龄分布来看,28-38岁消费者占比%,18-28岁消费者占比%,年轻人成为绝对多数。80后基本步入职场,消费能力也已承受。即将进入社会的90后,消费更具冲动型、超前性,见识未来的生力军。 白领为零食电商消费的主要人群:休闲零食电商的手中人群职业分布较广,不仅有白领人士、事业机关人员,还有自由职业者,家庭主妇及退休人员等。因此,市场对食品电商的产品需求多元化,长尾效应明显。其中,白领人士是零食电商的最主要消费者(47%),性价比高、有个性有腔调、方便快捷是他们的诉求特征。 生鲜电商 1、产业综述

电子商务数据分析指标体系

电子商务数据分析指标体系 一个企业建立的数据分析体系通常细分到了具体可执行的部分,可以根据设定的某个指标的异常变化,相应立即执行相应的方案,来保证企业的运营的正常进行。EC数据分析联盟根据以往的经验,理出电子商务企业这的数据分析体系,这里的数据分析体系只是一个大致的、框架性的,这里更多是一个成熟的,共性的指标,而更多的则需要大家根据自身的情况去细化和完善,从而制定对企业更有意义的指标。 此电子商务数据分析体系包括网站运营指标、经营环境指标、销售业绩指标、运营活动指标和客户价值指标五个一级指标。网站运营指标这里定为一个综合性的指标,其下面包括有网站流量指标、商品类目指标以及(虚拟)供应链指标等几个二级指标。经营环境指标细分为外部经营环境指标和内部经营环境指标两个二级指标。销售业绩指标则根据网站和订单细分为2个二级指标,而营销活动指标则包括市场营销活动指标、广告投放指标和商务合作指标等三个二级指标。客户价值指标包括总体客户指标以及新老客户指标等三个二级指标。 1、网站运营指标

网站运营指标主要用来衡量网站的整体运营状况,这里Ec数据分析联盟暂将网站运营指标下面细分为网站流量指标、商品类目指标、以及供应链指标。 1.1 网站流量指标 网站流量指标主要用从网站优化,网站易用性、网站流量质量以及顾客购买行为等方面进行考虑。目前,流量指标的数据来源通常有两种,一种是通过网站日志数据库处理,另一种则是通过网站页面插入JS代码的方法处理(二种收集日志的数据更有长、短处。大企业都会有日志数据仓库,以共分析、建模之用。大多数的企业还是使用GA来进行网站监控与分析。)。网站流量指标可细分为数量指标、质量指标和转换指标,例如我们常见的PV、UV、Visits、新访客数、新访客比率等就属于流量数量指标,而跳出率、页面/站点平均在线时长、PV/UV等则属于流量质量指标,针对具体的目标,涉及的转换次数和转换率则属于流量转换指标,譬如用户下单次数、加入购物车次数、成功支付次数以及相对应的转化率等。 1.2 商品类目指标 商品类目指标主要是用来衡量网站商品正常运营水平,这一类目指标与销售指标以及供应链指标关联慎密。譬如商品类目结构占比,各品类销售额占比,各品类销售SKU集中度以及相应的库存周转率等,不同的产品类目占比又可细分为商品大类目占比情况以及具体商品不同大小、颜色、型号等各个类别的占比情况等。 1.3 供应链指标(这个划分在这里稍有不合理~这个属于偏线下运营的指标) 这里的供应链指标主要指电商网站商品库存以及商品发送方面,而关于商品的生产以及原材料库存运输等则不在考虑范畴之内。这里主要考虑从顾客下单到收货的时长、仓储成本、仓储生产时长、配送时长、每单配送成本等。譬如仓储中的分仓库压单占比、系统报缺率(与前面的商品类目指标有极大的关联)、实物报缺率、限时上架完成率等,物品发送中的譬如分时段下单出库率、未送达占比以及相关退货比率、COD比率等等。 2.经营环境指标 EC这里将电子商务网站经营环境指标分为外部竞争环境指标和内部购物环境指标。外部竞争环境指标主要包括网站的市场占有率,市场扩大率,网站排名等,

智慧营销大数据分析平台解决方案

2 0 2 Oj 智慧营销大数据分析平台 解决方案

万物互联万物智能

NO 电子邮件

大数据营销服务成为互联网应用新热点 ?门户网站 通过大数据的商品化服务, 从数据技术角度解决市场营销问 题,优 化业务的运营效果。 史数据营销服鴛丿 1、 消费决策周期长,考虑因素多样 2、 资源被充分竞争,导致媒体价格不断 升高 需要提高用户的转化与变现效果 线下业态受线上业态冲击明显 用户易流失,亟待唤回流失用户 更加重视搜索引擎营销效果 2000年 2005年 2010年 2015年 ?社交媒体 大数据营销核心目标 大数据营销用户需求背景 ?搜索引擎 4 6

大数据营销服务市场发展推动因素 行业竞争者企业大数据营销 的需求动力来源于①内 部 数 据 自有数据 企业精细化管理数据 有偿数据 无偿数据 数据数据 外 部 数 据 业 务 营 销 与 运 营 优 化 不断加速创新的竞争者 ②企业自身的精细化管 理③自身数据管理水平 的提升三大方面。通过 整合内部与外部数据, 实现对业务营销与运营 优化的 精确支持。

程序化营销生态圈■大数据生态营销平台 基于全线产品打造自有生态圈,打破i孤岛壁垒,实现匚流自循坏,通过数据共享、打通,实现流呈价值最大化。 史前时代 2008年-2010 年 富媒体快速发展 前程序化时代 ▲ 开启大数据时代 程序化营销元年 ▲ 移动端高速发展 快速发展期 ▲ 高度竞争多元化 趋于成熟市场 ▲ 原生、大屏交互、场程序化营销发展时间轴 90 年代)> 2010 \ 2012 \ 2014 | 2016 2009年成立厂/ 'r OTV&DSP DMP5.0 言2“I MOSP _DAcg_ m三x台北布局DSP_____ ___ 命入as ; 2017台北布局DSP正式友布DMP产品 DAtA PDB+RTB H5 程序化营销生态圈互联网公司综合实力TOP14 ?

一个电商数据分析师的经验总结

一个电商数据分析师的经验总结 king发表于2013-07-27 20:54 来源:贾鹏 08年毕业,不知不觉的混进了电子商务行业,又不知不觉的做了三年数据分析,恰好又赶上了互联网电子商务行业发展最快的几年,也算是不错吧,毕竟感觉前途还是很光明的。三年来,可以说跟很多同事学到了不少东西,需要感谢的人很多,他们无私的教给了我很多东西。 就数据分析职业来说,个人感觉这对互联网公司来说是非常重要的,也是确实能够带来实际效果的东西。比如说利用数据分析做会员的细分以进行精准化营销;利用数据分析来发现现有的不足,以作改进,让顾客有更好的购物体验;利用CRM系统来管理会员的生命周期,提高会员的忠诚度,避免会员流失;利用会员的购买数据,挖掘会员的潜在需求,提供销售,扩大影响力等等。 最开始进公司的时候是在运营部,主要是负责运营报表的数据,当时的系统还很差,提取数据很困难,做报表也很难,都是东拼西凑一些数据,然后做成PPT,记得当时主要的数据就是销售额、订单量、毛利额、客单价、每单价、库存等一些特别基础的数据,然后用这些数据作出一些图表来。在这个阶段基本上就是做一些数据的提取工作,Excel的技巧倒是学到了不少,算是数据分析入门了吧。 后来公司上了数据仓库,里面就有了大量的原始数据,提取数据非常方便了,而且维度也多,可以按照自己的想法随意的组合分析,那个阶段主要就是针对会员购物行为的分析,开始接触数据建模,算法等一些比较难的东西,也是学到东西最多的时候。记得当时做了很多分析报告,每周还要给总裁办汇报这些报告,下面详细说一下当时使用的一些主要的模型及算法:1、RFM模型

模型定义:在众多的客户关系管理的分析模式中,RFM模型是被广泛提到的。RFM模型是衡量客户价值和客户创利能力的重要工具和手段。该机械模型通过一个客户的近期购买行为、购买的总体频率以及花了多少钱三项指标来描述该客户的价值状况。在RFM模式中, R(Recency)表示客户最近一次购买的时间有多远,F(Frequency)表示客户在最近一段时间内购买的次数,M (Monetary)表示客户在最近一段时间内购买的金额。一般的分析型CRM 着重在对于客户贡献度的分析,RFM则强调以客户的行为来区分客户。利用RFM分析,我们可以做以下几件事情: ⑴建立会员金字塔,区分各个级别的会员,如高级会员、中级会员、低级会员,然后针对不同级别的会员施行不同的营销策略,制定不同的营销活动。 ⑵发现流失及休眠会员,通过对流失及休眠会员的及时发现,采取营销活动,激活这些会员。 ⑶在短信、EDM促销中,可以利用模型,选取最优会员。 ⑷维系老客户,提高会员的忠诚度。 使用方法:可以给三个变量不同的权重或按一定的规则进行分组,然后组合使用,即可分出很多不同级别的会员。 2、关联分析 关联分析最原始的案例来自于沃尔玛的“啤酒与尿布”。通俗意义上讲,就是只买了A商品的人,又有很多人买了B商品,那么我们就可以认为A、B两个商品的关联性比较高。很多数据挖掘工具都有关联挖掘,主要使用的算法是Apriori算法,在计算的过程中会主要考察项集、置信度、相关性这三个结果数据,以最终确定商品之间的相关性。除了Apriori算法外,还有许多其他的关联分析的算法,基本上也都是从Apriori发展而来,比如FPgrowth。本人从几年的数据分析经验感觉,关联分析在零售业中并不太实用,挖掘出来的关联度比较高的

电子商务数据分析

电子商务数据分析职业技能等级标准

目次 前言....................................................................... II 1 范围 (1) 2 规范性引用文件 (1) 3 术语和定义 (1) 4 面向院校专业 (2) 5 面向工作岗位(群) (2) 6 职业技能要求 (3) 参考文献 (10)

前言 本标准按照GB/T 1.1-2009给出的规则起草。 本标准起草单位:北京博导前程信息技术股份有限公司、上海宝尊电子商务有限公司、网易考拉战略研究院、杭州有赞科技有限公司、深圳职业技术学院、江苏经贸职业技术学院、苏州经贸职业技术学院、杭州职业技术学院、武汉职业技术学院、天津轻工职业技术学院、兰州石化职业技术学院、北京市商业学校、南宁市第六职业技术学校。 本标准主要起草人:段建、徐珺、游忠明、闫冬、唐克胜、吴洪贵、许应楠、陈加明、席波、白洁、周任慧、侯光、温丽容、杨东飞、叶靖。 声明:本标准的知识产权归属于北京博导前程信息技术股份有限公司,未经北京博导前程信息技术股份有限公司同意,不得印刷、销售。

1 范围 本标准规定了电子商务数据分析职业技能的等级、工作要求及职业技能要求。 本标准适用于电子商务数据分析职业技能等级的培训、考核与评价,电子商务数据分析从业人员的聘用、教育和职业培训可参照使用。 2 规范性引用文件 下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文件。凡是不注日期的引用文件,其最新版本适用于本文件。 GB/T 36311 电子商务管理体系要求 GB/T 35408 电子商务质量管理术语 GB/T 31232.1 电子商务统计指标体系第1部分:总体 GB/T 31232.2 电子商务统计指标体系第2部分:在线营销 3 术语和定义 3.1 电子商务 E-commerce 通过信息网络进行产品和服务交易的经营活动。 [GB/T 35408-2017,定义2.1.1] 3.2 运营 operation 与产品生产和服务创造密切相关的各项管理工作的总称,包括对其过程的计划、组织、实施和控制。 3.3 电子商务运营 E-commerce operation 为完成经营目标,通过信息网络围绕产品和服务交易开展的各项经营和管理工作的总称。 3.4 数据分析 data analysis

中国电商行业大数据分析报告

中国电商行业大数据分析报告研究背景:放眼当下,恰逢互联网购物的大好时代,在国家信息网络战略实施、几大移动运营商快速发展、各大电商网络平台百花齐放的大背景下,年轻消费群体购买力突飞猛进,网上零售市场份额不断提升,网购渗透率正逐年增加。中商产业研究院预计,到2016年,我国网上零售额将突破5万亿,占社会消费品零售总额的14.9%,网购用户渗透率达到64.0%。 2014-2020年中国网上零售额规模情况 数据来源:国家统计局、中商产业研究院 2014-2020年中国网购渗透率情况

数据来源:国家统计局、中商产业研究院休闲食品电商 1、产业综述 2、发展现状

随着经济的发展和消费水平的提高,休闲食品正在逐渐升级成为百姓日常的必需消费品。现阶段,我国休闲食品电商三足鼎立格局初现,龙头优势明显。三只松鼠、百草味、良品铺子已牢牢占据了休闲食品电商前三,其他品牌竞争难度加大。 3、市场规模 中国经济快速发展,居民生活水平和消费能力不断提高,消费习惯也随之改变。从吃饱到吃好,消费者对食品的需求和兴趣从必须消费品逐渐向可选消费品转移,零食不再是儿童、青少年的专属,不再和不健康划上等号,和正餐之间的界限也日渐模糊。因此,休闲食品线上销售规模也在逐年增长,2015年,我国休闲食品电商销售规模约为450亿元。 2014-2020年中国休闲食品电商市场交易规模 数据来源:中商产业研究院 4、消费特点 女性消费者是绝对购买主力:休闲零食消费在性别的差异性放点明显,女性消费者是绝对购买主力。根据尼尔森,在全球范围内,女性比男性消费更多零食且女性对葛洪零食的消费意愿高于男性。根据易观智库,女性消费者不仅在购买人数上超过男性消费者(购买力62.29%vs37.71%)。

电子商务网站核心数据分析

电子商务研究报告 - 电子商务网站核心数据分析电子商务相对于传统零售业来说,最大的特点就是一切都可以通过数据化来监控和改进。通过数据可以看到用户从哪里来、如何组织产品可以实现很好的转化率、你投放广告的效率如何等等问题。基于数据分析的每一点点改变,就是一点点提升你赚钱的能力,所以,电子商务网站的数据分析是很重要的一门功课。 一般来说,数据分析包括:流量来源分析、流量效率分析、站内数据流分析和用户特征分析四个部分。 我们先来说说流量来源分析。 电子商务就是贩卖流量的生意,低成本的流量来源是保证企业盈利的重要条件。流量来源分析主要是要明白你的用户都是从那些网站来的,那些网站的给你带来更多的订单、那些网站的流量是真实的,那些是虚假等。 流量分析一般一奥分析以下内容: 网站流量来源排名:那些网站贡献的流量多,那些贡献的少 搜索引擎关键词分析:根据关键词的来源分析来查看网站产品分布和产品组合。如果关键词查询多的产品却不是网站的主推品,可以进行适当调整。 网站流量趋势分析:网站的流量是否均衡稳定,是不是有大幅度波动。一般来说流量突然增加的网站,如非发生突发事件,购买的广告位作弊的嫌疑比较大。 网站流量核对:查看是否有莫名流量来源,流量来源大不大。如果莫名来源流量很大的话,有可能是您购买的CPC或者其他资源被注 水了,将您的广告链接分包给了点击联盟。 推介网站与直接访问的比例:推介网站可以理解为外部广告,直接访问就是用户直接输入网址。一般来说,直接访问量越大说明网站的品买知名度越高。 其次是流量效率分析 流量效率是指流量到达了网站是不是真实流量,主要分析指标如下: 到达率:到达率是指广告从点击到网站 landingpage 的比例。一般来说,达到率能达到 80%以上是比较理想的流量。这个也跟网站的速度有关,综合来分析一下。 二跳率:这个也是为了分析流量的有效性。如果是有效流量的话,一般会有合理的二跳。如果是虚假点击的话,一般是没有二跳的。但是也不排除有部分作假很厉害的网站能做出二跳,比如PPLIVE当 年洪成浩做投放的时候,我们的广告直接连接到广告专题页,二跳是 15流右,

一位电商数据分析师的经验总结 光环大数据

https://www.sodocs.net/doc/e22857545.html, 一位电商数据分析师的经验总结光环大数据 就数据分析职业来说,个人感觉这对互联网公司来说是非常重要的,也是确实能够带来实际效果的东西。比如说利用数据分析做会员的细分以进行精准化营销;利用数据分析来发现现有的不足,以作改进,让顾客有更好的购物体验;利用CRM系统来管理会员的生命周期,提高会员的忠诚度,避免会员流失;利用会员的购买数据,挖掘会员的潜在需求,提供销售,扩大影响力等等。 最开始进公司的时候是在运营部,主要是负责运营报表的数据,当时的系统还很差,提取数据很困难,做报表也很难,都是东拼西凑一些数据,然后做成PPT,记得当时主要的数据就是销售额、订单量、毛利额、客单价、每单价、库存等一些特别基础的数据,然后用这些数据作出一些图表来。在这个阶段基本上就是做一些数据的提取工作,Excel的技巧倒是学到了不少,算是数据分析入门了吧。 后来公司上了数据仓库,里面就有了大量的原始数据,提取数据非常方便了,而且维度也多,可以按照自己的想法随意的组合分析,那个阶段主要就是针对会员购物行为的分析,开始接触数据建模,算法等一些比较难的东西,也是学到东西最多的时候。记得当时做了很多分析报告,每周还要给总裁办汇报这些报告,下面详细说一下当时使用的一些主要的模型及算法:1、RFM模型模型定义:在众多的客户关系管理的分析模式中,RFM模型是被广泛提到的。RFM模型是衡量客户价值和客户创利能力的重要工具和手段。该机械模型通过一个客户的近期购买行为、购买的总体频率以及花了多少钱三项指标来描述该客户的价值状况。在RFM模式中,R(Recency)表示客户最近一次购买的时间有多远,F(Frequency)表示客户在最近一段时间内购买的次数,M(Monetary)表示客户在最近一段时间内购买的金额。一般的分析型CRM着重在对于客户贡献度的分析,RFM则强调以客户的行为来区分客户。利用RFM分析,我们可以做以下几件事情: ⑴建立会员金字塔,区分各个级别的会员,如高级会员、中级会员、低级会员,然后针对不同级别的会员施行不同的营销策略,制定不同的营销活动

如何做好电商平台的数据分析——两个要点缺一不可

本文中笔者为我们介绍了产品的运营路径是什么,并对行为数据进行分析,给出了一些相应的优化方式。 一、主要路径分析 一切能够进行产品推广、促进用户使用、提升用户粘性和留存、用户自传播、让用户付费的行为都可以称为运营。在运营中我们可以用AARRR增长模型将产品的运营路径拆分为:激活、注册、留存、下单、传播,然后根据每个路径进行分析,从而优化产品和运营策略。 1. 激活 不同行业和模式的激活方式都不太一样,例如:之前我们做的体育app激活方式为——从跑步群里面导入用户和微信公众号导入,先把目标用户沉淀在微信群,然后利用大型马拉松的名额来吸引他们呼吁用户下载app进行报名。 然而对于B2B的电商平台,用户激活主要以地推和客服推广为主。因为入驻平台需要一定的资质证件,且用户自发性地在网上注册的比较少,但地推方式激活的相对成本较高。 2. 注册

注册的时候,常常会因为某个步骤文案描述不清或流程复杂,要求上传的证件太多等原因让用户流失。这时候,我们就可以用漏斗分析用户是在哪个步骤流失严重,分析具体原因后再进行产品优化。 3. 留存 用户激活和注册后我们需要看用户的留存率,每个应用对留存的时间定义都是不一样的。例如: 对于社交软件而言,如果3天不登录可能就被标记为流失用户; 对于我们现在做的医药电商来说,一般用户的采购周期在15天左右,所以我们把超过15天没下单的用户称为流失用户,对于流失用户我们一般会采取和发送优惠券的方式促进他再次下单。 4. 营收 我们需要理解到:作为电商平台只有平台提供的商品价格、品类、物流服务有吸引力后,用户才愿意来下单。 如果用户在需要购买该商品的时候没有下单,那多半是自身的商品和竞争对手相比,在价格和服务上吸引力不够。这时候我们就需要通过爬虫爬取竞争对手的商品数据,然后调整自己的定价和适当做一些营销活动来吸引客户。 5. 传播 由于我们获客成本比较高,因此让用户自传播的方式去拉新也是一种可行的营销方式,针对这个,我们做了邀请好友得优惠券的方式,鼓励用户去帮我们拉新。 二、行为数据分析 分析的目的:了解用户的使用习惯、使用路径以及使用频率,从而得出用户更偏向于使用哪些功能,验证产品用户体验是否做得好,上线的运营活动是否受欢迎等。 做行为数据分析之前,首先我们需要做埋点,埋点可以采用第三方埋点和自己做埋点。各有利弊,这个需要结合公司来做决定。 下面是我们之前做的埋点的表格和用户每次行为记录的字段。埋点主要分为点击事件和页面曝光两类,然后又可以根据页面曝光事件来统计页面的停留时长和用户的路径。 用户每促发一次事件需要记录的字段(具体还需要根据公司需要采集的数据而定):source; //来源 001-app 002-pc logined; //是否已经登录 1-是,0-否

大数据项目之电商分析平台

大数据项目之电商分析系统

1项目框架 1.1 项目概述 本项目来源于企业级电商网站的大数据统计分析平台,该平台以 Spark 框架为核心,对电商网站的日志进行离线和实时分析。 该大数据分析平台对电商网站的各种用户行为(访问行为、购物行为、广告点击行为等)进行分析,根据平台统计出来的数据,辅助公司中的PM(产品经理)、数据分析师以及管理人员分析现有产品的情况,并根据用户行为分析结果持续改进产品的设计,以及调整公司的战略和业务。最终达到用大数据技术来帮助提升公司的业绩、营业额以及市场占有率的目标。 本项目使用了Spark 技术生态栈中最常用的三个技术框架,Spark Core、Spark SQL 和Spark Streaming,进行离线计算和实时计算业务模块的开发。实 session 分析、页面单跳转化率统计、热门商品离线统计、广告流量实时统计 4 个业务模块。通过合理的将实际业务模块进行技术整合与改造,该项目几乎完全涵盖了Spark Core、Spark SQL 和Spark Streaming 这三个技术框架中大部分的功能点、知识点,学员对于Spark 技术框架的理解将会在本项目中得到很大的提高。 图1-1 Spark 计数框架 户访问 现了包括用

1.1项目框架 1.1.1项目整体框架 图1-2 项目整体框架 本项目分为离线分析系统与实时分析系统两大模块。 在离线分析系统中,我们将模拟业务数据写入Hive 表中,离线分析系统从Hive 中获取数据,并根据实际需求(用户访问Session 分析、页面单跳转化率分析、各区域热门商品统计)对数据进行处理,最终将分析完毕的统计数据存储到MySQL 的对应表格中。 在实时分析系统中,我们将模拟业务数据写入Kafka 集群中,实时分析系统从Kafka broker 中获取数据,通过Spark Streaming 的流式处理对广告点击流量进行实时分析,最终将统计结果存储到MySQL 的对应表格中。

2018课程标准---《电子商务数据分析》

《电子商务数据分析》课程标准 【所属系部】 【适用专业】 【课程代码】 【计划学时】36 【学分】2 1.课程概述 电子商务的数据化运营已经显示出极大的威力,许多公司都出现了数据分析师的岗位。《电子商务数据分析》课程定位于电子商务数据分析师。从事数据分析的首要条件是获得数据,因此课程设计遵循收集数据、分析数据、撰写数据分析报告的思路,环环展开,按照难度递进。 1.1课程定位 《电子商务数据分析》课程定位于电子商务数据分析师,通过本课程的学习,使学生掌握调查方案设计、数据资料的收集、整理、分析和数据分析报告的撰写方法和思路,及运用相关数据处理工具进行数据分析的基本方法。该课程主要是培养学生完整数据分析的理念与运用相关数据处理工具进行数据分析的能力,为学生从事大数据应用技术相关岗位工作打下良好的基础,为将来进入电商企业从事数据分析打下基础。 1.1.1课程性质和类型 《电子商务数据分析》是电子商务专业开设的专业拓展课,是必修课,是B类课程。课程瞄准电子商务数据分析师相关岗位,训练数据收集和数据分析能力。授课对象为高职3年级学生。前序课程C语言、电子商务运营。 1.1.2课程作用 课程设计遵循“以学生为主体”教育思想,依据“任务引领”为课程内容设计原则,以提高学生整体素质为基础,以培养学生市场调查与数据分析工具的使用能力、特别是创新能力和实际操作能力为主线,兼顾学生后续发展需要,选取符合数据分析职场所要求的知识、素质和能力为教学内容;在基本理论和基础知识的选择上以应用为目的,以“必需、够用”为度,服从培养能力的需要,突出针对性和实用性。注重培养学生在工作中对数据资料的收集、整理和分析处理能力,训练学生的专业能力、社会能力和方法能力。课程设计以能力为核心,围绕能力的形成学习相关知识。 1.2课程设计思路 在课程设计上根据数据分析就业岗位群任职要求,改革传统的课程体系和教学方法,形成以就业为导向,立足于学生职业能力培养和职业素养养成,突出课程的应用性和操作性。数据分析工作是一个有序开展的工作,顺序性和过程性很强,课程设计的思路正是依据工作任务的顺序和过程开展的,数据分析工作过程主要分为三个步骤,数据收集、数据分析、撰

电子商务如何做数据分析

对于电商来讲,人均浏览网页的时间,就是正在变得稀缺的竞争资源。

我们细致地看一下各家网站(见图三)会发现同样的情况:京东、卓越、当当、凡客、梦芭莎,这几家代表性的B2C中,我们发现大部分流量是增长的,但是如果我们看一下这些网站人均的当日浏览时间,京东上一年是10分钟左右,今年则只有8分钟左右。那么,这是由于现在的网站找东西更有效,所以浏览网站的时间更少一点,还是其他原因? 其实,我们可以用其他的数据挖掘一下,到底是网站的有效性小了,还是总的时间少了?我觉得其中一个很重要的东西是每个网站在争取一个顾客进来以后,它在8分钟里做了哪些事情。 电商的眼球经济只有17分钟,这是总的平均数,也即平均每个网民在电子商务网站会停留17分钟。淘宝商城、京东商城,如果我们真的把它们浏览的时间拿走的话,你会发现其他的网站所拿到的流量就会很小。 而用户停留在网站上的有效购物时间减少的同时,电商的转化率却普遍不是很高。

从访问到购物车,平均来讲,100个人进来,只有4.5个人把东西放到购物车,有96个人不会把东西放到购物车,那这96个人干吗呢? 另外,我们可以看到,京东商城下单到在线支付的百分比是29.4%,凡客诚品是29%,一号店 是8.3%。 追寻流失客户购物行为特征 先让我们看一下图五的数据。 图五这个数据蓝色部分显示的35%,是指只有35%的人是今天来、今天买的;65%的人是以前来、今天才买的。这里的65%说的是新客户,不是老客户,新客户今天来到这个网站,今天就买了。从下往上第二格红色,是昨天来、今天买的客户;绿色的是2-6天前来的、今天才买的客户;最高的那个橙色是21天之前来的、今天买的顾客。当然,这个数据,每个行业都有差别,不完全一样。 从数据我们可以发现,客户从访问页面到最终付款,所用的时间是不一样的。有的用户是第一天 下单,隔了一个星期才付款。尤其是一些非标准、无品牌的产品,消费者比价情况普遍,导致从访问到下单购买时间更长。(我为此访谈过部分国内电商,数据基本一致但百分比不一样。)

相关主题