IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    R语言学习笔记:生成GA相关产品的有向图

    肖庆发表于 2016-03-20 17:21:24
    love 0

    related products

    (以上有向图表对数据做了特殊处理,仅供演示参考,

    通过调整V、E的值及过滤条件可以生成非常直观的图表)

    Directed graph(有向图)是边代表的关系具有方向的图,包含二元组(V,E)。

    GA中有一个隐藏很深的功能,相关产品的相关系数,它是基于网站的电子商务订单数据进行的产品相关性统计,该数据只能通过API获取,当然前提是你部署好增强型电商代码,并且启用和配置好了增强型电商。它可以为你的捆绑销售、相关推荐、再营销广告和EDM提供非常有价值的数据参考。

    参考帮助中心提供的几个范例(1、2),使用GA的Query Explorer,我们可以导出产品相关性的Excel数据表,在Excel中对数据进行处理和生成报表。其中相关系数越大表明相关性越高(需要注意的是这个相关性是有方向的,比如A→B和B→A是完全不同的数据)。这个报告的查询必须至少包含这2个维度:ga:queryProductId, ga:relatedProductId,并且需要包含至少一个相关产品指标。不能包含其他的产品维度。你可以加入筛选条件,比如只统计某几个产品,或者只统计查询量超过一定数量的产品。

    为了可视化相关产品的数据,我们可以通过R来绘制相关产品的有向图,以下我们以产品ID为维度来进行绘图:

    query.list <- Init(start.date = "2016-03-01",
    end.date = "2016-03-14",
    dimensions = "ga:queryProductId,ga:relatedProductId ",
    metrics = "ga:correlationScore,ga:queryProductQuantity",
    sort = "ga:queryProductID, ga:relatedProductId",
    filters = "ga:queryProductQuantity>50",
    table.id = view.id)
    ga.query <- QueryBuilder(query.list)
    ga.data <- GetReportData(ga.query, token)
    E <- as.matrix(data.frame(from = ga.data$queryProductId, to = ga.data$relatedProductId, width = 7*ga.data$correlationScore))
    size <- ga.data[!duplicated(ga.data$queryProductId),]$queryProductQuantity
    size <- size/max(size)*12
    install.packages("qgraph")
    library(qgraph)
    qgraph(E, mode="direct", vsize=size)

    如果你想以产品名称为维度进行绘图:

    query.list <- Init(start.date = "2016-03-01",
     end.date = "2016-03-14",
     dimensions = "ga:queryProductName,ga:relatedProductName,ga:queryProductId,ga:relatedProductId",
     metrics = "ga:correlationScore,ga:queryProductQuantity,ga:relatedProductQuantity",
     sort = "-ga:queryProductQuantity",
     filters = "ga:queryProductQuantity>50",
     table.id = view.id)
    ga.query <- QueryBuilder(query.list)
    ga.data <- GetReportData(ga.query, token)
    E <- as.matrix(data.frame(from = ga.data$queryProductName, to = ga.data$relatedProductName, width = 7*ga.data$correlationScore))
    size <- ga.data[!duplicated(ga.data$queryProductName),]$queryProductQuantity
    size <- size/max(size)*12
    install.packages("qgraph")
    library(qgraph)
    qgraph(E, mode="direct", vsize=size)
    

    有了相关产品的数据,我们可以对用户进行更有效的相关推荐,从而实现更精准的个性化营销。比如,根据历史订单数据得出购买A产品的人大部分也会购买B产品,那么我们可以对购买过A产品的用户推荐B产品。



沪ICP备19023445号-2号
友情链接