iT邦幫忙

2021 iThome 鐵人賽

DAY 20
2

「鮭魚均,因為一場鮭魚之亂被主管稱為鮭魚世代,廣義來說以年齡和臉蛋分類的話這應該算是一種 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' 維度


上一篇
Youtube Analytics API 教學 - 基本架構 reports.query
下一篇
Youtube Analytics API 教學 - 年輕人取暖小窩 'ageGroup' 維度
系列文
Python - 數位行銷分析與 Youtube API 教學30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
0
lw90967
iT邦新手 5 級 ‧ 2021-10-08 11:51:13

推推

0
juck30808
iT邦研究生 1 級 ‧ 2021-10-14 11:23:51

--- 10/14完賽前重新更新錯字與圖片 ---

我要留言

立即登入留言