データ活用における役割分担
どうも。
データにまつわる仕事を生業にしている、@taichi_8000と申します。
自分では、データアナリストと自分のことを呼んでいます。
データにまつわる仕事、と言うとゴリゴリプログラミングをする人、というイメージを持たれることが多くてですね。
ただ自分はプログラミングができる人ではなくてですね。。「エンジニアさんと一緒になれば色々できます」といった説明をしています。そうすると、「エンジニアさんとデータアナリストさんは何が違うの?」的な返しをもらうことが多いです。
で、なんですが、「データにまつわる仕事をする人はプログラミングができる人だ」とか、「プログラミングができる人はデータのことが分かっている人だ」みたいなイメージがあるのが現状だなと思っています。
前者はまだ良いとしても、後者はかなり危険思想だなと個人的に感じています。(というか色々な企業の危険な状況を実際に見てきたところもあります。)
で、そういったものを整理した記事が見つからなかったため、自分で書いてしまおうと思って筆を執りました。
1. データ周りの仕事のプロセス
データ周りのプロセスとしては、以下の4つがあると考えています。
①データ活用定義検討
②データ取得基盤整備
③データ取得(モノによっては自動で取れる)
④分析
以上です。
ってもっと説明しろ、って話だと思うので色々補足していきます。
まず、データ活用、データ活用、と皆さん口を揃えて言うのですが、データ活用はいわゆる要件定義と呼ばれるものから始まります。
それを、「データ活用定義検討」と書きました。
要は、以下のようなものです。
○○○の効果を見たいから、
そのために△△△△というデータを取得し、
そのデータの傾向が×××××となるはずである。
その△△△△というデータを取得するために、
□□□□□□というものを開発する
「仮説を立てて検証する」とか、そういった類のものです。
なんだ、そんなものか。と思う人が多いと思います。
そして、この①データ活用定義検討を踏まえて、②データ取得基盤整備を整備するのです。そうすることで、システムで自動で取得できるデータは「③データ取得(モノによっては自動で取れる)」として取得ができるようになります。(アプリの行動ログなど)
手動で取得するデータは、ちょっと大変です。(salesforceの行動記録など)そういったものは人力で頑張る部分も必要です。そこは私が過去に登壇した資料がありますのでそちらを笑
分析できるデータは自ら作る (Data Analyst Meetup Tokyo vol.8の発表スライドです。)
話が飛びましたが、その後④分析が出てくるのです。ただ、①〜③(特に①)をしっかり定義していれば、④の分析は①に従って出てきたデータを整理するだけなので、これが分析者の仕事とすると簡単過ぎます。
ただ、「分析」と言われると「④をやる人」というように見えがちです。
実際は、「①をやる人」もしくは「①〜④までPM的にやる人」が「分析者」であり、「データにまつわる仕事をする人」である、と私は考えています。
2. よく起こる問題
しかし、これができていないのですよね。本当に。
というか、何か開発してデータが貯まると、その貯まったデータでなんとかしようという思想が多いです。そうなると微妙に読み違えたり、本当に取りたいデータを取ることをやらなくなったりするのが結構な問題なのですよね。
そして、データが貯まるのは「②データ取得基盤整備」「③データ取得」に見えがちです。
そうなると、「②データ取得基盤整備」「③データ取得」をやっている人がデータアナリスト(データにまつわる仕事をしている人)だと勘違いされる、ということが起きます。
もちろん、「②データ取得基盤整備」「③データ取得」をやる中で、「①データ活用定義検討」を行えるエンジニアの人もいると思います。ただ、エンジニアの人の専門とはちょっと異なるので、できる人はそんなに多くないと思っておいた方が良いと思います。
(というか開発とは目的が異なる場合が多いので、本来別の思考で考えないといけないものだと考えています。)
で、ちょっと役割を整理すると、私は以下のようになると考えています。
①データ活用定義検討 → データアナリスト
②データ取得基盤整備 → エンジニア
③データ取得(モノによっては自動で取れる) → エンジニアが実装したもの
④分析 → データアナリスト(というか正直誰でもできる)
結局「よく起こる問題ってなんやねん」と言われると、「上記の役割を認識せずにプロジェクトを進め、イマイチ見たいデータを見ることができない」という問題です。
これが、実に多い。
で、一応ですが、これは「エンジニアの人が考えられていない」とか、エンジニアをディスりたい訳ではありません。これは仕方ないのです。
なぜかというと「データアナリスト」と「エンジニア」は役割・ミッションが違うためです。
データアナリスト:
分析することをメインとして開発(データ取得の方法)を考える
エンジニア:
データ取得だけでなく、開発全般を考える必要がある
(例えばユーザーが使いやすいような仕組み、後々のメンテナンス、諸々その他の開発との優先順位付けなど、ここはあまり詳しくないですが・・・)
なので、データアナリストとエンジニアが協力して、良い塩梅で進めるというのが重要になるのです。
エンジニアが①②を行うことは多いと思いますが、そうするとどうしてもエンジニアの役割・ミッションに引っ張られることになります。
そうするとイマイチピンと来ない分析が行われるケースが多いかなと。ただ、分析って良く分かっていない人が多いので、なんとなくでもできているように見えてしまう、という問題もあります。(問題まみれだな…)
3. まとめ
今回、データ活用における「データアナリスト」と「エンジニア」の役割について整理しました。
まとめるとこんな感じです。
・データ活用には「データ活用定義検討」が重要
・「データ活用定義検討」をするのがデータアナリストの仕事
・「データ活用定義検討」はエンジニアでも可能だが、エンジニアの役割とは微妙に異なる場合が多いので、別の役割だと認識した方が良い
・「データ活用定義検討」から「分析」までを一貫してPM的にみるのもデータアナリストの仕事
・「データ活用定義検討」さえできていれば、データ分析は容易
「データアナリスト」という人が何者か、そして企業でデータ活用をする際にどういう部分に気をつければ良いか、ということが少しでも伝われば幸いだと思います。
今後も、企業におけるデータ周りの活用において、色々発信していこうと思います。よろしくお願いいたします。