データサイエンティストに必要なのスキルは分かりにくい・・・
みなさん、こんにちは。デジタルボーイです。
普段、データ分析コンサルとして仕事をしていると、お客さんから、「データサイエンティストになるためには、どんなスキルが必要ですか?」と言った質問をよく受けます。
と言うのも、データサイエンティストっていう職業や職種はまだまだ日本では確立されているわけではなく、イメージも浮かびにくく、勉強しようにもどんな勉強をすればいいのか、わからないからなんですよね。
デジタルボーイです。
データサイエンス歴20年以上のおっさんです。中小企業診断士として、データサイエンス、WEBマーケティング、SEOに関するデータ分析、コンサルティングの仕事をしています。自己紹介の詳細はコチラ
データサイエンティストへのよくある誤解
誤解1:理系大学を卒業してないといけない!
「自分は理系じゃないんでデータ分析は難しですかね?」と言われることがよくあります。しかし、データサイエンスは理系大学を卒業していないとできない、と言うのは、全くの誤解ですね。僕自身データサイエンティストとしてウン十年と仕事をしていますが、僕は文系出身です。また、周りを見ても文系のデータサイエンティストはたくさんいます。また、もちろん、高卒出身者の方でもすばらいしいデータサイエンティストにもお会いしたことがあります。なので、理系大卒じゃないからといって、データサイエンスを諦める必要は全くありません!
誤解2:コンサル経験がないといけない!
データサイエンティストは、データ分析の結果から、ビジネスの改善点などのアドバイスをすることから、コンサル経験が必要ということを思われる場合もよくあります。コンサル経験はデータサイエンスをやる上でプラスに働くこともありますが、かといって、必須というわけでは全くありません。僕自身は、コンサル経験というよりも、むしろ、分析する分野のビジネス知識が重要だと思っています。そのため、できるだけ、分析をするビジネス分野の事前知識は習得することが重要ですね!
誤解3:システム系の仕事をしていないといけない!
これは、半分正解・半分誤解ですね。データをその会社のシステムから直接プログラムによって抽出する必要があるような会社では、システム的な知識は必須ですね。一方、その会社のシステムを介さない場合や、データ分析のためのデータがある程度整形されて格納されているような場合は、システムの知識がなくてもデータ分析は可能ですね。なので、会社によってバラバラですね。データサイエンティストとシステムの知識については、またこの記事の後で解説しています。
このように、なかなか馴染みのない、データサイエンティストという職業ですが、今回の記事では、「データサイエンティストにはどんなスキルが必要なのか」について一緒に見ていきましょう!
データサイエンティストには2つ立場があり、それぞれで必要なスキルが異なる!
僕自身、データ分析コンサルタントで、かつ、中小企業診断士として経営コンサルもやっている立場から、これまでビジネス面で見てきたデータサイエンティストには、主に、異なる2つの立場があることを感じていました。
その2つの立場は「自社データを分析するデータサイエンティスト」と「他社データ(他者データ)を分析するデータサイエンティスト」です。
自社データを分析するデータサイエンティストとは?
これは、自社内のデータサイエンスチームに所属し、自社事業のデータを分析し、自社の経営に役立てる仕事をしている方ですね。
ビジネス的には、事業会社に所属するデータサイエンティスト、などと言ったりもします。
データサイエンティストとしての特徴としては「狭く・深く」です。基本的に自社のビジネスにおけるデータの分析がメインで、利用する統計モデルや手法も限定的です。そのため、必ずしも幅広い手法に精通していなくとも良く、その分野の特定の手法に精通していれば、それで十分だったりもします。
例えば、知り合いの金融関係で利用者の与信の判定を行う分析チームの方は、与信モデルの研究をとことん突き詰めていらっしゃいます。
また、分析に使うデータについても、すでにデータ分析しやすいようにITチームが加工してくれているというように、分業作業が成立しているケースも多いですね。このようなケースではシステム的な知識がなくともデータサイエンティストとして十分に仕事に従事することが可能です。
他社データ(他者データ)を分析するデータサイエンティストとは?
こちらは、主に、コンサルタントのような立場で、データ分析サービスを提供する側で仕事をしている方ですね。僕自身もデータ分析コンサルなので、こちらのデータサイエンティストと言えます。
データ分析コンサルの一番の特徴は、クライアントによって様々なデータや分析モデルを操らなければならないという点です。そのため、一つの手法を突き詰めて研究しているだけでは、仕事は務まりません。なので、「浅く・広く」が特徴ですね。
特に、お客様からデータをお預かりし分析する際、すぐにデータ分析できるような加工された綺麗なデータでいただけることは稀で、ほとんどの場合、いろんな側面からデータの加工が必要になります。
また、データのやり取りをする窓口が、実際に業務を依頼している部署(例えばマーケティング部署)ではなく、情報システム部だったりします。このような場合に、システム的な用語やり取りやデータの受け渡しができなければ、バカにされてしまうことも十分にあり得ます。
そのため、データ分析コンサルとして、一人で仕事をこなせるようになるには、データ分析以外の様々なスキルも必要になってきます。
以上のそのような前提で、それぞれのデータサイエンティストの立場で、必要なスキルについて見ていきたいと思います。
自社データを分析するデータサイエンティストとして必要なスキル
まずは分析業務の業務フローを見ていきましょう。
どんなスキルが必要かについては、まずデータ分析業務の業務フローを洗い出すことで、解明していきましょう。
データ分析業務の主なフロー
- 問題抽出と課題解決のための仮説立案
- 仮説の裏付けのためのデータ定義
- 仮説立証後の対策の提案
- 対策の実施
- 施策の効果検証
- 検証結果の報告
以上の分析業務のフローから、通常の自社の業務知識以外の、データサイエンス固有のスキルが必要な業務は概ね「2.仮説の裏付けのためのデータ定義」と「5.施策の効果検証」になります。そして、この2つの業務で必要なデータサイエンス固有のスキルは主に次の2つとなります。
- 「データの収集と加工」のスキル
- 「データ分析」スキル
それでは、各スキルとその習得のためにどうすればいいのかについて、
見ていきましょう。
「データの収集と加工」のスキルと習得に必要なこと
例えば、社内の売上データを分析する際、次の3つのデータがあったとします。
- POSデータ
- 顧客顧客マスタ
- 商品マスタ
POSデータの例
顧客マスタの例
商品マスタの例
ちなみに、実際の売上データはもっと複雑です。
POSデータだけでは、商品名やカテゴリ、顧客の年齢や住所なども分かりません。そのため、POSデータに商品情報や顧客情報を付与し、分析データとする必要があります。
データ件数が少なければ、Excelのvlookupなどでも対応できますが、1万件を超えるデータに対して、複数シートのvlookupは現実的ではありません。ちなみに、実際の売上データは何万件とか、何億件とか、Excelで開けないようなデータであることが多々あります。
上の例では、データ分析をする前に、POSデータに顧客マスタと商品マスタのデータを付与するデータの加工作業をする必要があります。このように、データサイエンティストは、データを分析する前に、データ分析のためのデータ加工する技術やそのためのソフトウェアを使いこなす必要があります。
データ加工については、以下のようなソフトウェアが代表的です。僕の個人的な見解として、初心者のおすすめ度も掲載しています。
Microsoft Access
Microsoftの簡易的なデータベースソフトです。Excelよりもデータ加工として機能が高く、データベースソフトよりも利用しやすいソフトウェアです。そのため、比較的習得までの時間は短くて済みます。
ただし、安定的に稼動できるデータ件数の上限は10万件程度で、データ件数が多くなるとフリーズすることがよくあります。自社データの最大値が10万件以内であれば、十分検討に値するでしょう。
初心者向け:★★★★★
データベースソフト
データベースは例えばMicrosoft SQL Server、Oracle、PostgreSQL、MySQLなどが挙げられます。
データベースは大規模データを安定的に管理するために開発されたソフトウェアのため、機能的には非常に優れたものです。ただし、システム開発でも利用されるソフトウェアということもあり、システムのプロ向けのソフトウェアでもあります。
例えば、基幹データベースとは別に、分析用のデータベースの領域を作成し、定期的に基幹データを分析用データするようにし、分析で利用するなどが考えられます。例えば、PostgreSQLやMySQLは無料で利用可能です。個人的には、アプリ開発など、システムが絡む場合にはよく利用します。
もし、ITエンジニアでデータベースに精通していれば、こちらを使ってもいいでしょう。
初心者向け:★
Python
データ分析専用ののツールとして、現在最もユーザーの多いプログラミング言語です。初心者向けではありませんが、非常に高機能な無料ツールです。データ分析だけでなく、データの加工も可能です。
僕もメインの言語はpythonで、勉強する気さえあれば、とてもおすすめの選択肢です。
Pythonについては、こちらにも解説していますので、よかったら参照ください。
初心者向け:★★
R
データ分析専用ののツールとして、現在、Pythonに次ぐ、人気のツールです。
データ分析だけでなく、データの加工も可能です。
R言語というプログラミング言語での操作も可能ですし、
RコマンダーというGUIツールもあり、どちらも無料で使えます。
そのため、初心者から上級者まで、広く使えるツールです。
Rについても、こちらにも解説していますので、よかったら参照ください。
初心者向け:★★★★
ツールについての所感
データ加工の技術は、完全にソフトウェアに依存する技術といえます。なので、どのソフトウェアを使うかをまず決め、その後、ソフトウェアの書籍を参考に実際にデータの加工をするといいでしょう。
「データ操作」とか「データ加工」などでサイトや書籍を検索してみて下さい。書籍については何冊もやる必要はありません。一冊で十分です。おすすめの書籍についてはこちらにも解説してありますので、よかったら参照ください。
一通り、書籍の内容の操作ができれば、すぐに、実際に自社のデータで試してみましょう。データ加工のスキルについては、操作することが一番の習得の近道です。
分析ツールについては、こちらにも記事を書いていますので、参考にしてください
「データ分析」スキルと習得に必要なこと
データ分析のスキルについては大きくは、次の2つのスキルに分けられます。
- データ集計やグラフ化のためのスキル
- 統計手法や機械学習といったモデルを構築するスキル
この内、多くの業界や分析場面で必要なスキルは「データ集計やグラフ化のためのスキル」であり、「統計手法や機械学習(AI分析)といったモデルを構築するスキル」は必ずしも必要というわけではありません。
そのため、まずは「データ集計やグラフ化のためのスキル」を身につけ、その業界で必要な場合は、勉強するモデルを絞り、「統計手法や機械学習といったモデルを構築するスキル」を身につければいいでしょう。
「データ集計やグラフ化のためのスキル」の習得法
先述の「データの収集と加工」のスキルと同様、「データ集計やグラフ化のためのスキル」についても、利用するツールに依存する技術的要素の強いスキルです。
そのため、スキル習得にあたっての第一歩はツールの決定ですね!
これについては、ExcelかRかPythonから選択するといいでしょう。勉強方法としては、そのツールに特化した、書籍を一冊勉強すれば十分です。そのツールで「集計」とか「グラフ化」とか「ビジュアライズ」で探してみて下さい。
こちらも、一通り、書籍の内容の操作ができれば、すぐに、実際に自社のデータで試してみましょう。集計やグラフ化のスキルも、実データでやってみるのが一番の習得の近道です。
「統計手法や機械学習(AI分析)といったモデルを構築するスキル」の習得法
続いて「統計手法や機械学習(AI分析)といったモデルを構築するスキル」についてです。モデルというのは、データ分析に限って言えば、予測モデル、判別・分類モデル、クラスタリングモデル、次元削減モデルなどであり、データの構造を表現するための数式と思って構いません。以下はモデルの例となります。
データ分析におけるモデルの例
- 予測モデル:需要予測や株価予測などの予測が必要な場合に使う
- 判別・分類モデル:不良品の判別やスパムメールの判別が必要な場合に使う
- クラスタリングモデル:顧客や店舗のクラスター分け(グルーピング)に使う
- 次元削減モデル:大量のデータの次元を減らし、モデルに利用しやすくするために使う
上で挙げたモデルの中には、具体的には、「時系列解析」とか「サポートベクターマシン」などというような統計手法やAI分析手法が該当ます。これらのモデルは非常に多く存在しており、統計学者でも、全てのモデルについて精通することは現実的には不可能です。
このため、これからデータサイエンティストを目指そうとする方は、漠然と統計モデルについて勉強するのは、個人的にはあまり得策ではないと考えます。おすすめのやり方としては、業界的にどのような手法が必要なのか、あるいは不要なのかを調べてから、勉強に取り掛かるのがいいでしょう。
業界における一般論ですが、一般的な広告宣伝の場面であれば、モデルの構築はそれほど重要ではなく、それよりも、施策の効果を検証するための集計やグラフ化の方がより重要です。また、電力会社や金融関係であれば、予測モデルは重要になってくるでしょう。小売や顧客データの分析が必要な場合は、クラスタリングを使う場面もあり得ます。工場などで不良品の検出などを行いたい場合は、判別・分類モデルは必要な場合があるでしょう。
このように、ビジネス場面で何が必要なのかという視点で勉強することが効率的だと思います。
ここまで、自社データを分析するデータサイエンティストとして必要なスキルについて解説しました。ここまで、データサイエンティストとしてのスキルについて解説しましたが、とは言え、事業会社に勤めている以上、データサイエンティストも従業員の一人ですし、データ分析のスキル習得以上に、自社のビジネスに関するスキルの習得も必要です。また、自社ビジネスの知見やスキルは、データ分析にも必ず活かされますので、ぜひ、データ分析だけに偏らずに、自社ビジネスを広く理解するように取り組んでいただけるといいと思います。
他社データ(他者データ)を分析するデータサイエンティストとして必要なスキル
続いて、データ分析コンサルなどの、他社や他者のデータを分析し、サービスを提供するデータサイエンティスト向けのスキルについて見ていきましょう。
こちらも、普段の僕のデータ分析コンサルの業務フローから、必要なスキルの特定をしてみましょう。
他社データを分析するデータサイエンティストの一般的な業務フロー
- クライアントへのヒアリング
- クライアントへの提案
- クライアント企業の事前診断
- 事前診断の報告とプレゼンテーション
- データ受領・加工・集計
- データ分析
- データ分析プロジェクトのプレゼンテーション
- 定期コンサルやシステム化など
以上の他社データの分析をするデータサイエンティストの業務フローから、僕が洗い出した、データ分析の必須スキルは次のが必要な作業は以下の作業です。
他社データの分析をするデータサイエンティストにとって特に必要なデータ分析スキル
- データ分析事例の提示スキル
- データの受領・加工・集計スキル
- データ分析スキル
- 分析結果を基にしたコンサル提案スキル
2と3については先述の自社データを分析するデータサイエンティストにも必要だったスキルです。
1と4については、データ分析コンサルに特有の能力ですね。
それぞれ見ていきましょう。
スキル1:データ分析事例の提示
データ分析コンサルが仕事を受注する際、非常に重要なスキルになります。
初回に、クライアント企業に訪問し、お客さんから課題を打ち明けられたとしましょう。この際、コンサルタントが即座に「そのような課題であれば、このような分析が考えられますね」というように、これまでの解決事例を紹介することは、仕事を受注するためには、とても重要な瞬間です。
加えて、この時に、「さらに、過去のこのような分析をし、このような結果が出ました」といって、過去の事例の結果の資料をさらっと紹介できると、口頭で事例を話すよりも、さらに説得力が増します。これにより、データ分析というわかりにくい形のないものに対して、お客さんは自分の課題に対する解決策の方向性を具体的にイメージすることができます。クライアントが具体的にイメージできればできるほど、受注の確率も高くなると僕は考えています。
一方、お客さんから課題を打ち明けられた時に、すぐに分析事例を示すことができなければ、こんなことになりかねません。
わかりました。一回、持ち帰って、どんな分析が可能か調べてきます!次回の打ち合わせは、いつごろが都合よろしいでしょうか?
このコンサル、頼りにならんわ〜。もお、このコンサルに仕事は依頼せんと、別のコンサルに依頼しとこ
ま、とりあえず、今日は金曜やし、今週の仕事もこれで終わりやさかい、このコンサルのことは忘れて、帰りにビールと唐揚げ買って、テレビで阪神戦でも見ながら、週末を楽しんどこ
かしこまりました。ありがとうございます!一度、持ち帰って、また、連絡しますね!
・・・
お客様の心をあなたに繋ぎ止めるために、あなたのやるべきことは、何でしょうか?「金曜日の午後にクライアントへのアポを取ることはやめる」でしょうか?もちろん、それも大切かもしれませんが、それ以上に大切なことは、事前に事例をできだけかき集めて、クライアントへ挑むことです。
そのためには次のようなトレーニングを日頃から積む必要があります。
- どのようなビジネスではどのよなデータ分析が考えられるかシミュレーションする
- データ分析の事例についても整理しておく
- 訪問時に咄嗟にプレゼンできるよう、過去の自分自身の分析結果をわかりやすいように整理しておく
(できれば、1ファイルにまとめておくといい)
だだし、これについては、残念ながら、1冊、書籍を読めばすぐに身に付くというスキルではありません。毎日、少しずつでいいので、データ分析の勉強しながら、「この課題だったらこの分析」というようなパターンや、お客さんに紹介できる事例について、ちょっとずつ増やす努力をするようにしましょう。
スキル2:データの受領・加工・集計
この点は、先述の自社データを分析するデータサイエンティストにも必要だったスキルとそれほど変わりません。
ただし、データベースのスキルは自社データサイエンティストの場合は必須ではありませんでしたが、他社データサイエンティストの場合は必須と言えます。
なぜなら、データの受け渡しとしてクライアント企業の情報システム部の方とやり取りをしなければならないことが多々あり、その際、データベースの知識がどうしても必要となるケースが多々あるからです。
ここまで説明したあなたはもしかすると「データベースの知識がなくともクライアント企業の情報システム部の人に
わかりやすく説明してもらい、なんとかすればいいじゃん」と思ったかも知れません。
それ、甘いです!データ分析コンサルをやっていて、色々な最悪なヤローとも仕事をしなければなりませんが、僕の経験上、最も「くそがっ!!」と心の中で叫んだ対象は大企業の情報システム部の奴らになります。
コイツらは彼らは自分の知識を他人に分かりやすく説明しようというモチベーションは皆無であり、かつ、自分のルーチンワークと異なる仕事を与えられることを最も嫌う人間です。つまり、外部のデータ分析コンサルは、彼らにとっては、仕事を増やす「敵」でしかありません。
そして、不幸にも、情報システム部の方と仕事をしなければならない場合、高確率で戦いが始まります。
そんな中で、デーベースの知識がない場合、彼らとの戦いに素手で挑むようなものです。返り討ちにされることでしょう。
勘違いしてほしくないのは、データ分析コンサルは彼らと好んで戦いを挑むべきということではありません。むしろ、できるだけ、戦わずに穏便にことを運ぶために、データベースの知識を得る必要があるということです。
とは言え、データ分析に必要なデータベースのスキルでは、それほど高度なスキルを身につける必要はありません。無料のデータベースソフトであるMySQL(もしくはPostgreSQL)の分かりやすい入門書を一冊購入し、自分のPCにインストールし、データの加工を一通りできるようにすればOKです。
スキル3:データ分析
このスキルも自社データサイエンティストのところで説明した内容です。
ただし、自社データサイエンティストと異なり、データ分析コンサルは分析できるモデルの幅は広く持っておく必要があります。そのため、普段の事例集めの傍ら、一緒にツールで実行できるようにしておくことが重要です。
データ分析コンサルとして働くのであれば、ツールについてはPythonは必須といっていいでしょう。というのも、クライアント企業でPythonを導入している場合、データ分析コンサルはPythonの使用は必須と言えるからです。
逆にクライアント企業がRを使っていた場合、Pythonに精通していれば、Rの使用はそれほど難しくないでしょう。そのようなことからもデータ分析コンサルにとってはPythonは必須言語と言っていいと思います。
pythonのスキル習得の方法
スキルの習得については、Pythonの機械学習に関する書籍1冊をじっくりと勉強し、その後は、ネットやマニュアルで情報を収集するようにする問いでしょう。
特に、Pythonの場合、オープンソース(言語を構成するソースコードやマニュアルが公開されている)こともあり、情報は英語ですが、しっかりとネット上にあります。そのため、できるだけ、情報はネット上の公式サイトから取得する習慣をつけておくことが望ましいです。まあ、今ではGoogle翻訳もありますし、英語のページでもなんとかなります。
その後は、アメリカのデータ分析コンペディションであるKaggleというコンペで、勉強をするのがかなりおすすめです。
Kaggleでは多くの企業がそれぞれ、分析したい内容でコンペを開催し、多くのデータサインティストが参加し、活発な議論を展開しています。しかも、コンペには賞金がかけられており、優勝すれば、かなりの額の金額をゲットできます!
もちろん、コンペに参加してもいいですし、参加せずとも、勉強だけでもそのデータが使え、かつ、他人のモデルの確認なんかもできて、ものすごいお得な環境ですね!
一昔前では、そんな、他人の作った予測モデルを見れるなんて、考えられませんでした。
なので、この環境を利用できな手はないです。
スキル4:分析結果を基にしたコンサル提案
最後のスキルとして、コンサル提案になります。データ分析コンサルの場合、データ分析をして終わりではありません。分析結果のプレゼンテーションをする必要があります。
この際、単にデータ分析結果の報告をするだけでは、クライアントからは「どうもありがとうございました」と丁寧にお礼を言われて、それでおしまいです。データ分析コンサルであれば、やはり、分析をした、その後もクライアントと
継続的に仕事に取り組みたいですよね。
なので、分析結果をもとに更なる提案をする、しかもその提案が魅力的で、かつ、クライアントだけでは取り組めない場合、クライアントは継続コンサルの提案を受け入れるでしょう。
では、データ分析コンサルがその後のコンサル提案をする場合、どのような提案ができるのでしょうか?ざっとこんな選択肢があります。
- 分析結果を元にした、経営改善の提案
- データ分析トレーニングの提案
- システム化の提案
- 同じ分野で別データや別分析の提案
- 違う分野の分析提案
これらの提案をいかにデータに基づいて根拠を持って提案できるかがコンサルタントとしての腕の見せ所ですね。とは言え、いきなり、これらの提案ができるようになれと言われても、無理な話です。
なので、これらの内、あなたが提案したいと思える分野をまずは習得するといいでしょう。特に、経営改善案の提案ができれば、かなりのアドバンテージといえます。経営改善案といっても、データ分析に関する場合は、多くの場合マーケティング施策の案でしょう。
日頃からデータ分析をするだけでなく、その後のビジネス展開など、コンサルタントとしての視点を持って、分析をすることが重要ですね。
まとめ
以上、データサイエンティストとしてのスキルについての解説でした。データサイエンティストといっても、働き方は千差万別ですし、そのため勉強も千差万別といえます。
とはいえ、いずれにしても、理論だけでは仕事はできません。ツールを使いこなすための勉強をすることが、データサイエンティストとしての近道といえます。
ぜひ、実際のデータを使いながら、勉強をしてみてください。
また、データサイエンスに関する勉強法とおすすめ書籍についての記事もこちらに書いています。よかったらみてください。