組織文化に根ざしたデータ活用の取り組み2020.07.15
View Slide
©2020 Voicy, Inc.自己紹介 三上悟 (@saicologic)開発部 リーダー&エンジニアリングマネージャー2020年1月に株式会社Voicyに入社エンジニア組織力の最大化とデータ民主化を推進前職でB2BSaaSモデルのアンケート分析システムの設計・開発・運用をしていたのでデータマネージメントが得意SES、受託開発、スタートアップを転々としてきたバックエンド側のエンジニアです。
国内最大級の音声プラットフォーム ※「ボイスメディア」はVoicyの登録商標です。 Voicyとは?3声で届けるから、コミュニティへ 熱量と一緒に伝わる
あらゆる生活シーンに「音声」が届く 4
©2020 Voicy, Inc.Voicy Web 5Voicy Recorder Smart Speaker
©2020 Voicy, Inc.アジェンダ・はじめに、組織、課題・課題の解決策・SQL塾という学びの場の提供・塾生がつまずいたところ・全社フルリモートでもSQL塾を継続する方法・評価(称賛文化)・今後
©2020 Voicy, Inc.・全社員 約30人の自社サービス開発の会社です・データ基盤はある程度構築済み (S3=>Embulk=>BigQuery=>Metabase)・2020年1月時点ではエンジニア以外はSQL書かかない・2020年7月時点でエンジニア以外の数名が書いてダッシュボードが作れる組織規模がまだ小さい自社サービス開発企業でのデータ民主化を推進する事例です。はじめに事例内容について
©2020 Voicy, Inc.Frontend組織開発部iOSAndroidWebBackendBizPdMDesigner社長2020年1月時点※ 説明用にかなり省略していますデータ扱える人・2020年01月(全社員 約20人) エンジニアマネージャー 1人が兼任 バックエンド1人が兼任 インターン 1人 週2・2020年07月(全社員 約30人) +データ専任1人 +塾生数名依頼私
©2020 Voicy, Inc.課題組織の課題・簡単なSQLの分析もエンジニアが対応しているため、 メインのプロダクト開発速度が落ちている・依頼してから結果がでるまでに時間がかかる現場の課題・自分で分析したいのだが、SQLの文法がよくわからないのでいつまでたってもお願いするしかない。
©2020 Voicy, Inc.SQL塾という学びの場の提供参加者のゴール・エンジニアに依頼しなくても自ら欲しいデータを取得し、 分析やダッシュボードが作成できること塾長はデータ分析レポート抽出をしていたバックエンドエンジニア自分は生徒として参加
©2020 Voicy, Inc.
©2020 Voicy, Inc.社長とエンジニア以外全員塾長は3時間拘束されるので、3グループが限界
©2020 Voicy, Inc.よくある失敗例- 「SQLの勉強したくて本を買って勉強しているんです〜」- 「SQLの経験 : Progateやりきりました」- 「SQLドリルに挑戦!」これは身につきません!!!!
©2020 Voicy, Inc.データ分析に必要な5つの力(データ分析サイクル)観察分析- 観察分析- データの傾向を見る力- 仮説- データ法則の仮の答えを作る力- 実行- SQL、スプレッドシート等を実行する力- 実行検証- 実行結果が正しいか見る力- 仮説検証- 仮説が正しいか見る力仮説実行実行検証仮説検証目的
©2020 Voicy, Inc.SQL塾の授業アジェンダ前半30分- SQL基礎理解- 宿題の復習をVoicyのデータで行います!後半30分- 仮説作成と検証- 自分で仮説をたてて、それを SQLで確かめてみます!
©2020 Voicy, Inc.仮説作成と検証のルールルール- 習ったデータとSQLを中心に使ってみよう!- 他のSQLのカンニングはOK!!- 簡単なもの、大歓迎!自分で考え抜いてアウトプットしてね- こういうデータの取り方はできますか?などは先生に聞いてね時間設定- 20分で課題の設定をして、結果を出力しましょう。- 残り10分で「仮説」と「結果の考察」を発表してください
©2020 Voicy, Inc.シラバス
©2020 Voicy, Inc.資料を用意する・Metabaseの使い方ドキュメント・Metabaseのコレクションに「SQL塾」を用意する
©2020 Voicy, Inc.サンドボックス
©2020 Voicy, Inc.進め方・分析対象のテーブルとカラムの説明。各回ごとに1つのテーブルを対象・ハンズオン例 ・2月の再生ログデータを取得しよう(whereなし、ワイルドカードテーブル) ・2月29日の再生ログの「放送タイトル」と「プラットフォーム」を取得しよう(select/where) ・2月29日に再生されたデータを10件、日付が新しい順番に取ってこよう(order by)
©2020 Voicy, Inc.サポート:Slack・slack上で「pjt_sql_school」を作りわからないことがあれば相談できる場を用意する
©2020 Voicy, Inc.サポート:SQL知恵袋
©2020 Voicy, Inc.エキスパートコース開講
©2020 Voicy, Inc.エキスパートコースの実際の参加者・プロダクトマネージャー・デザイナー・社外にレポートを提出しているBizチーム
©2020 Voicy, Inc.塾生がつまずいたところ
©2020 Voicy, Inc.塾生がつまずいたところ日付だけに絞った補講をおこないました。下記の条件などをさくっと抽出できる練習をする・2020年01月01日以降に作成されたデータ・2020年01月01日から2020年01月31日に作成されたデータ・今日以降に作成されたデータ・直近90日に作成されたデータ日付!!!!
©2020 Voicy, Inc.塾生がつまずいたところSQL知恵袋に記載しておくBigQueryのドキュメント丸投げではなく、抽出したいテーブルのカラムでよく利用するところを丁寧に記載しておく
©2020 Voicy, Inc.塾生がつまづいたところ①BigQueryのテーブルサフィックスも詳しくデータ量が多いログ系のテーブルは、日付ごとにテーブルが分かれている(日付のパーティショニングテーブル)→1つのテーブルにしてしまうと、データ量が多く、select文などで処理をする際に重くなってしまうため(下記図参照)日付ごとのテーブルになっているため、複数のテーブルを参照する際に工夫が必要→その際に使用するのが、where句で使用できる「_TABLE_SUFFIX」
©2020 Voicy, Inc.塾生がつまづいたところ②エキスパートコースでもほとんどよくわからん状態丁寧な説明資料を用意・まずは実際に使っているSQLを見て、どのように計算しているかを説明する・その後、Window関数の一般的な話をする・sum/avg/max/min/count/row_number/rank/first_value・行の指定(unbounded preceding)など・実際に自分でSQLを書くウィンドウ関数
©2020 Voicy, Inc.全社フルリモートでもSQL塾を継続する方法・出社したときと変わらず週1開催・Google Meetsで実施。画面共有を使いながら話す・わからないことはSlackでサポート特にオフライン変わらず
©2020 Voicy, Inc.塾生の活躍1日1SQLを目標にしてほぼ毎日なにかしらのSQLを書く人がでてきた(プロダクトマネージャー)例:・refererの各ドメインごとのUUID数・refererの各ドメインごと、各プラットフォームごとのUUID数・ドメイン、プラットフォームごとのM月のトータル再生時間(単位:時間)・M年N月のパーソナリティごとの総再生時間(単位:時間)・M年N月の時間ごとの視聴時間数40本くらい
©2020 Voicy, Inc.評価(称賛文化)すると良いのか・SQL塾を主催したメンバーは、会社の中でValueを出した人として称賛・塾生が調査した分析結果を月次報告会で発表・塾生が作成したダッシュボードで活用する
©2020 Voicy, Inc.今後・組織として新しくデータチームをつくる・塾長はバックエンドチームから離れてデータエンジニアリング専任へ・より深い分析はデータアナリストがおこなう・現場レベルで知りたい情報は塾生がおこなう
今日を彩るボイスメディア