第2章:データサイエンティストに必要なスキル
データサイエンティストに必要なスキル領域
さて今回は、データサイエンティストに必要なスキルについて紹介します。
(本連載ではデータ活用に関わる職種全般をデータサイエンティストと定義しています)
データサイエンティストに必要なスキル領域は大きく分けて下記の3つです。(図1)
- ビジネススキル
- ITスキル
- 統計解析スキル
図1:データサイエンティストに必要なスキル領域
もちろんすべてをスペシャリストレベルまで研ぎすますことは難しいので、どれか一つの領域を自らのコアスキルとして持ちながら、他のスキルを磨いている方が多いです。また、規模の大きい会社であれば、コアスキルが異なるデータサイエンティスト数名で1案件を担当する場合もあります。
それでは早速それぞれのスキル領域について詳しく紹介していきます。
ビジネススキル
□ビジネスに対する深い理解
データサイエンティストのミッションは、データを活用して事業に貢献することです。そのため、分析対象のビジネスについて深く理解していることが求められます。例として、飲食店検索サービスを考えてみましょう。「ユーザーがそのサービスを通じて飲食店を利用することで、クライアント(飲食店)から手数料収入を得る」ことを目的としているサービスもあれば、「プレミアムユーザーからの課金を通じて収入を得る(いわゆるフリーミアムモデル)」サービスもあります。両者ではビジネスモデルが異なるので、当然分析の観点もみるべきKPI群も異なります。前者の場合サービスを通じた予約数、後者の場合は課金率や課金ユーザー数などがビジネスに直結するKPIとなります。
□ロジカルシンキング
データ分析の目的の多くは、ビジネス上の問題解決やビジネスの継続的な改善です。それらを円滑に進める技術として、ロジカルシンキングは非常に大切です。例えば、「12月のアクティブユーザーの数が11月比で20%減少した理由はなぜか」という問いを考えてみましょう。やみくもにデータを抽出し、「女性ユーザーの数が20%減少していたからです」という結論を出したとしても、誰も納得してくれないでしょう。というのは、上記の結論では「新規ユーザーが減っているのでは?」や「30代のユーザーが減っているのでは?」という他の仮説を検証できていないからです。このような間違いを犯さないためには、ロジックツリーやMECEといったロジカルシンキングのアプローチを利用しながら、論理的に結論を導くことが重要です。
□ドキュメンテーション/プレゼンテーション
データサイエンティストの最終成果物は、レポートやプレゼンテーションであることが大半です。このレポートやプレゼンテーションが事業に貢献しなければ、どれだけよい分析でも価値がありません。そのため、ドキュメンテーションやプレゼンテーションのスキルを身につけておくことは重要です。プレゼンテーションといっても、営業マンのように口達者で相手を引き込むスキルではなく、分析の結論を簡潔にわかりやすく相手に伝えるスキルが重要です。
ITスキル
□幅広いIT知識
分析基盤環境の構築・運用には幅広いIT知識が求められます。分析基盤環境の構築はITシステム導入と同じ手順で進められますし、分析基盤環境の運用はITシステムの運用と同じ方法論が使用できます。そのため、ウォーターフォール、アジャイルといった開発手法や、ITILなどのシステム運用の方法論についての知識があると、よりスムーズに業務を進めることができます。
□大規模データ処理に関する知識
データサイエンティストはいわゆるビッグデータを扱うことも多いです。ビッグデータは容量が多いため、データの蓄積や操作に特別な技術が必要となります。具体的に言うと、Hadoopを中心とした、HBase、Hive、pigなどのオープンソース群の知識が必要となる場合が多いです。また、ビッグデータを高速に処理できる技術として、列指向のデータベースを使用することもあります。このように、ビッグデータ処理は今後発展が見込まれる技術領域ですので、業界の動向を常に追いかけておくことも重要です。
□データベースに関する深い知識
データサイエンティストが扱うデータは基本的にデータベースに格納されています。そのため、分析基盤環境を構築する際だけでなく、利用する際にもデータベースに関する深い知識が求められます。簡単なSQLでデータを抽出することができるのは当然のレベルとして、頻繁にWHERE条件で指定されるカラムにはINDEXを貼る、負荷が高い場合にはレプリケーションを利用するなど、主にパフォーマンスに関する知識が必要です。分析基盤環境は複数のデータサイエンティストで共有されている場合がほとんどですので、誰か1人が実行した効率の悪いクエリが原因で、社内すべての分析が遅延する可能性もあります。
□プログラミング
データサイエンティストの仕事では、ログ収集のバッチ作成やBIツールへのデータ挿入など、プログラムを書く機会が頻繁にあります。といっても複雑な処理を書くことは少なく、基本的にはデータ整形の処理を書くことが多いため、RubyやPythonといったスクリプト系の言語を1つ習得しておけばよいでしょう。
統計解析スキル
□数学
データ分析の共通語は数学です。データ分析の書籍にもほぼ必ず数学が登場します。そのため、最低でも高校卒業程度の数学を身につけておく必要があります。特に必要とされる分野は、確率・統計、微分積分、行列ですので、これらの分野に不安があれば復習をしておいた方がよいでしょう。また、専門書をより深く理解するためには、大学初級程度の解析学、線形代数学も習得していることが望ましいです。
□データ分析手法の理解
データ分析では、データの統計処理や数理モデルを作成することで、分析を進めています。そのため、統計処理手法やデータマイニング手法について理解しておく必要があります。例えば、売上に関係するユーザー属性を特定するためには重回帰分析、課金ユーザーと無課金ユーザーの行動の違いを分析するためには決定木分析、ユーザーをセグメントに分割するためにはクラスタリング分析を用います。このように、自らが必要とする結論を出すためにどのような分析手法を用いればよいか知っておく必要があります。
□データ分析ソフトウェアのスキル
多くのデータ分析手法は途中計算が非常に煩雑なため、基本的にはデータ分析ツールを用いて分析を行います。そのため、データ分析ツールを使いこなせる必要があります。回帰分析など、Excelでも使用できる分析手法もありますが、より専門的なデータ分析手法にはオープンソフトウェアであるRや、IBM社のSPSSが必要です。規模の大きな会社であればSPSSなどの分析環境が整備されている場合もありますが、ほとんどの場合ExcelやRを用いて分析することが多いでしょう。
以上、データサイエンティストで必要なスキルについて網羅的に紹介しました。専門的なスキルが多いため、非常に難しく感じられた方も多いと思います。しかしながら、冒頭で紹介したように、すべてのスキルを高いレベルで保持している方は非常に稀ですので不安になる必要はありません。
次は、「データサイエンティストになるには」というテーマで具体的にどのようなキャリアパスでデータサイエンティストを目指すのかということを紹介します。