neo4j cypher转换率计算

时间:2015-06-10 08:41:09

标签: neo4j cypher

我想在我的neo4j数据库上计算一个“漏斗转换率”,

在起始页面,结束页面和中间页面列表之间,在同一用户的会话中

数据结构是:(伪)

(page{page name})<--(hit{hit id})-->(User{userId})

在同一会话中的点击之间存在“NEXT”关系:

(h1{hit_id}) -[:Next] ->(h2)

这是一个数据示例http://console.neo4j.org/r/8wnskw

我正在寻找的是以下结构:

为此我将需要获取所有可能的路径,每个路径中的步骤以及每个步骤的唯一用户数量(我认为这是最好的方式)

这是我想要实现的结果的可能示例

路径数组:(每条路径中的步骤由&gt;分隔)

[

“主页”:100个用户&gt; “关于我们页面”:20位用户&gt; “注册页面”:10个用户&gt; “购买页面”:3个用户 ,

“主页”:30位用户&gt; “为什么我们页面”:17个用户&gt; “注册页面”&gt; “购买页面”:3个用户 ,

“主页”:40位用户&gt; “注册页面”:12位用户&gt; “购买页面”:3个用户 , ..... ]

示例说明:

第一条道路: “主页”:100个不同的用户&gt; “关于我们页面”:20个不同的用户&gt; “注册页面”&gt; “购买页面”:3位用户

意味着100个用户进入主页,然后 - 20继续“关于我们”,然后 - 10个用户访问了注册页面,其中只有2个人购买了产品。所以这条路径的转换率是2/100 = 2%

第二条路径的转换率为:3/30

1 个答案:

答案 0 :(得分:0)

您的问题没有明确说明您的架构以及您需要查询的内容。根据我从问题中收集的内容,您需要找到源自“主页”到“购买页面”的所有路径。因为这样的事情会起作用:

match p = () - [r*] - ()
return relationships(p)