收集Segment.io中的分层事件(通过Keen.io表示)

时间:2016-08-25 17:45:13

标签: java events keen-io segment-io

我正在使用Segment.io JAVA SDK从我的应用程序中收集事件,并使用Keen.io在视觉上表示相同的事件。我有一个分层事件结构如下,

  • 公司
      • 用户(登录,退出)
        • 预订(开放,关闭)
          • 页面(查看,下一个,上一个)
        • 车辆(开始,开车,停车)

因此,在收集段中的数据时,我们是否应该发送所有事件中的所有属性以便稍后进行分析(在keen.io或任何其他工具中),如下所示,

识别用户并跟踪

  

登录:company-id,dept-id,timestamp

     

book-open:company-id,dept-id,timestamp,book-id,book-name

     

page-view:company-id,dept-id,timestamp,book-id,book-name,page-id

     

vehicle-start:company-id,dept-id,timestamp,vehicle-id,vehicle-name

我们应该只识别用户,并通过发送相关属性来跟踪事件

  

登录:company-id,dept-id,timestamp

     

book-open:timestamp,book-id,book-name

     

page-view:timestamp,page-id

     

车辆启动:时间戳,车辆ID,车辆名称

在第二种情况下,我们如何识别"页面视图"事件是哪本书?

非常感谢任何帮助。

由于

2 个答案:

答案 0 :(得分:1)

我肯定会建议在Keen活动中发送所有数据。您发送的数据越丰富,您将来可以进行的查询就越丰富。

要回答您的具体问题,如果您发送page-view事件的图书ID,则可以执行以下查询:

var popular_books = new Keen.Query('count', { event_collection: 'page-view', timeframe: "this_2_months", group_by: 'book_id' });

这将返回一个回复,显示每本书上有多少页面浏览量!

答案 1 :(得分:1)

Keen IO中的数据模型将包含4个事件集合:

  1. 登录
  2. 书开
  3. 页面查看
  4. 车辆起动
  5. 在每个事件中,您将拥有关于事件,用户,页面,书籍和任何其他相关上下文的数据层次结构。在Keen 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
        }
    }
    

    然后,您可以执行查询,例如计算“按书籍分组的综合浏览量”,按书籍查看所有综合浏览量,或计算特定用户或页面的综合浏览量以及按书分组,以查看他们所属的书籍。

    https://keen.io/blog/44565580467/event-data-vs-entity-data-how-to-store-user