如何按时间增量对事件的百分位数进行聚类?

时间:2016-07-19 15:38:22

标签: influxdb

在t0发送邮件后,我会有几个"已发送" (以及打开并单击)事件(架构和示例)

mailing_name, timestamp, email_id, event_type
niceattack, 2016-07-14 12:11:00, 42, open
niceattack, 2016-07-14 12:11:08, 842, open
niceattack, 2016-07-14 12:11:34, 847, open

我希望看到邮件传递给一半收件人需要多长时间。所以说我现在发送一个电子邮件到1000个地址,第一个打开的事件是2分钟,最后一个是在一周内(最小/最大的最后一个似乎很容易找到)但是我希望看到的是,有一半的收件人在发送后的前2个小时内打开了它。

我们的目标是发送能够进行比较现在发送与坐在早上对平均开放速度有多大差异,或者如果某个特定邮件得到更快的曝光,并将其与其他事件相关联(点击链接多少次,在我们的网站上采取特定行动......)

我尝试使用累积功能(每个点有多少个开放事件用于邮寄),但似乎累积功能尚未实现https://github.com/influxdata/influxdb/issues/813

你如何用Influxdb解决这个问题?

1 个答案:

答案 0 :(得分:0)

目前无法单独使用InfluxDB解决此问题,但是如果您愿意将Kapacitor添加到混合中,则应该可以。特别是您需要在Kapacitor中为该累积函数编写用户定义函数(UDF)。

一般过程如下所示:

  1. 安装和配置Kapacitor

  2. 为您正在寻找的累积功能创建UDF

  3. 在Kapacitor中启用UDF

  4. 编写一个使用UDF的TICKscript并将结果写回InfluxDB

  5. 启用由您撰写的TICKscript定义的任务

  6. 查询InfluxDB实例以获取累积函数的结果。

  7. 我对这个问题的高度评价。这是一个相当复杂的过程,但应该为您提供您正在寻找的结果。