こんにちは、Webマーケターの宮田です。

今日は、以前より取り組んでいたCourseraのコース「SQL for Data Science, University of California, Davis」が終焉に差し掛かってきたので、コースのレビュー記事を書こうと思います。データサイエンスをこれから学ばれる方や興味のある方は是非ともご覧ください。


コースを受講した理由


MOOCプラットフォームの中でも一流企業が採用時のスキル証明として利用されていることの多いCourseraのコースを選択しました。Courseraの中でもコース数の多いカリフォルニア大学デービス校のものを選びました。この大学はパブリックアイビーとしても認知されていて、コンピュータサイエンスに関しても世界的に認知される教育機関の一つです。

データサイエンスにおけるSQLの重要性

データサイエンスを行う上で、統計学やRやPythonなどのプログラミング言語が書けることは大変重要ですが、それ以上にデータの抽出や加工ができなければ何も始まりません。

SQLは、Structured Query Languageの略でして、データベースでデータを規則的なデータ型で扱うための言語となります。データアナリストがデータを分析する際には、Webベースのプロダクトにおけるデータベースからデータを抽出することになりますので、SQLはデータ分析の上でマストなツールとなります。

データアナリストスキル要件として必ず上がる

データアナリストがデータを分析する際には、ユーザ属性データとユーザ行動データをデータベースから抽出して、どのユーザがどの行動をしているのかといった観点でインサイトを得ることになります。また、このインサイトから、システムで特定のユーザに対してアクションを取るためのアルゴリズム実装を行ったりします。

国内有名データ分析受託企業のマネージャクラスの方と話した際に、大学院で自然科学や社会科学を修了したような新卒のデータサイエンティストの場合は、SQLが十分に書けないことが多く、サイエンススキルがある分もったいないというお話をうかがったことがあります。そういう意味では、SQLを集中的に学ぶことには十分な意味があると言えそうです。

データベース設計を理解することで物事を見る目線が変わる

個人的には、一番の収穫だと思っていますが、実施にこのコースを受講して、基本的なデータベースの扱い方が分かると、自社のプロダクトを分析するアイデアが以前よりも増えた気がします。

これは、データベースは基本的に、マスターデータとトランザクションデータで構成されていますが、どのテーブルのどの列がシステム内で絡み合っていて、どのテーブルを見れば課題に対する答えが見つかるのかというシステム視点で分析が可能となるためです。

コース概要と難易度について

本コースは以下の4章構成となります。

[1周目] Selecting and Retrieving Data with SQL => 易しい

SQLとは何なのか?ということから、データを参照・抽出するためのselect文について学びます。
難易度はぜんぜん高くありません。

[2周目] Filtering, Sorting, and Calculating Data with SQL => 易しい

SQLでデータフィルタリングをする方法を学びます。where文やIN、OR、ANDの違い、また演算子を組み合わせた構文について学べます。
こちらも難易度は低いです。

[3周目] Subqueries and Joins in SQL =>やや難しい

SQLにおける「副問い合わせ」と「テーブル結合」の方法を学びます。ここからつまづき始めました。難しいのが、テーブル結合の種類が結構多いため、どのテーブル結合が扱っているケースでは適切なものなのかを判断する必要がありますし、それぞれのテーブル結合の構文を暗記するのもやや難しいです。

[4周目] Modifying and Analyzing Data with SQL => 難しい

ここまで学んできたSQLを活用して、基本的な分析を行う章です。
章の最後に提出課題があるのですが、この難易度が結構高いです。

個人的には、1~3周目までの知識で解けるとは思うのですが、SQLを使う感覚が十分に養われていない状態で最終課題に挑戦することはかなり難易度が高いことだと感じています。このコースだけでなく、自身でもデータ分析用のSQLの書籍を確認することも十分必要であると思います。この記事の後半にオススメの書籍を記載しましたので、興味ありましたら、そちらをご確認ください。

