网站运营小哥“过冬”利器 -- 通过 API 实现网站关键指标的邮件订阅

本文作者:德措吉

网站运营工程师 Kevin 负责管理公司网站的用户运营状况,网站的活跃用户数、用户访问量等关键指标对网站运营管理非常关键。通过浏览 Kyligence Zen 的指标目录,运营工程师 Kevin 可以随时浏览关注的指标数据;但是 Kevin 希望能每天定时收到指标的数据变化情况。

本文中我们来看一下,通过使用基于 SaaS 的指标平台 Kyligence Zen 提供的 API,Kevin 如何对用户活跃度关键指标进行订阅和预警,实现对指标数据的持续关注。

文中所分析的场景已经上线 Kyligence Zen 指标集市,您可以点击访问电商PV和UV日环比分析指标,一键复现文中的场景,无需下载或安装任何程序。

指标订阅

Kyligence Zen 提供灵活的 API 功能,可以供用户进行二次开发,实现用户对关键指标的订阅功能。下图是用户调用 Kyligence Zen API 查询指标的主要流程;我们跟着运营小哥 Kevin 一起来看看他是如何实现指标订阅的吧!

Kyligence Zen API 调用流程

首先,Kevin 浏览指标目录,找到需要关注的几个关键指标

活跃用户数 / 用户浏览量 / 页面浏览量以及日环比

 其次,在 Kyligence Zen 界面上选取指标,复制调用的 API cURL 的示例代码;并且在 Kyligence Zen 创建调用 API 所需要的 Key:

选取指标复制 cURL 代码

创建调用 API 所需要的 Key

在 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 每天都会定时收到包含网站运营关键指标数据的邮件:

指标订阅邮件示例图

指标预警

活跃用户数、用户浏览量和页面浏览量是运营人员非常关注的几个核心指标,但是仅仅定时收到指标数值报告还不够。通过设置指标阈值,当满足预先设置好的阈值后,可以触发告警通知;运营人员通过邮件接收到通知后,就可以开始对活跃数据进行实时监测。通过在最短的时间内调整运营策略,提升运营效率。

下一步,Kevin 可以创建周期性计划任务,每隔一小时执行一次 API 调用。根据指标与预先定义的阈值进行对比,如果出现超出阈值的情况,及时向运营工程师发送预警邮件,提醒运营工程师进行相关的运营策略调整。

即刻体验 Kyligence Zen

通过上述过程的演示,我们看到了使用 Kyligence Zen 进行用户活跃度指标订阅和指标预警的过程。

文中所分析的场景已经上线 Kyligence Zen 指标集市,您可以点击访问电商PV和UV日环比分析指标,一键复现文中的场景,无需下载或安装任何程序。

您也可以留言联系我们,获取有关如何通过代码实现邮件订阅的 python 代码示例。

注1:该数据集来自 Kaggle ,作者是 Michael Kechinov,文章中使用的数据在原数据集的基础上做了部分列的调整。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值