Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Exploratoryを使ったゆとりあるワークフロー管理

Ikuya Murasato
November 12, 2021

 Exploratoryを使ったゆとりあるワークフロー管理

2021/11/12(金)に開催したExploratory データサイエンス勉強会#21の株式会社サイズ様のご登壇資料です。

Ikuya Murasato

November 12, 2021
Tweet

More Decks by Ikuya Murasato

Other Decks in Business

Transcript

  1. 2021/11/12
    株式会社サイズ 相澤 健
    -Exploratoryを使ったゆとりあるワークフロー管理-

    View Slide

  2. 会社紹介
    2
    株式会社サイズ
    • 設 立 :2003年4月
    • 事 業 所:営業本部 渋谷区道玄坂1-18-1
    • 研究開発センター 名古屋市中村区名駅3-20-21
    • 社 員 数:16名 (営業 7名 エンジニア 9名)

    View Slide

  3. 会社紹介
    3
    株式会社サイズ
    • 事業内容 :アンケートシステムORCAの開発 ※1
    システム開発/システムコンサルティング
    (調査画面作成、ORCA周りの受託開発、調査のシステム運用等
    調査業務知識は数名保有、データ分析業務は現状2名)
    • 主取引先 :市場調査会社(ビデオリサーチ社、楽天インサイト社
    イプソス社、アスマーク社、東京商工リサーチ社等)
    ※1.ORCA(Online Research Control system Architecture)
    本気でリサーチ(調査)をしたいというお客様の要望に応えるオンラインアンケートシステム

    View Slide

  4. 自己紹介
    名前:相澤 健(あいざわ たけし)
    2016年にサイズに入社
    業務内容:データの加工・集計・分析を行っています。
    扱う対象はアンケートデータ・ログデータ
    使用ツール:Excel、Excel VBA、Access、SQL、Tableau、R、
    Exploratory(New)
    ※ゴリゴリの文系なので専門用語の誤用などあるかもしれませんが温もり目線で見守ってください
    4
    本日はそんな私がExploratoryと出会う前、出会ってからのお話です

    View Slide

  5. Agenda
    • プロローグ
    • どのツールでやるべきか
    • どのツールでやったのか
    • ワークフロー管理
    • まとめ
    5

    View Slide

  6. プロローグ
    ???「ユーザーが解約する場合、サイト内の行動に特徴はあるのか?」
    -とあるサービスを展開する企業。
    解約者の増加に悩んでいる。
    解約者を減らしたい。
    解約者のサイト内の行動に何かヒントは無いか-
    6

    View Slide

  7. プロローグ
    7
    ぼく「DWHにデータとマスタが入っているからSQLでデータを取り出して…」
    ぼく「特徴って何だろう。とりあえずクロス集計を見て、それから統計的手法を
    どうするか考えるか」
    ぼく「アウトプットはグラフが必要だね。とりあえずtableauで見てみるか」
    ぼく「やったことないこともあるから調べながら進めるか」

    View Slide

  8. 2H
    5H
    10H
    5H
    3H
    5H
    データ抽出
    データ傾向の確認
    (外れ値・Null)
    データの加工・成型
    分析の実施
    検証
    グラフ作成
    試行錯誤の
    繰り返し
    プロローグ
    8
    分析の実施
    検証
    データの
    加工・成型
    グラフ作成
    ぼく「ざっくりプロセスと時間配分はこんな感じかな」
    Total
    30H?
    データ抽出
    データ傾向の確認
    (外れ値・欠損値)

    View Slide

  9. 登場ツール紹介
    9
    ツール名 特徴
    Excel
    ぼくの幼馴染。幅広くいろんなことが出来る。表やグラフでは頼りになる。でも最近の進化につ
    いていけずに疎遠に…
    R
    3年前に知り合う。統計解析に優れたツール。コードを書けばたいていのことは出来る。ぼく
    は独学のためggplotや%>%を使ったモダンな書き方は苦手。
    SQL
    2年前に知り合う。DWHからデータ抽出のための必須ツール。独学のためwithを多用して
    長めのコードになりがち。
    Tableau
    4年前に知り合う。大規模なデータでもグラフ化が得意。ダッシュボードではフィルタを使った
    探索的な使い方が出来て便利。
    シリコンバレーからやって
    きた謎のツール
    その正体はまだ不明
    ※発表者個人の見解であり、所属する団体の公式な見解ではありません

    View Slide

  10. Agenda
    • プロローグ
    • どのツールでやるべきか
    • どのツールでやったのか
    • ワークフロー管理
    • まとめ
    10

    View Slide

  11. それはどのツールでやるべきか-テキスト加工編-
    ぼく「ID毎に個別URLになっちゃうからURLからパラメータ部分を除きたいんだけど…」
    https://example.com?key=1234←この部分がユーザーID毎に異なるので、条件によって置換し
    たい
    11
    SQL「オレに任せろ!REGEXP_REPLACEで正規表現を使って置換だ」
    R「いや、それならオレだ!gsubで正規表現を使って置換だ」
    Tableau「オレを忘れてもらっては困るな!REGEXP_REPLACEが実装されてるぞ」
    Excel「ワイルドカード使って置換…」
    ぼく「今回は数百万レコードあるからSQLで処理するかな…」

    View Slide

  12. それはどのツールでやるべきか -データ成型編-
    ぼく「ログデータで縦になっているものをID毎にカラムにドメインが来るように加工したいんだけど」
    12
    SQL「方言あるぞ!詳しくは調べてコードを書いてくれ!」
    R「いや、それならオレだ!tidyrが充実してるぞ!cranで調べてコード書いてくれ!」
    Tableau「オレを忘れてもらっては困るな!右クリックメニューにあるぞ」
    Excel「Power Queryエディターでできるよ…」
    ぼく「簡単にできそうだからtableauでやっちゃおう…」
    ID URL
    111 https://example.com/aaa
    111 https://example.com/bbb
    111 https://example.com/ccc
    222 https://example.com/aaa
    222 https://example.com/ccc
    ID https://example.com/aaa https://example.com/bbb https://example.com/ccc
    111 1 1 1
    222 1 0 1

    View Slide

  13. それはどのツールでやるべきか -統計分析編-
    ぼく「ロジスティック回帰をやりたいんだけど」
    13
    SQL「連携している別のサービスがあるぞ!」
    R「いや、それならオレだ!glmだよ!」
    Tableau「そういうことはRやPythonに連携できるぞ!」
    Excel「地道に計算していけば出来るよ…」
    ぼく「統計解析はRが得意だよね…」

    View Slide

  14. それはどのツールでやるべきか→何が起きていたのか
    • データ量(レコード数)によって使えるツールが限定される
    • 学習コストを下げるために複数のツールを使い分ける(どれかをきちんと学習すれば使い分け
    る必要はないのかもしれないけれど)
    • 使い慣れていないツールだとエラーが頻発(ストレスの原因に)
    • 複数のツールを行き来するためにCSVファイルが必要(なケースがある)
    14

    View Slide

  15. 試行錯誤の
    繰り返し
    分析の実施
    検証
    データの
    加工・成型
    グラフ作成
    データ抽出
    データ傾向の確認
    (外れ値・欠損値) 2H
    5H
    10H
    5H
    3H
    5H
    データ抽出
    データ傾向の確認
    (外れ値・Null)
    データの加工・成型
    分析の実施
    検証
    グラフ作成
    15
    Total
    30H?
    それはどのツールでやるべきか→何が起きていたのか
    SQL
    Tableau
    R
    Excel
    学習コスト
    が含まれ
    ている
    学習コスト
    が含まれ
    ている
    ツールの
    切り替えが必要
    ツールの
    切り替えが必要
    ツールの
    切り替えが必要
    CSVファイルが
    必要

    View Slide

  16. Exploratory導入後⇒その結果
    何かお困りですか?
    16

    View Slide

  17. ぼく「ID毎に個別URLになっちゃうからURLからパラメータ部分を除きたいんだけど…」
    https://example.com?key=1234←この部分がユーザーID毎に異なるので、条件によって置換したい
    17
    サマリービュー画面で「テキストデータの加工」から加工したい形式を
    選ぶだけで出来ますが、何か?

    View Slide

  18. 18
    しかもプレビューで結果を確認しながら置換できますが、何か?
    ※プレビューで置換したい対象を絞りこむことも出来ます
    ぼく「ID毎に個別URLになっちゃうからURLからパラメータ部分を除きたいんだけど…」
    https://example.com?key=1234←この部分がユーザーID毎に異なるので、条件によって置換したい

    View Slide

  19. ぼく「ログデータで縦になっているものをID毎にカラムにドメインが来るように加工したいんだけど」
    19
    ID URL
    111 https://example.com/aaa
    111 https://example.com/bbb
    111 https://example.com/ccc
    222 https://example.com/aaa
    222 https://example.com/ccc
    ID https://example.com/aaa https://example.com/bbb https://example.com/ccc
    111 1 1 1
    222 1 0 1
    「ロング型からワイド型へ(Gather)」を選ぶことで
    数クリックで加工出来ますが、何か?

    View Slide

  20. ぼく「ログデータで縦になっているものをID毎にカラムにドメインが来るように加工したいんだけど」
    20
    ID URL
    111 https://example.com/aaa
    111 https://example.com/bbb
    111 https://example.com/ccc
    222 https://example.com/aaa
    222 https://example.com/ccc
    ID https://example.com/aaa https://example.com/bbb https://example.com/ccc
    111 1 1 1
    222 1 0 1
    「ロング型からワイド型へ(Gather)」を選ぶことで
    数クリックで加工出来ますが、何か?

    View Slide

  21. ぼく「ロジスティック回帰をやりたいんだけど」
    21
    アナリティクスビューで目的変数と予測変数、
    いくつかのオプションを設定すれば出来ますが、何か?

    View Slide

  22. 2H
    5H
    5H
    2H
    3H
    5H
    データ抽出
    データ傾向の確認
    (外れ値・Null)
    データの加工・成型
    分析の実施
    検証
    グラフ作成
    22
    Total
    22H?
    それはどのツールでやるべきか→何が起きていたのか
    ※個人の感想であり、効果・効能を保証するものではありません
    試行錯誤の
    繰り返し
    分析の実施
    検証
    データの
    加工・成型
    グラフ作成
    データ抽出
    データ傾向の確認
    (外れ値・欠損値)
    ツールの切り替え無しですべてExploratoryで出来ますが、何か?
    ※データソースを「データベースデータ」にした場合はSQLを記述する必要があります
    やりたいことは、学習コストなしで
    クリックメニューで出来ますが、何か?

    View Slide

  23. Agenda
    • プロローグ
    • どのツールでやるべきか
    • どのツールでやったのか
    • ワークフロー管理
    • まとめ
    23

    View Slide

  24. それはどのツールがやったのか -コード記述編-
    ぼく「外れ値の処理をしたけど、具体的な条件はどこに書いたっけ?」
    24
    R「コードはコメント無しで50行あるぞ」
    SQL「whereで書いてないかな?」
    ぼく「あれ?なかなか見つからない…コードが長くなると探すのも大変… 」

    View Slide

  25. それはどのツールがやったのか -処理結果確認のための集計編-
    ぼく「あれ?なんで欠損値になっているんだろう?どこかで処理が間違っているのかな」
    25
    SQL「ちゃんと集計して確認した?」
    Tableau「ちゃんと集計して確認した? 」
    R「ちゃんと集計して確認した? 」
    ぼく「集計して確認したらJOINの条件が足りてなかったか… 」

    View Slide

  26. それはどのツールがやったのか -再処理編-
    ぼく「やっぱりここの条件を変えてみようかな。変更して再処理するか」
    26
    SQL「よっしゃもう一回実行するよ」
    Tableau「よし、もう一回処理するよ」
    R「よし、もう一回処理するよ」
    Excel「入力ファイルと出力ファイルがたくさん出来るぞ」
    ぼく「そうか、変更処理を上流工程に入れちゃうと後の処理はすべてやり直しだよね…」

    View Slide

  27. それはどのツールがやったのか→何が起きていたのか
    • (コードを書くことで出来ることは増えるけれど)可読性が低くなり、見直す必要があるときに
    コードを読んで理解する時間がかかる
    • ミスが発生していた場合、工程の(処理毎に結果が可視化されないので)検証に時間が
    かかる
    • 初めから全体の工程を考えていても、分析のアイデアを試すために処理の追加・入れ替えを
    行うと検証が増えて時間がかかる(ツールが分かれているとファイルも多くなりがち)
    27

    View Slide

  28. 2H
    5H
    10H
    5H
    3H
    5H
    データ抽出
    データ傾向の確認
    (外れ値・Null)
    データの加工・成型
    分析の実施
    検証
    グラフ作成
    28
    Total
    30H?
    SQL
    Tableau
    R
    Excel
    複数ツー
    ルで再処
    理が必要
    それはどのツールがやったのか→何が起きていたのか
    試行錯誤の
    繰り返し
    分析の実施
    検証
    データの
    加工・成型
    グラフ作成
    データ抽出
    データ傾向の確認
    (外れ値・欠損値) 細かい集
    計・検証
    が必要
    複数ツー
    ルで再処
    理が必要
    細かい集
    計・検証
    が必要

    View Slide

  29. Exploratory導入後⇒その結果
    何かお困りですか?
    29

    View Slide

  30. ぼく「外れ値の処理をしたけど、具体的な条件はどこに書いたっけ?」
    30
    STEPで処理を可視化出来ますが、何か?

    View Slide

  31. ぼく「あれ?なんで欠損値になっているんだろう?どこかで処理が間違っているのかな」
    31
    しかもSTEP毎にサマリービューで集計値を確認できますが、何か?

    View Slide

  32. ぼく「あれ?なんで欠損値になっているんだろう?どこかで処理が間違っているのかな」
    32
    集計値を確認できるので、
    欠損値はもちろん異常値がある場合もすぐに分かる

    View Slide

  33. ぼく「やっぱりここの条件を変えてみようかな。変更して再処理するか」
    33
    しかもSTEPに「三」で追加(挿入)・
    ドラッグ&ドロップでの順序入れ替え・複製も
    簡単にできますが、何か?

    View Slide

  34. 2H
    1H
    2H
    2H
    1H
    5H
    データ抽出
    データ傾向の確認
    (外れ値・Null)
    データの加工・成型
    分析の実施
    検証
    グラフ作成
    34
    それはどのツールがやったのか→何が起きていたのか
    Total
    13H?
    ※個人の感想であり、効果・効能を保証するものではありません
    試行錯誤の
    繰り返し
    分析の実施
    検証
    データの
    加工・成型
    グラフ作成
    データ抽出
    データ傾向の確認
    (外れ値・欠損値)
    STEP毎にサマリービューで集計結果が可視化されますが、何か?
    ※しかもデータの型(Numeric/date等)によって適切に集計されます
    処理は付箋の感覚で追加・入れ替えが簡単ですが、何か?
    ※しかも変更が発生すると自動で再処理されます

    View Slide

  35. Agenda
    • プロローグ
    • どのツールでやるべきか
    • どのツールでやったのか
    • ワークフロー管理
    • まとめ
    35

    View Slide

  36. Exploratory導入後
    • データ抽出・ラングリング(ETL)・分析(・アウトプット)ツールの一本化
    • 高度な処理もクリックメニューで実現できるので学習コストの低下
    • 処理条件・工程の一覧化(STEP)
    • 処理結果の逐次可視化(サマリービュー)
    • ドラッグ&ドロップでの処理工程の入れ替え
    ※アウトプットはまだ布教が足りずExcelやPPTに頼りがち
    36

    View Slide

  37. 2H
    5H
    10H
    5H
    3H
    5H
    データ抽出
    データ傾向の確認
    (外れ値・Null)
    データの加工・成型
    分析の実施
    検証
    グラフ作成
    37
    Exploratory導入後
    2H
    1H
    2H
    2H
    1H
    5H
    データ抽出
    データ傾向の確認
    (外れ値・Null)
    データの加工・成型
    分析の実施
    検証
    グラフ作成
    Total
    13H?
    Total
    30H?
    ツールの切り替え無しですべてExploratoryで出来ますが、何か?
    ※データソースを「データベースデータ」にした場合はSQLを記述する必要があります
    STEP毎にサマリービューで集計結果が可視化されますが、何か?
    ※しかもデータの型(Numeric/date等)によって適切に集計されます
    処理は付箋の感覚で追加・入れ替えが簡単ですが、何か?
    ※しかも変更が発生すると自動で再処理されます
    やりたいことは、右クリックメニューで出来ますが、何か?
    ※個人の感想であり、効果・効能を保証するものではありません

    View Slide

  38. Exploratory導入後
    データと向き合える時間が増えた
    38

    View Slide

  39. Exploratory導入後
    だけじゃない
    39

    View Slide

  40. 40
    ブランチで処理の分岐が出来るので、アイデアレベルで試してみたいことは、ブランチで即実行
    「ブランチ」で処理の分岐が出来るぞ
    思いつきレベルで試してみたいことはブランチで出来るぞ
    ただし、ブランチのブランチは出来ないから、そこだけ注意

    View Slide

  41. 41
    大幅に処理を変更するときはデータフレームを複製できるので、元の状態は保持できる
    しかもSTEP単位の複製やSTEPの無効化も出来るので、アイデアレベルを試すときには重宝
    データフレーム・プロジェクトの複製が出来るぞ
    元の状態を残しつつ、少し変えたものを試してみたい場合は重宝
    さらにSTEP自体の無効化も出来るので、色々試せるぞ

    View Slide

  42. 42
    ※個人の感想であり、効果・効能を保証するものではありません
    ワークフロー管理 →何が起きていたのか
    試行錯誤の
    繰り返し
    分析の実施
    検証
    データの
    加工・成型
    グラフ作成
    データ抽出
    データ傾向の確認
    (外れ値・欠損値)
    もちろん試行で使ったSTEPは
    違うデータフレームへ複製できるので、
    本流の分析への反映も簡単だぞ
    試行は複製して行えるので、気軽に実行出来るぞ

    View Slide

  43. Exploratory導入後
    処理工程はSTEP
    試行はブランチや複製で実行
    ワークフローを管理する意識無しに管理できる
    43

    View Slide

  44. Agenda
    • プロローグ
    • どのツールでやるべきか
    • どのツールでやったのか
    • ワークフロー管理
    • まとめ
    44

    View Slide

  45. Exploratoryまとめ
    • ツールの一本化ができるので、すべてのフローを集約できる
    • 高度な分析でも学習コスト不要(分からないことがあっても、サイト内での事例
    掲載やセミナー・動画、チャットでの質問等、フォローが充実)
    • STEP毎にサマリービューで集計結果を確認できるのでミス(処理条件の過不
    足)に気が付きやすい
    • STEP自体がワークフロー(管理している意識なし)
    • ブランチで処理の分岐が出来るので、一つのデータフレームから複数の形式へ
    加工と保持ができる
    • 試したいことはデータフレームの複製やSTEPの無効化・有効化で実施
    45

    View Slide

  46. Exploratoryのメリット
    データと向き合あって
    やりたいこと・試したいことがすぐに出来る
    46

    View Slide

  47. Exploratoryのメリット
    やりたいこと・試したいことの
    結果がすぐに見える
    47

    View Slide

  48. Exploratoryのメリット
    データ分析が楽しくなる!
    48

    View Slide

  49. Enjoy!
    49

    View Slide