Slide 1

Slide 1 text

カルチャーとエンジニアリングをつなぐ データプラットフォーム
 竹野 峻輔
 Data Platform Meetup #1 


Slide 2

Slide 2 text

みなさんデータ使ってますか
 Data Platform Meet up #1

Slide 3

Slide 3 text

そのデータは価値を届けられていますか
 Data Platform Meet up #1

Slide 4

Slide 4 text

データを扱っていて辛くなったことありませんか
 Data Platform Meet up #1

Slide 5

Slide 5 text

データ基盤つくらば穴二つ...
 分析者 / サイエンティスト / 機械学習 
 基盤 / インフラ
 なぜ私がデータ整備しないといけない のか データ利用の交渉だけで時間の大半を使う 前処理が9割 ビッグデータ(Excel) 再現できない分析 パイプライン長すぎ ... テーブル・ログがカオス 作ったものの誰も使わない箱物 使う人はたくさんいるのに 作る人がいない ... 自社サービスなのに クローリングする必要がある ワークフローがカオス 更新されていないテーブル (で、された分析たち) サービスの都合で壊れる Data Platform Meet up #1 他人のSQLは読めない

Slide 6

Slide 6 text

何かがおかしい 
 Data Platform Meet up #1

Slide 7

Slide 7 text

「幸福なデータ基盤はどれも似たものだが、  不幸なデータ基盤はそれぞれの仕方で不幸である。」
 編集 from レフ・トルストイ ー『アンナ・カレーニナ』冒頭の一節 Data Platform Meet up #1

Slide 8

Slide 8 text

出典: How do Data Professionals Spend their Time on Data Science Projects? Data Platform Meet up #1

Slide 9

Slide 9 text

データを扱う人の50%は準備に時間を使っている
 (そしてこれには ”プロジェクト”の前処理時間は含まれていない) 
 Data Platform Meet up #1

Slide 10

Slide 10 text

なぜこんなにもデータを扱うのが大変なのか?
 Data Platform Meet up #1

Slide 11

Slide 11 text

Data Platform Meet up #1

Slide 12

Slide 12 text

これをお話しする人
 竹野 峻輔(@takegue) 
 Data Platform Meet up #1 Retty ← 修士(NLP; 機械翻訳)← 高専 
 
 Core Value @Retty: データアーキテクト 
 データの価値を最大化する仕組み/設計の実現 
 
 
 執筆活動:
 「優先度学習による推薦文からの見出し抽出」OR学会 
 「やってみよう! 機械学習 (Sotware Design)」 
 「試して学ぶ 機械学習入門 」他…


Slide 13

Slide 13 text

サービス紹介
 Data Platform Meet up #1

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text

No content

Slide 16

Slide 16 text

Data Platform Meet up #1

Slide 17

Slide 17 text

No content

Slide 18

Slide 18 text

プロダクトを支える分析チーム - チーム編
 詳細は以下の記事: Rettyの意思決定を最大化!データ分析チームの取り組みをご紹介 
 Data Platform Meet up #1 https://engineer.retty.me/entry/2018/12/18/115020

Slide 19

Slide 19 text

Rettyここ数年の活動
 Data Platform Meet up #1 4,000 
 46,000


Slide 20

Slide 20 text

Rettyここ数年の活動
 Data Platform Meet up #1 4,000 
 46,000


Slide 21

Slide 21 text

Rettyここ数年の活動
 Data Platform Meet up #1 4,000 Query / 月 46,000 Query / 月 (2017/11/01) (2019/8/01)

Slide 22

Slide 22 text

Rettyここ数年の活動
 Data Platform Meet up #1 4,000 Query / 月 46,000 Query / 月 (2017/11/01) (2019/8/01)

Slide 23

Slide 23 text

Rettyここ数年の活動
 Data Platform Meet up #1 4,000 Query / 月 46,000 Query / 月 自動化等の動き (2017/11/01) チーム発足 (2019/8/01) 自動化&仕組み化 色々スケーリング

Slide 24

Slide 24 text

プロダクトを支える分析チーム - 実践編
 詳細は以下の記事: ベンチャー企業におけるDWH DevOps @ Retty 
 
 Data Platform Meet up #1 https://engineer.retty.me/entry/2018/12/15/120322_dwh

Slide 25

Slide 25 text

Data Platform Meet up #1 大事にしていること:

Slide 26

Slide 26 text

「価値のデリバリ」
 Data Platform Meet up #1 大事にしていること:

Slide 27

Slide 27 text

「データが生む価値とは何か?」
 Data Platform Meet up #1

Slide 28

Slide 28 text

データが生む価値とは何か?
 Data Platform Meet up #1 https://www.reddit.com/r/ProgrammerHumor/comments/asejke/every_day_at_work/

Slide 29

