データパイプライン「Fivetran」とクラウド型データウェアハウス「Snowflake」でYouTubeチャンネルの分析環境をサクッと構築する

自分の声を動画で聞くと鳥肌が立つのですが、克服する良い方法は無いでしょうか?(大阪府在住・20代女性)
2021.01.20

こんにちは、ソリューション部・新納(にいの)です。

弊社にはYouTubeチャンネルがあり、動画でも情報発信を行っています。

このような施策の効果測定にも再生回数などのデータは欠かせません。YouTube Studioアナリティクスでレポートを確認することもできますが、データを加工したり自社が保有するBIツールで可視化する必要があれば、生データをデータベース内に蓄積させておきたいですよね。今回はデータパイプラインサービスであるFivetranとクラウド型データウェアハウスのSnowflakeを組み合わせて素早くYouTubeコンテンツの分析環境を作ってみました。

前提条件

今回構成した環境の全体図は以下の通り。

  • データパイプラインツール「Fivetran」でYouTubeのデータをデータウェアハウス「Snowflake」に連携する
    • Fivetranは連携先データベースを設定済みの前提
  • TableauでSnowflake上のデータにアクセスし、可視化・ダッシュボード作成する

YouTubeのデータを取得する場合YouTube Reporting APIを利用する必要がありますが、Fivetranを使用すればGUIベースで設定するだけで簡単にデータウェアハウスに連携できます。プログラムを書くことができなくても、データ分析の担当者自身がデータ連携を管理できるという優れものです。

FivetranでYouTubeコネクタを作成する

まずはYouTubeのデータをSnowflakeに連携させるための設定をします。Fivetranって何?という方は以下エントリをご参照ください。

Fivetranにログインしたら「Connectors」メニューから「+Connector」からコネクタ追加します。

検索ウィンドウからYouTubeのコネクタを選択します。

Destination SchemaとDestination Tableに任意の値を入れます。後から変更できない値なのでご注意ください。個人的にはテーブル名はReport Typeを入れたほうがわかりやすかったな…とめちゃくちゃ後悔しました。(channel_basicとか)

「AUTHORIZE」ボタンから認証プロセスを開始します。分析したいYouTubeアカウントと紐づいてるGoogleアカウントを選択します。

FivetranにGoogleアカウントへのアクセスを許可します。

元のFivetranの画面に戻り、取得したいデータに応じでReport Typeを選択します。どのReport Typeを選べばいいのかは以下ドキュメントをご参照ください。

接続テストをして成功すると作成したコネクタの詳細画面に進めます。「Start Initial Sync」から初回同期を開始します。同期が完了すると[Sync Complete]というメールが通知されます。

定期的にデータ連携を行いたい場合は、Setupタブから同期の頻度や通知、再連携などの設定が可能です。定期実行が不要な場合は右上の「Enabled」のトグルボタンをオフにしておきましょう。

Snowflakeへのデータ投入を確認する

連携先のデータベース(今回はSnowflake)には、Fivetranで設定したDestination ShemaとTable名でデータ連携されていることが確認できます。

本来であれば、APIの仕様について調査をして、取得できたデータを分析しやすいようにパースして、連携先のテーブルの仕様を考え、テーブルやスキーマを作って…というステップを踏むことになるかと思います。これがFivetranを使うことでGUIベースでデータパイプラインを作成し、いい感じにテーブルやスキーマを作ってくれて、いい感じにデータを格納してくれるようになりました。ありがたい…

また、SnowflakeはWarehouseと呼ばれるコンピュートリソースのサイズを大きくすることでデータロードの時間を簡単に短縮可能です。待てど暮らせどFivetranからのデータ連携が完了しないときはWarehouseのサイズを見直してみるのもひとつの手となるでしょう。

ダッシュボードをTableauで作成する

せっかくなのでBIツール(Tableau)を使ってSnowflakeと連携し、サンプルでダッシュボードを作成してみました。Tableau Server/Onlineと組み合わせて利用することで、Fivetranにより定期的にアップデートされる最新のデータ内容でワークブックを確認できるようになります。

今回作成したダッシュボードは以下の通りです。

国ごとのビュー数

クラスメソッドのYouTubeチャンネルは日本語のコンテンツが多いのですが、日本以外からの視聴されているケースもあるようです。

トラフィックソースTOP10

Classmethodドメインからのトラフィックもなかなか多いですね。クラスメソッド社員の皆さんにおかれましては、動画を作成したらそれを紹介するブログもあわせて書いた方がよさそうです。

再生回数と視聴率

再生回数上位10件の動画と視聴率を二軸あわせてグラフにしてみました。同じ動画でもライブセッションだと視聴率が高いですね。なお、一番視聴率が良かった動画は以下ブログで音声調整について紹介するために埋め込まれている30秒程度の動画でした。どれくらいの長さの動画が視聴率が高いのかさらに分析して、今後の動画作りの参考にするのも面白そうです。(余談ですがブログ著者本人に伝えたところ、「イエーイハピハピ♪」とのコメントをもらいました)

期間ごとの再生回数

とびぬけて再生回数の多かった2020/12/18は、re:Invent 2020を振り返るイベント、re:Growthのライブ配信の日でした。かなり注目度の高いイベントで、多くの方にご参加いただきました。

まとめ

Fivetran・Snowflake・Tableauで手早くYouTubeの分析環境を作成してみました。簡単にデータ連携の設定が可能なFivetranと、コストをかければコンピュートリソースが簡単にスケールするSnowflakeの組み合わせは、「とにかく爆速でデータ分析環境を作りたい!」というケースに強力にマッチしますね。

特にFivetranを使用することでIT部門ではなく、可視化を実施する担当者自身がデータパイプラインも管理可能になります。自身が使うデータの連携状況をサクッと確認できると分析業務がスムーズに行えるのではないでしょうか。