はじめに
毎日記事の投稿することを目指していますが、現在学習中のReactでは今日はUdemyを少し見ただけであまり進展がないので、今日はYouTubeについて記事を書きます。
この記事は誰向け?
YouTubeに特に詳しくないが、動画の企画や構成のためにYouTubeAPIからデータを取得して分析してくれと急に上司に頼まれたデータエンジニア・アナリスト
YouTube Data APIへの興味を持ったエンジニア・ビジネスパーソン
この記事でわかること
動画のプロが何の指標を見て、動画の企画や構成にデータを活かしているのかわかるので余計な指標を取得・分析する必要がなくなる
想定シチュエーション
競合チャンネルの分析や市場分析など、他者・他社の動画データを分析して何らかの示唆を得たい時
動画分析系の指標しかとりあげないので、YouTube Data APIでできる動画アップロードや字幕の分析、自分のチャンネルの分析をするYouTube Analytics APIなどは今回はとりあげません。もっと体系だってそのうち記事にします!
私は誰?
学生時代からテレビ局でアルバイトを始めて、映像の世界に入り、30手前でweb動画の世界へ。web動画の会社でプロデューサーとして大手のメディアのSNSやYouTubeの動画施策を担当し、2年前から個人事業主として企業の動画マーケ支援とグルメ系YouTubeチャンネル(登録者20万人くらい)を運営中。データ分析から動画の企画や中身を考え、事業計画を引くのが得意です。共著で本も出してます。
※大半は主著者が書いていて、私はちょっとしか書いてません!
YouTubeのデータについて
DataAPIにはむちゃくちゃいろんなリソースがあり、データ取得のAPIとしては標準的なものだと思いますが、YouTubeに慣れていないと何のデータをとればいいのか分かりません。ついつい無駄なデータをとることがない様に、この記事を書いています。
まずお伝えしたいのは、YouTubeDataAPIでとれる競合のデータには限りがあり、むちゃくちゃ重要な一番大事なデータがとれません。ただ、このデータは自分のチャンネル以外はそもそもYouTube上でも公開されていないので、仕方ないのですが、YouTuberにとってももっとも重要な数値、総再生時間 は分かりません。ある程度YouTubeやっている人ならみんな知っていますが、(意味ないとはいわないけど)登録者数も、視聴数も、いいね数も、分析上の意味はあるのですが、一番知りたいこの数字が見れないのかーと気づきます。なので前もって言っておきます。総再生時間 は分かりません。
(SaaSでいうところの、売上も契約数もわかるけど、LTVのデータがとれない!みたいな感じでしょうか)
YouTube Data APIで参照すべきリソースとプロパティ
では本題に入ります。上司に無茶振りされてデータをとることになったら(or個人でYouTubeのデータをとりたくなったら)とりあえずこのリソースとプロパティからデータをとってみてください。
競合チャンネルの分析などをする場合には特に重要なのは channels リソースと videos リソースです。
channels リソース
競合チャンネルの基本的な統計情報を取得することができます。
viewCount(総視聴回数):
チャンネル内のすべての動画が合計で何回視聴されたかを示します。みんなおなじみのチャンネルの合計視聴数ですね。累計視聴数もいいですが、デイリーや週次でデータを取得して、差分を見て、今勢いのあるチャンネルを見分けることができます。
subscriberCount(チャンネル登録者数):
チャンネルに登録しているユーザーの数。登録者数の増加数を定点観測する用。ベンチマークしているチャンネルの登録者数が投稿した本数に対してどれぐらい登録者数が増えているか、などに使っています。
videoCount(総動画数):
チャンネル内にアップロードされている動画の総数。動画の数は、コンテンツの豊富さや活動頻度を示す指標として役立ちます。
いきなり、Videosリソースから書くと唐突なので、channelsリソースから書いていますが、動画の企画・構成観点からすると、channelsリソースのデータよりvideosリソースのデータの方が重要です。一方で、マーケターがどのインフルエンサーを起用しようか?と考えるときにはchannelsリソースのデータは重要なデータになってきます。
videos リソース
各動画に関する詳細な情報を取得することができます。私は特にこれ使っています。
video_id:
YouTubeの識別子です。各動画を識別するために使用。
title:
動画のタイトル。どんなタイトルが視聴数が多いのか、などの分析に使えます。
description:
動画の説明文、概要欄。視聴者に追加情報を提供し、動画の内容や関連リンクなどを説明します。改行や絵文字なども入ってくるので適切な処理が必要です。
url:動画の URL。ダッシュボードで可視化したときに、「この動画どんな動画?」と見に行きたくなるので、取得しておいてテーブルで出しましょう。
publishedAt:動画が YouTube に公開された日時。視聴数多くても昔の動画だから分析対象から外したい。などがよくあるので、取得してダッシュボード上でフィルターするのによく使います。
viewCount:動画の総視聴回数です。お馴染みの数値です。総再生時間はとれないので、この指標が全ての基準になります。当然ですが必ず取得しましょう。
likeCount:動画の総「いいね」数。まあ一応とっておきましょう(分析したところで、動画の企画や構成には生きないのですが)
commentCount:動画の総コメント数。ダッシュボードがそれっぽくなるので一応とっておきましょう。(なくてもいい)
duration:動画の再生時間(秒単位)です。ISO 8601 形式の期間を秒に変換した結果を格納しているので適当に変換してください。分、秒単位にしないとダッシュボード上では理解しづらいです。めちゃくちゃ重要です、必ず取得しましょう。
thumbnail:動画のサムネイル画像 URL。サムネイルは視聴に大きな影響を与える上、企画や構成を考える上でも重要なものなので、取得しましょう。URLとっておけばLookerやPowerBIなどのBIツール上で、画像表示できるので、取得しておくべきです。
channel_id:動画がアップロードされたチャンネル識別子です。チャンネル&期間で累計再生数のマトリクスを作る、などの時や、チャンネル登録者数に対する1本あたり視聴数の推移 など、Channelsリソースで取得したデータと関連づけてみることもあるので、とっておきましょう。
終わりに
チャンネル名を取得するプロパティを書きそびれました。チャンネル名とっておかないと可視化するときに不便なので、取得してください。
これらの情報を使って、競合チャンネルのパフォーマンスを詳細に分析し、効果的なコンテンツ戦略を立てることができます。ここまで記事を書いて思ったのですが、私のダッシュボードを先にお見せする→なぜそのデータをとっているのか説明する→参照しているAPIを説明する の順序にしないとあまり意味がないことに気づきました...
時間がなくなってしまったのでこの辺にさせてもらい、後日加筆します!
APIドキュメント