Slide 29 text

データが生む価値とは何か?
 Data Platform Meet up #1 https://www.reddit.com/r/ProgrammerHumor/comments/asejke/every_day_at_work/

Slide 30

Slide 30 text

データが生む価値とは何か?
 Data Platform Meet up #1 頭の中にユーザはいない; 推測するな、計測しろ https://www.reddit.com/r/ProgrammerHumor/comments/asejke/every_day_at_work/

Slide 31

Slide 31 text

データが生む価値とは何か?
 Data Platform Meet up #1 データは大事だけど価値を産まない

Slide 32

Slide 32 text

データが生む価値とは何か?
 Data Platform Meet up #1 データは大事だけど価値を産まない 得られた「データ」自身は 恣意的で偶発的ですぐ嘘をつく ● 作り手のコンテキストのバイアスも多分に含まれる。 ● サービスにおいては同じデータが同じように生まれる時は二度と来ない。 ● 様々な理由によりデータは嘘をつく 同じデータでも異なる決断が行われる どちらを選ぶか?: 「資産が10%の確率で10倍、1%の確率で100倍」

Slide 33

Slide 33 text

データが生む価値とは何か?
 Data Platform Meet up #1 データは大事だけど価値を産まない 得られた「データ」自身は 恣意的で偶発的ですぐ嘘をつく ● 作り手のコンテキストのバイアスも多分に含まれる。 ● サービスにおいては同じデータが同じように生まれる時は二度と来ない。 ● 様々な理由によりデータは嘘をつく 同じデータでも異なる決断が行われる どちらを選ぶか?: 「資産が10%の確率で10倍、1%の確率で100倍」 一方で、公平ではある (≠ 客観性がある)。見る人全員に、ひとつの事実 (嘘も含む)を示す。

Slide 34

Slide 34 text

データが生む価値とは何か?
 Data Platform Meet up #1 データの一番の価値は「データが言語であること」 - 英語は「みんなが話す」からこそ重要である。 - 数式は「誰が話しても同じ」だからそ重要である

Slide 35

Slide 35 text

データが生む価値とは何か?
 Data Platform Meet up #1 データの一番の価値は「データが言語であること」 - 英語は「みんなが話す」からこそ重要である。 - 数式は「誰が話しても同じ」だからそ重要である 「言語」では関心によって、新しく「言葉」がうまれる。これが一番の効果。 - モンゴル語: 家畜に関する表現が細部化 - 日本語: 四季に関する表現

Slide 36

Slide 36 text

「言語」としてのデータ
 Data Platform Meet up #1 では、プロダクト・組織における「関心」とは何か

Slide 37

Slide 37 text

カルチャー
 Data Platform Meet up #1

Slide 38

Slide 38 text

「カルチャー」がデータの価値を定義する
 Data Platform Meet up #1 ● カルチャーとは価値基準 (外見) ○ 難しい技術を使うことを価値にする組織もある ■ 希少性が出るため社会全体で価値がでる ○ 一方で、簡単な技術を使って、価値にする組織もある (参考: 枯れた技術の水平思考 ) ● Rettyでもっとも尊ぶべき価値基準は「User Happy」 ● 話せる言語にしていくのがデータプラットフォームのゴール

Slide 39

Slide 39 text

「カルチャー」がデータの価値を定義する
 Data Platform Meet up #1 とはいえ、現実は簡単にはうまくいかない 「カルチャー」が「データの価値」を決めるとわかったところで 「価値のデリバリ」には至らない なぜか? - 大量のデータを簡単に扱うことはそもそも難しい( 簡単にするだけでで時間の 9割を使う) - そして、そもそもどういう言葉を話したいか決まっていないからである - 英語を公用語にする難しさと、データで会話するようになる難しさは似ている - +話せる言葉を作る難しさが生じるためである

Slide 40

Slide 40 text

エンジニアリング
 Data Platform Meet up #1

Slide 41

Slide 41 text

大量のデータを扱うのはそもそも難しい
 Data Platform Meet up #1 エンジニアリングとは実現水準(中身) ○ 外見に中身は追いつかないといけない i. 頭の中がお花畑でも悲観的でもよくない ii. 箱物(内政プラットフォーム ) にしてはいけない ○ 現実には様々な制約が存在する i. サービス規模、ユーザ規模、アプリケーション規模 お金, 時間, 人の関心を含めた様々な制約。 ○ そのなかで、早く・安く・うまいが目指せると良い i. 早く: なるべく早くデータを使える状態 ii. 安く: 大量のデータを転送するコストやキャパシティを適切に設定し最適化する iii. うまい: 正しいデータ。データから得られる価値を最大化する必要がある

Slide 42

Slide 42 text

Data Platform Meet up #1 カルチャー
 エンジニアリング


