Youtube Analytics API 教学 - 流量怎麽越来越差 'day' 维度

「鲑鱼均,因为一场鲑鱼之乱被主管称为鲑鱼世代,广义来说以年龄和脸蛋分类的话这应该算是一种 KNN 的机器学习,不正经的数据分析师,毕业後把人生暂停了半年,在 Google 和 AWS 办过几场演讲,缓下脚步的同时找了份跨领域工作。偶而慢跑、爱跟小动物玩耍。曾立过很多志,最近是希望当一个有细节的人。」


Youtube Analytics API 教学 - 流量怎麽越来越差 'day' 维度

Youtube Analytics API 能找到的资料非常少,尤其在中文语系中更甚,相较於 Data API 的自由性,Analytics 的隐私注重较高设定也更为复杂,今天以影片资讯说明,抓取你在创作者工作室 Youtube Studio 中的资讯,他需要具有高度的验证与安全性,但也同时给予了影音串流和数位行销的工作者,有了更加多元的资料运用方式,更灵活的追踪每 Youtube 影片的影片资讯。这篇是 Python - 数位行销的 Youtube 分析教学系列文章的第 20 篇,也是我参加 2021 iThome 铁人赛中系列文章的第 20 天。另外因为 Youtube Analytics API 牵涉到私人资讯,所以我就直接拿我没什麽在经营的个人帐号来 demo 测试。

系列文章:Python — 数位行销分析与 Youtube API 教学
昨日回顾:Youtube Analytics API 教学 - 基本架构 reports.query

基本维度:Date 以日期切分

什麽时候 (When)、你是谁(Who),你要抓什麽资料 (What),这些方法是我们使用 Analytics API 的主要方法,藉由 startDate 开始的时间和 endDate 结束时间来确定你要设定的时间区间,完成 ids 的设定提供资讯,接下来就是维度 (Dimension) 和指标 (metrics),这也是今天所讲解的主题重点,当我们将 dimensions= 'day' 维度设定为天的时候,可以怎麽去做使用和追踪。

  • 依照日期 (Date) 来显示频道资讯
    dimensions= 'day' 对应到的 Youtube Studio 资讯即是 Date,当我们在 Youtube Studio 的後台资料抓取资料时,所使用的就会是这个功能

dimensions

  • 你的指标设定 (Metrics)
    在 Youtube Studio 後台中点选 + 的符号後,我们能够看到我们有许多能够抓取的参数选项,可以根据自己的需求来设定想要什麽指标资料,举例来说我平常会需要知道流量表现,这部影片有多少人观看,我就能抓取观看次数 (view) 的资讯,也可以再选择观看的时间长度 (Watch time hours)

Metrics

流量表现追踪

  • 流量表现追踪
    在 dimensions= 'day' ,维度设定为天的时候,我可以用以下的设定方法抓取观看次数 (view) 的资讯,和时间长度 (Watch time hours)
def main():
    request = youtube_analytics.reports().query(
        startDate='2021-09-01', 
        endDate='2021-09-05',
        ids='channel==UCyRTbF-WQcgW9XV-B_kPpug',
        dimensions= 'day', 
        metrics= 'views,averageViewDuration',
    )
    response = request.execute()
    print(response)

if __name__ == "__main__":
    main()

day

  • 同时用以下资料做个对照
    9 月 1 号的观看次数(view) 是 2次,观看平均时长是 (averageViewDuration) 1分24秒,换算秒数为 84 秒,与预期中符合,其他资讯也都跟预期中符合,资料验证正确。

averageViewDuration

频道历史资讯中流量最高的日期

  • 搭配 sort 找出最大值
    刚才说明了 metrics 的使用後,这次加大抓取的资料内容,涵盖了观看次数(views) 、观看时长(estimatedMinutesWatched), 留言数 (comments), 喜欢数(likes), 不喜欢数(dislikes),并且使用一个新的,叫做 sort 的方法,按照观看次数(views) 降幂排列,使用的方法就是 sort="-views" ,负号代表的即是降幂方法,同理没有加上负号即是升幂排列。
def main():
    request = youtube_analytics.reports().query(
        startDate='2016-09-23', 
        endDate='2021-09-29',
        maxResults = 3,
        dimensions= 'day', 
        metrics= 'views,estimatedMinutesWatched,comments,likes,dislikes', 
        ids='channel==UCyRTbF-WQcgW9XV-B_kPpug',
        sort="-views"
    )
    response = request.execute()
    print(response)

if __name__ == "__main__":
    main()

code

  • 我们跟帐户中的资料比对
    全部列出来可能会太乱,所以在 maxResults 设定为 3,代表只取观看次数降幂後前三名的日期,得到的结果为 2019-05-24 单天的观看次数 280 次为最多,其次为 2019-05-13 的 231 次观看,而最後则是 2019-05-23 的 200次观看,与帐户中资料比对正确。
    ['2019-05-24', 280, 1400, 0, 1, 0],
    ['2019-05-13', 231, 1152, 0, 0, 0],
    ['2019-05-23', 200, 1007, 0, 0, 0]

maxResults

今天说明了 Date 以日期切分的方式抓取资料

什麽时候 (When)、你是谁(Who),你要抓什麽资料 (What),这些是我们使用 Analytics API 的主要方法,Date 则是决定了维度应该怎麽藉由天的方式呈现,有时间欢迎看看夥伴们的文章:

lu23770127 — SASS 基础初学三十天
10u1 — 糟了!是世界奇观!
juck30808 — Python — 数位行销分析与 Youtube API 教学
HLD — 浅谈物件导向与Design Pattern介绍
SiQing47 — 前端?後端?你早晚都要全端的,何不从现在开始?

Jerry Chien

【鲑鱼均】 现职是 200 多万订阅 Youtuber 的数据分析师,专长在 Python 的开发与使用,大学虽然是资讯背景但总是斜杠跑到商管行销领域,以工作角度来说的话,待过 FMCG、通讯软件、社群影音产业,也算是个数位行销体系出生的资讯人。这 30 天铁人挑战赛会从数位行销角度去重新切入数据分析这件事情,期待这个社会中,每个人能在各个角力间不断冲突而渐能找到一个平衡点回归最初的统计建立最终的初心。

下一篇:Youtube Analytics API 教学 - 年轻人取暖小窝 'ageGroup' 维度


<<:  [ Day 20 ] 路由管理 - React Router 1/2

>>:  Day 20 K-近邻演算法(KNN)

Day23 React 共享的State(一) Context

元件不只能从父元件接收传下来的props资料,React提供的Context API,利用Conte...

【DAY 7】看起来亲民却又感觉很遥远的SharePoint 到底在分享什麽?

哈罗大家好 ~ 欢迎跟我一起继续探索 Microsoft 365 的应用,探索提升生产力的各种撇步。...

勒瑰恩谈写作 (1) 文法与句子

开新地图了!之前花了 12 天把【如何衡量万事万物】读完,最後几天的摘要比较简略(汗) 接下来是【S...

Day16 - 铁人付外挂前置作业 (ㄧ) - 串接文件

不管是哪一家软件公司或是金物流厂商,只要他们有提供 API 介面来服务外部网站,通常一定会有串接文件...

#19. 3D Background Boxes

这次的任务是透过伪元素来打造立体盒子,同时利用background position属性来做出方块组...