渋谷駅前で働くデータサイエンティストのブログ

元祖「六本木で働くデータサイエンティスト」です / 道玄坂→銀座→東京→六本木→渋谷駅前

「データを集める前にデータ分析責任者(データサイエンティスト)を雇うべき」理由とは

f:id:TJO:20160716180212j:plain
(Image by Pixabay)

先日こんな記事が注目を集めていたのを見かけたのでした。

ここで大事なのは、データ集めは非常に大事なステップですが、最初の0.8歩に過ぎないということです。データ解析やAI技術導入の準備に時間をかけすぎていて、「やっとビッグデータが溜まった」と思ったときにデータサイエンティストに大量のデータを丸投げする、というプロセスは非効率的なのです。


それよりも、最初の段階からデータサイエンティストを交えて、ゴールを志向しながら逆算的アプローチでデータを収集、解析した方が良い結果が確実に出ます。

これはもう、日本のデータ分析業界で色々な現場の話を見聞してきた日本で働くデータサイエンティストの身としては、耳が痛いを通り越して耳から血を噴きそうな話です。にもかかわらず、こういう話をデータ分析業界「以外」の人たちに話してもなかなかピンと来ない人が多いのか「?」という顔をされがちなのが現状です。


ということで最近与太記事が続いていて恐縮なのですが、今回も「何故データを集める前にデータサイエンティストを雇うべきなのか」という与太記事を書いてみようと思います。


整理するルールを決めずに集めたビッグデータは、巨大な未分別のゴミの山と同じ


以前talkした時にも話したことのある喩えですが、一般に大抵のデータはそのままではただのゴミの山に過ぎません。理由は簡単で、よほどの事情がない限りは列指向型のデータテーブル形式に直しておくのが常道*1なのですが、世の中に出回る「いわゆるデータ」の多くはそうはなっていないことの方が多いからです。


代表的な例で言うと、セル結合ルールが全てExcelファイルから成る記録台帳とか、カラム定義が全てバラバラのデータテーブルとか「そのままではコードを書いて一括処理をしようにも例外だらけでまともに前処理できない」ようなデータですね。こういうのをデータ分析業界では良く「ゴミデータ」と称するようです。"Garbage in, garbage out"(ゴミみたいなデータを入れても返ってくるのはゴミだけである)という格言を地で行くような話だと思われます。そういうデータを「いつか役に立つから」とそのまま溜め込んで行けば、出来上がるのは未分別の巨大なゴミの山でしかないというわけです。これではデータ利活用のしようなんてどこにもありません。


前々から「データ分析の物理的・時間的リソースの8割が前処理に費やされる」というのが僕の持論ですが、まさにそういうゴミデータしかない現場では8割どころの騒ぎではないという方が実情でしょう。1ファイルずつ全て目視で確認して手でデータ形式を直すとか*2、最悪の場合1行ずつ目視確認して手で直す*3とかしなければいけないのに、データのサイズが例えば1万ファイルとか1000万行とかあったらもはや限界です。。。けれどもそういうところに限って「データさえ溜まっていれば何でも出来ると聞いたのに!」と言ってゴミデータばかり溜め込んでいたりするのが世の常だったりします。


故に「ゴミの山を資源に変えたければ、きちんと分別するしかない」というのと同じで、ゴミデータの山を宝物に変えたければきちんと整理分別するしかありません。そこのところをまずは肝に銘じる必要があります。


ゴミの分別ルールを決める=データサイエンティストが分析目的に合わせてデータ整理のルールを決める

以前、 ビッグデータ保有している企業のデータを拝見したのですが、その7割ほどがゴール(データを使って新しい収益モデルを生み出したい)到達のためには使えないデータでした。そして残りの3割の有益なデータも、ラベル付けがされていない等の理由からすぐには解析して示唆にできる状態ではありませんでした。


こうなる前に、まず、どんなデータを集めるべきか、どんなラベル付けをすべきか、というところをデータサイエンティストと話しながらデータ収集をした方がよほど効率的なのです。