Slide 43

Slide 43 text

Data Platform Meet up #1 カルチャー
 エンジニアリング
 このギャップをいかに埋めるか? 2つの観点

Slide 44

Slide 44 text

Data Platform Meet up #1 カルチャー
 エンジニアリング
 サイエンス 必要の発見: 発見のためには道具がいる。プロセスの科学 ○ 価値基準から「to be」を見出すことは、新しい道具を作る動機となる ○ 良い道具を発明することにより優れた価値基準が追求できるようになる * 今もっている道具は虫めがね?それとも顕微鏡?それとも望遠鏡?

Slide 45

Slide 45 text

Data Platform Meet up #1 カルチャー
 エンジニアリング
 デザイン 仕組みの意味化: カタチが決まるとヒトの動きも決まる ○ 必要なことを自然と正しく行える; アーキテクチャ ○ 変わりやすいものと変わらないものをちゃんと見極める

Slide 46

Slide 46 text

Data Platform Meet up #1 カルチャー
 エンジニアリング
 サイエンス デザイン

Slide 47

Slide 47 text

Data Platform Meet up #1 カルチャー
 エンジニアリング
 プラットフォームのスコープ サイエンス デザイン

Slide 48

Slide 48 text

プラットフォームへ落とし込む
 Data Platform Meet up #1

Slide 49

Slide 49 text

データ基盤つくらば穴二つ... (再掲)
 分析者 / サイエンティスト / 機械学習エンジニア 
 基盤開発者 / インフラ 
 なぜ私がデータ整備しないといけない のか データ利用の交渉だけで時間の大半を使う 前処理が9割 ビッグデータ(Excel) 再現できない分析 パイプライン長すぎ ... テーブル・ログがカオス 作ったものの誰も使わない箱物 使う人はたくさんいるのに 作る人がいない ... 自社サービスなのに クローリングする必要がある ワークフローがカオス 更新されていないテーブル (で、された分析たち) サービスの都合で壊れる Data Platform Meet up #1 他人のSQLは読めない

Slide 50

Slide 50 text

事例から学ぶ 「安易な役割分担は、サイロ化を起こす」

Slide 51

Slide 51 text

「データの品質」は「データエンジニア」だけの関心か?
 Data Platform Meet up #1 ● 「分析の品質」: Garbage In, Garbage Out ○ 「データの良し悪し」 は分析の品質の重要な要素 ■ 優れた料理人は手に馴染む良い道具 で良い食材を使って良い料理を作る ● 料理人に畑を耕させるのは違う。この線引きは頑張る ● リソース効率ではなくフロー効率に着目する ○ チームで最大化したいのは「データ出しの量」ではない ○ 属人化した分析もまたサイロ化をうむ ; 優れた人の寄せ集めだけでもダメ (チームの必要性) Rettyでのひとつの答え → DWHを「分析者のプロダクトにする」

Slide 52

Slide 52 text

データプラットフォーム 〜 分析者にとっての「プロダクト」にする Design Build from The Architect's Handbook of Professional Practice: Architect-Led Design-Build こうではなく

Slide 53

Slide 53 text

データプラットフォーム 〜 分析者にとっての「プロダクト」にする Design Build Build Design from The Architect's Handbook of Professional Practice: Architect-Led Design-Build こうではなく こう ナレッジを持つ人がプラットフォームにコミットする

Slide 54

Slide 54 text

Rettyでの現状の取り組み ● 「50%の時間を削る」ではなく「 50%の時間をインサイトがたまる時間」にする ● インターフェースをSQLだけ、シンプルに絞る ○ DWHへのETLのELぐらいに止める。頑張りすぎない ○ 大事なViewにテストを書く: SQLでテストを書く → 分析者の仮定がコードになる ○ そのためのツール整備、交通整理を行う ダッシュボードツールやスプレッドシートなど ● 少人数の派遣型の分析の取り組みによりドメイン知識がだんだんとチームに集約 ○ そして、そのナレッジを持つ人がプラットフォームにコミットする (Knowledge As Code) ● プロダクトの知見をおおよそチーム・基盤に集約ができてきた ○ 分析者をその観点や指標の推移をすぐに知ることができる (時間がないので手短に )

Slide 55

Slide 55 text

発表のまとめ
 1 Data Platform Meet up #1 ドメインを持つもの人がプラットフォームの最前線で開発する
 2 カルチャー(価値基準) と エンジニアリング(実現水準)をつなげる
 ヒト・モノ・コトのつなぎ目に価値は生まれる 
 安易な分割はしない; 
 前線で全ての知識が集まるようにする;そのための交通整理・整備を行う 
 Rettyのプラットフォームとしての取り組みの考え方を紹介 


Slide 56

Slide 56 text

おわり
 Data Platform Meet up #1