本文作者:德措吉
网站运营工程师 Kevin 负责管理公司网站的用户运营状况,网站的活跃用户数、用户访问量等关键指标对网站运营管理非常关键。通过浏览 Kyligence Zen 的指标目录,运营工程师 Kevin 可以随时浏览关注的指标数据;但是 Kevin 希望能每天定时收到指标的数据变化情况。
本文中我们来看一下,通过使用基于 SaaS 的指标平台 Kyligence Zen 提供的 API,Kevin 如何对用户活跃度关键指标进行订阅和预警,实现对指标数据的持续关注。
文中所分析的场景已经上线 Kyligence Zen 指标集市,您可以点击访问电商PV和UV日环比分析指标,一键复现文中的场景,无需下载或安装任何程序。
指标订阅
Kyligence Zen 提供灵活的 API 功能,可以供用户进行二次开发,实现用户对关键指标的订阅功能。下图是用户调用 Kyligence Zen API 查询指标的主要流程;我们跟着运营小哥 Kevin 一起来看看他是如何实现指标订阅的吧!
![](https://i-blog.csdnimg.cn/blog_migrate/8e5d6b576b7c764021a0969e302d4e62.png)
首先,Kevin 浏览指标目录,找到需要关注的几个关键指标
![](https://i-blog.csdnimg.cn/blog_migrate/c0eeb92299c1126b778b49ab6f4215be.png)
其次,在 Kyligence Zen 界面上选取指标,复制调用的 API cURL 的示例代码;并且在 Kyligence Zen 创建调用 API 所需要的 Key:
![](https://i-blog.csdnimg.cn/blog_migrate/83621b5e5b7ed4e11010122794f7995d.png)
![](https://i-blog.csdnimg.cn/blog_migrate/137bdbd4cb28d6c514794fa7a941984d.png)
在 cURL 代码中,在 HTTP 请求的 head 部分加入创建的 API Key:
curl -X POST https://zen-cn.kyligence.io/insight/api/v1/metrics/query \
-H 'Content-Type: application/json;charset=utf-8' \
-H 'Authorization: Apikey xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' \
-d '{
"metrics": [
"PV - E-Commerce"
],
"dimensions": [
"event_date",
"event_type"
],
"filters": [],
"orders": []
}'
然后,Kevin 把自己的邮件地址加入订阅指标的邮件列表;通过运行下面的 Python 代码调用 API,就可以收到订阅指标数据的邮件
通过调用 API 获取指标结果,并通过邮件发送的示例代码如下,其中我们可以看到"Active Users - E-Commerce",这就是对于 Keven 所关注的活跃用户数关键指标;
#! /usr/bin/python3
# -*- coding: UTF-8 -*-
...
class TestMail(object):
def __init__(self):
...
self.headers = {
'Content-Type': 'application/json;charset=utf-8',
'Authorization': 'Apikey xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx',
}
def send_mail(self, mail_content):
...
def callZenAPI(self, payload):
json_data = json.dumps(payload)
response = requests.post('https://zen-cn.kyligence.io/insight/api/v1/metrics/query', headers=self.headers,
data=json_data)
api_data = json.loads(response.content)
return api_data
def convertToHtml(self,ks, vs):
...
def getAPIResult(self,mname,api_data):
...
if __name__ == "__main__":
send = TestMail()
#Metrics List
metricsArray = [
{
"metrics": [
"Active Users - E-Commerce"
],
"dimensions": [
"event_date"
],
"filters": [{
"operator": "IN",
"member": "event_date",
"values": ["2020-12-31"]
}],
"orders": []
}
#...
]
...
for m in metricsArray:
mname = m['metrics'][0]
title.append(mname)
api_data = send.callZenAPI(m)
mresult = send.getAPIResult(mname, api_data)
result.append(mresult)
mail_content = "<p><h1>2020年12月27日 网站运营指标:</h></p>" + send.convertToHtml(title, result)
send.send_mail(mail_content)
这样,运营工程师 Kevin 每天都会定时收到包含网站运营关键指标数据的邮件:
![](https://i-blog.csdnimg.cn/blog_migrate/b98f30c151f1339fc31560b668ef0224.png)
指标预警
活跃用户数、用户浏览量和页面浏览量是运营人员非常关注的几个核心指标,但是仅仅定时收到指标数值报告还不够。通过设置指标阈值,当满足预先设置好的阈值后,可以触发告警通知;运营人员通过邮件接收到通知后,就可以开始对活跃数据进行实时监测。通过在最短的时间内调整运营策略,提升运营效率。
下一步,Kevin 可以创建周期性计划任务,每隔一小时执行一次 API 调用。根据指标与预先定义的阈值进行对比,如果出现超出阈值的情况,及时向运营工程师发送预警邮件,提醒运营工程师进行相关的运营策略调整。
即刻体验 Kyligence Zen
通过上述过程的演示,我们看到了使用 Kyligence Zen 进行用户活跃度指标订阅和指标预警的过程。
文中所分析的场景已经上线 Kyligence Zen 指标集市,您可以点击访问电商PV和UV日环比分析指标,一键复现文中的场景,无需下载或安装任何程序。
您也可以留言联系我们,获取有关如何通过代码实现邮件订阅的 python 代码示例。
注1:该数据集来自 Kaggle ,作者是 Michael Kechinov,文章中使用的数据在原数据集的基础上做了部分列的调整。