Classi開発者ブログ

教育プラットフォーム「Classi」を開発・運営するClassi株式会社の開発者ブログです。

SQL勉強会を通して痛感したデータ民主化への長い道のり

こんにちは、ClassiデータAI部の石井です。 私は2019年4月にソフトバンクからClassiに出向し、マーケティング部を経て、現在データAI部でデータエンジニアとして分析基盤の構築を担当しています。今回は私が現部署で最初に担当したSQL勉強会についてご紹介します。

背景

2020年春頃から、新型コロナウイルスの影響による休校や教育現場の急激な状況変化に対応するため、Classiサービスの詳細な利用状況把握の必要性が高まっています。 Classiは弊社の強みともいえる膨大な教育データを蓄積していますが、残念なことに全社的には貴重な教育データを活用しきれていないことが課題でした。 2020年夏に全社で行った「データAI部に期待すること」に関するアンケートでも、「基礎的なデータ活用方法を教えてほしい」という回答が多く寄せられました。 この状況をふまえ、データ活用のための知識の底上げを行い、全社的なデータ活用へコミットするべく、オンラインでのSQL勉強会を開催することにしました。

Y:やったこと

ターゲティングと目標設定

顧客のニーズを正しく捉えたプロダクトを継続して提供するためには、カスタマーサクセスとディレクターがデータ分析するスキルを身につけることが必要です。しかし、Classiではデータ活用の程度にばらつきがあり、施策の打ち出しや機能リリースを行っても、データを用いた効果検証ができておらず、その結果、さらなる施策の打ち出し等の際に顧客にデータに基づいた提案ができないという状況でした。 この状況に鑑み、最もデータを活用してもらいたいこの2職種を中心に参加者を募集。参加希望のあったカスタマーサクセス5名、ディレクター9名、セールス1名に対し勉強会を実施しました。 もともとは全社で1週間あたりの分析基盤利用者数が20名に満たない状況でした。まずは利用者数を20名以上とすることを目標に設定しました。

コンテンツ

業務におけるデータ活用のイメージがわきやすいように、カスタマーサクセスとディレクターそれぞれに各業務に近いデータを準備しました。 また、講義は参加者の習熟度を測るため下表のようなレベルに分けて行いました。

Lv. 説明 主な文法
0 SQLとは/RDBとは/Classiのデータについて
SQLの処理順序/データ型
1 1つのテーブルを利用して、データ抽出ができる select/from/where/and/or/in/case/like
2 1つのテーブルを利用して、集計ができる order by/group by/having
count/sum/avg/distinct/
3 1つのテーブルを利用して、高度な集計ができる with/日付関数/日時関数
4 2つ以上のテーブルを利用して、抽出・集計できる join(left,inner,cross,full)/unionall

データAI部3名が講師を担当し、以下の流れで学習を進めました。

講義編:SQL基礎を学んでもらう(1〜5週目、1時間/週を計5回)
実践編:チームに分かれて実際に分析をしてもらう(6〜7週目の計2週間)
分析結果発表会(1時間)

工夫したこと

講義編

オンラインでの勉強会は、参加者のリアクションや講義のペースが速すぎないかが分かりにくいため、講義の最後に演習問題を入れ理解度をチェックする等、可能な限り参加者全員が理解を深められるようにしました。

実践編

2チーム(3名ずつ)に分かれて実施し、各チームに講師が1名ずつサポートで入りました。分析を行う上では、以下のステップを踏みました。

  • 各チームメンバーが分析してみたいテーマを出し合う
  • 出てきたテーマに対して講師が分析の難易度を設定する
  • 難易度をふまえてチームメンバー自身で分析テーマを選んでもらう
  • 抽出するデータの順序を決めて段階的に抽出してもらう
  • 一つ一つ抽出できているかを講師が繰り返し確認、解説する

なお、ディレクターは全員他業務との調整がつかなかったためディレクター向けの実践編を開催できず、課題を残す結果になりました。

分析結果発表会

各チーム15分で発表・質疑を行いました。その後、今後のデータ活用の参考として、普段からSQLを使ってデータ分析しているカスタマーサクセスのメンバー2名に、実際に業務でどのようにデータ分析しているかについて15分ずつ説明してもらいました。

W:わかったこと

成果

勉強会開催中は講義内で分析基盤を使用したため、目標利用者数20名以上を達成することができました。 勉強会終了後は再び利用者数が減ってしまったものの、勉強会実施前に比べると利用者数が増え、勉強会の成果が出た形となりました。