全体的な難易度 => やや難しい

Courseraのコース紹介では、「初心者」向けのコースと明記がありましたが、実際に1週目から4週目まで学習して、「やや難しい」コースだと感じました。

特に、最終課題の難易度が高いので、このコースで初めてSQLに触れる方の場合には、十分に対策をする必要があると思います。また、すでにSQL経験者の場合でしたら、そこまで苦労はしないと思います。

コースの価格

コースを修了した際に修了証が発行されるのですが、この修了証を発行するためには料金5,444円がかかります。割と安いです。

SQLでできる分析事例


高度な統計学を駆使すること無くとも、SQLだけでも十分な分析をすることが可能です。以下は本コースの中で出てくる分析課題の事例を記します(コース内で提供されるデータと社名は異なります。)

例1) 事業者に対する評価と営業時間の相関関係

事業者のテーブルには、事業者ID、事業者名、ビジネスID、営業時間、評価(星1~5つ)などの列が存在するとして、星の数の多いグループと少ないグループで分けて、営業時間を確認すると、「星の数が多いグループは営業時間が長い」などのインサイトが得られるというものです。

結構当たり前のことかと思いますが、改めてデータを見ることで浮かび上がるインサイトは結構あります。

例2) ポジネガ文字列からレビュー数(字数ではなく、レビューの数)の差異を分析

事業IDを主キーとするビジネステーブルと、レビューIDを主キーとするレビューテーブル(事業IDを外部キー)があると仮定すると、レビューテーブル内のレビュー文章に、「好き」のようなポジティブな文字列を含む場合と「嫌い」のようなネガティブな文字列を含む場合で条件を分けて、レビュー数を計測することも可能です。

これを確認することで「好き」のようなポジティブワードを含む文章の方がレビュー数が多いというインサイトを見つけることだできるかもしれません。逆も然りです。もし、そうならレビューを書くためにWebサイトに頻繁にログインしているユーザであるということで、エンゲージメントのスコアを高めて、何かクーポンを付与するなどの施策に活かすことができるかもしれません。

本コースと並んで参考になる書籍

本コースは、これだけでも十分な学びが得られるのですが、データベースやSQL、また実際の分析を行う上でのモチベーションを上げるためには以下の書籍と合わせて学ばれると良いかもしれません。

ビッグデータ分析・活用のためのSQLレシピ

ビッグデータ分析の現場で実際に活用されるSQLが書かれています。
この本の良いところは、MySQL、PostgreSQL、BigQueryなどあらゆるデータベースのSQL構文が掲載されており、データベースごとに必要な知識がつくことです。

ケースごとに必要なSQLを教えてくれるのでとても参考になります。事例が網羅されすぎていて逆に全部読み切るのが大変かも知れません。

Hacking Growth グロースハック完全読本

グロースハックの教典と言われている書籍です。私たちのようなマーケターがグロースハックを行う上では外してはならないことが沢山書かれています。

今回のデータベースの話で言えば、ユーザセグメントの理解することの重要性などはこの書籍に口酸っぱく書かれているので、我々がSQLを活用して分析を行う本質的に理由が分かるかと思います。私が以前読んだ感想などを以下にまとめているので、よかったらこちらもご確認ください。

【書評】「Hacking Growth グロースハック完全読本」でグーロスハックを学ぶ

最後に

本記事では、カリフォルニア大学デービス校提供のSQL for Data Scienceコースのレビューを行いました。私自身はSQL自体は書けるのですが、データサイエンスの現場で使えるSQLについて学べたことで、システムのにおけるテーブルデータ構造を意識して、ユーザ行動を分析するためのインプットが得られたと感じています。その意味では、大変満足しています。

まだ、データサイエンスの門を叩いたレベルですが、引き続き今後もデータサイエンスに関するインプットを行っていきたいと感じました。引き続き本ブログをよろしくお願いいたします。