ここの下りはまさにこのココロを表していると思います。「データを使って新しい収益モデルを生み出すというゴール到達のためには使えないデータが7割」というのは言い換えれば「ゴミデータが7割」ということであり、残り3割の有益なデータも「未分別」と言い換えられるのではないでしょうか。


つまり、初めから集積場にやってくるモノが使えるか使えないかであったりはたまたそのモノの価値が分かるという人を配置して、予め利用できるものだけを集積場に残していって残りは捨てる、というオペレーションが出来るようにすることが大事だということです。それが出来る人がいればこそ、例えば集積場の大きさを予め決めておくこともできれば、分別の仕方も事前に決められるというわけです。


またゴミとは異なり、データの場合はその「計測・収集」のところにも工夫の余地が非常に沢山あったりします*4。計測する末端のデバイスのレベルからして既にデータの整合性がないようなケースでは、そこから「データ活用に適した形」に直していかなければなりません*5。極端な言い方をすると「ゴミ箱に捨てられる前の時点で既にゴミかどうかを分ける」ことも出来るという点では、ゴミのリサイクルよりも自由度の高い取り組みかもしれません。


というわけで、データサイエンティストというかデータ分析責任者が、データを集める前から予め「データのフォーマット・形式・基盤(DBというかDWHなど)はこうあるべき」というのをデータ利活用の目的に合わせてルールを策定しておき、必要であればシステム化もして(これはエンジニア部門との協力が必要ですが)、それから実際のデータを集めて蓄積するべきなのです。


これを怠った現場が陥りがちなのが「データはひたすら個々のファイルに分かれてやってくる」「データの集積先はその辺の共有ファイルサーバー」「共有ファイルサーバーはイントラネットからしか接続できないので新たに組んだシステムがデータを取りに行くのは難しい」「しかもファイルごとにデータ形式は全てバラバラで規則性なし」みたいなゴミデータあるあるだったりします。そうではなく、例えば「パブリッククラウドのストレージにファイルは蓄積」「毎日バッチでファイルを前処理して同じクラウドのDWHに格納」「新たにシステムを組んだらデータを取りに行く時は単にそのDWHを参照する」みたいにするだけでも、だいぶオペレーションは変わってくるはずです。


故に、最初からデータ分析責任者を配置しておいた方が早い


と言っても、鶏が先か卵が先か論争みたいなものですがこの辺のデータ整備のオペレーションを、経験の全くない人たちがゼロからやろうとするとやはりなかなか難しいものがあります。百歩譲ってゼロから始める場合であっても、データ整備のオペレーションを他の業務と兼任でやろうとするとやはりなかなか手が回らないケースも多く、後になって「あの時もっときちんと手間暇かけてきっちり整備しておくべきだった」みたいなことになりやすいものです。


そういうもろもろを含めて「最初からデータ分析責任者を配置しておいた方が良い」というのが個人的な意見です。放っておけば必ず巨大なゴミの山が積み上がるだけのところを、最初からデータ分析責任者がいれば宝の山とまでは言わずとも少なくとも資源集積場に変えることはできるのではないかと思います。


しかしながら、ここで「よし!じゃあデータサイエンティスト1人雇っておけば後は安泰!」というわけにもいかないという点だけは何卒ご承知おきを。。。データ整備の責任者を最初に置くというのは「最低限」の話であって、実際にはその先のデータ分析チームとかに発展させていかなければ真に価値あるデータ活用に繋げることは出来ないもの。あくまでもデータ活用の第一歩とご理解いただければ幸いです。

*1:もちろんバスケットデータなど例外は幾らでもありますが

*2:例えば商品価格の情報に日本円と米ドルとユーロが混在してるとか

*3:NAの表現があるところでは空セルなのにあるところではNULLと文字列で入ってたりとか

*4:IoTデータなんかを想像してみてください

*5:実際に聞いたことのある話では、全く同じ商品に対するPOSデータの値が店舗ごとに全て異なるみたいなケースとか