f:id:yaya-data:20210127184727p:plain
分析基盤利用者の推移

振り返り

勉強会後、講師陣で振り返り、以下の気づきを得ました。

  • 講義を進める中で、Lv.2のgroup byや集計関数の部分は概念が難しく特につまづきやすいので、演習問題の経験を増やして理解を深めるのが最適だと思いました。

  • 実践編で、チームに分かれて分析した方がチーム内で意見を出し合って良い分析ができると予想していましたが、実際は各チーム内にいる講義編の習熟度が高いメンバー1名に依存する状況になり、全員の分析力を高めることの難しさを感じました。

  • SQL初心者から「with句の抽出名やカラム名に日本語は使えないのか」という質問が出ました。日本語を使用した方が各データが何を指すかわかりやすいという意図かと思いますが、私には日本語にしようという発想がなかったので新鮮なコメントでした。

  • 今回、本人の強い希望で勉強会に参加していたセールス担当から、「セールスはデータ抽出しないがデータを見ることはよくあるので、データ抽出を依頼する際にどの程度作業時間を要するか、どのように依頼したらスムーズかが分かり参考になった」と言ってくれました。セールスは業務中にデータ抽出する時間がないため今回はターゲット外としていたのですが、データ抽出との関連が薄そうな職種でも、勉強会への参加でデータを扱う業務への理解が深まるという思いがけない効果がありました。

  • 分析発表会の参加者の気づきの中も参考になるものがあったので以下ご紹介します。

    • アウトプットイメージを先に明確にしたうえでテーブル抽出する
    • 仮説を立てる際の目的を明確にすること
    • 抽出データの構成を考えるスキルの向上(横持ち?縦持ち?等)

フィードバック

勉強会後、以下の3つの観点で参加者にアンケートを実施しました。

  • 習熟度
  • 満足度
  • 今後のデータ分析に対する主体性

勉強会参加者16名のうち半数の8名が習熟度最高レベルのLv.4までマスターすることができました。また、講義編、実践編、講師の説明、コンテンツに対して5段階評価でそれぞれ4.6以上と、高い満足度を得られました。 しかし、勉強会本来の目的である「今後のデータ分析への主体性」に変化があったかのアンケートの結果、全体では5段階評価で平均3.2、SQLを習熟度Lv.4までマスターした参加者でも評価は平均3.7となり、高い満足度の割に低いスコアとなりました。 理由として、参加者コメントに「分析する時間が取れない」、「SQLの理解はできたが、現業務にどのように活用したらよいかが分からない」といったSQLの知識の有無とは別のところに課題があることが分かりました。

参加者コメント(一部)

  • 意欲はあるのですが、他業務との調整がなかなかつかず。。
  • ここで得た知見を今後どう活用していけるかがまだ見えてはいない
  • 現時点で具体的なテーマ設定ができない
  • より身近に使える題材を演習にできるとなお良かった

T:次にやること

今回の勉強会を通じて、データ活用を進めるためにSQLを学習することと別に、(1)分析時間の短縮化(2)現業務と分析テーマとの結び付けに本質的な課題があることが分かりました。

(1)分析時間の短縮化について、Classiでは容易に分析できるように各プロダクトチームのユーザビリティが高いDWH/DMを再構築をしています。

(2)現業務と分析テーマとの結び付け方については、非常に難しい問題ですが、データ活用を推進している我々がデータを活用する立場の彼らに寄り添い、業務を理解した上で共に考えていくことが大切なのだと思います。 そもそも「”基礎”的なデータ活用方法」というのは、”基礎”技術ではなく「業務のどこで活用するのか」という意味での”基礎”であるということが参加者のコメントからもうかがえます。”基礎”と聞くと、”基礎”技術を思い浮かべがちですが、非エンジニアの認識は必ずしもそうではないようです。 現在は、各プロダクトチームに対するヒアリングにより一層力を入れています。データAI部が分析した結果を提供し、その際に分析手法も伝えるようにしたり、施策打ち出しや機能リリースのタイミングを見計らって関係部署に「今が分析のタイミング」とお知らせする等しています。

また、その他の勉強会後の活動として、SQLの理解度アップのために、ClassiオリジナルのSQL練習問題を100問作成(通称:100本ノック)してトレーニングしてもらっており、そこでわからない問題については定期的なもくもく会で個別サポートを行っています。

データ活用ができていないというのは他の企業様でもよく耳にする課題かと思います。今回ご紹介した弊社のSQL勉強会の学びが参考になれば嬉しいです。

© 2020 Classi Corp.