我使用Segment.io JAVA从我的应用程序中收集事件,并使用Keen.io直观地表示相同的事件。我有一个分层事件结构,如下所示,
- Vehicle (start, drive, stop)
因此,在收集段中的数据时,是否应该将所有事件中的所有属性发送给以后(在keen.io或任何其他工具中)进行分析,如下所示,
识别用户,并跟踪
登录:公司-id,部门-id,时间戳 开户:公司编号,部门编号,时间戳,书名,书名。 页面浏览:公司id,部门id,时间戳,图书id,书名,页id 车辆启动:公司id,部门-id,时间戳,车辆-id,车辆名称
或
我们应该仅仅通过发送相关属性来识别用户并跟踪事件吗?
登录:公司-id,部门-id,时间戳 图书打开:时间戳,书名,书名 页面浏览:时间戳,页id 车辆-启动:时间戳,车辆标识,车辆名称
在第二种情况下,我们如何确定“页面查看”事件是针对哪本书的?
任何帮助都将不胜感激。
谢谢
发布于 2016-09-06 14:24:12
我肯定会建议把所有的数据发送在敏锐的事件中。您发送的数据越丰富,您将来能够进行的查询就越丰富。
要回答您的具体问题,如果您发送page-view事件的图书id,您可以执行如下查询:
var popular_books = new Keen.Query('count', { event_collection: 'page-view', timeframe: "this_2_months", group_by: 'book_id' });
这将返回一个回复,显示您在每本书上有多少页面浏览量!
发布于 2016-09-08 15:40:08
输入输出中的数据模型将有4个事件集合:
在每个事件上,您将有一个关于事件、用户、页面、书籍和任何其他相关上下文的数据层次结构。没有一个单独的概念,以“识别”用户在敏锐的IO -你将描述用户和你所知道的所有关于他们在事件的时间点。
例如,对于车辆启动事件,您可能拥有:
vehicle-start-event = {
company: "Airbnb",
department: "Z5",
vehicle : {
name: "Blue Falcon",
id: "8d2fe5",
},
user: {
name: "Lara Croft",
id: "923hniansd909niowoasdl"
}
}对于登录事件,您将拥有:
login-event = {
company: "Airbnb",
department: "Z5",
user: {
name: "Lara Croft",
id: "923hniansd909niowoasdl"
}
}你问:“我们怎么才能确定”页面查看“事件是哪本书的呢?”
答案是在页面浏览发生时,就在事件中存储相关的书籍。每当您在页面视图上运行查询时,您就会在事件中获得图书名。
pageview-event = {
company: "Airbnb",
department: "Z5",
user: {
name: "Lara Croft",
id: "923hniansd909niowoasdl"
},
book: {
name: "Where the Wild Things Are",
id: "293as0d90fjw3"
},
page: {
title: "Wild Thing",
number: 4
}
}然后,您可以执行一个查询,如count "pageviews“,以按图书查看所有的页面视图,或者统计特定用户或页面的页面浏览量,并逐本查看它们属于哪一本书。
https://keen.io/blog/44565580467/event-data-vs-entity-data-how-to-store-user
https://stackoverflow.com/questions/39151675
复制相似问题