データ・パイプラインのラストワンマイル問題
物流業界には「ラストワンマイル」という言葉がある。
「交通結節点から最終目的地までの人やモノの移動を表す」用語だそうだ。このラストワンマイルの管理が非常に難しく、Amazonとかヤマト運輸がいろいろ苦労したらしい。
データパイプラインにも似たようなものがあるな、と最近思うようになってきた。話を簡単にするため、社内のマーケティングチーム向けにデータを提供する場合を考えてみよう。
データウェアハウスに格納されたデータをマーケティングチーム向けに提供する方法は複数ある。
- データ分析チームがダッシュボードを作り、マーケティングチームに見てもらう
- データ分析チーム自身がSQLを書き、マーケティングチームにデータを提供する
- マーケティングチーム自身にSQLを書き、データを抽出してもらう
ざっとこんなものだと思う。
体感、7割くらいのニーズはダッシュボードで満たせる。残り3割のニーズを満たすにはどうしたらいいだろう?
マーケターにSQLを書いてもらうのは難しい。そもそも彼らの主な仕事はユーザー体験の貢献とクライアントへの対応であって、SQLを書くことは複数ある業務の中の一つに過ぎないし、その割に学ぶべきことは多い。やることが多すぎる。現実的ではない。
そうなると、必然的にデータ分析チームに依頼が回ることになる。だが、抽出にかかる時間が長すぎて、今度はマーケター側の不満がたまってしまう。
この3割をどうやって満たせばよいのだろう?ということを考えるようになった。これがラストワンマイル問題だ。まとめると
- ダッシュボードの作成では見たせないニーズをいかにして素早く満たすか?
というのを「データパイプラインのラストワンマイル問題」と名付けたい。
解決策
として考えたもの
解決策1 : ダッシュボードをマーケター側に作ってもらう
- 管理できない野良ダッシュボードが作られてとんでもないことになるリスクが大きい
解決策2 : アナリストをマーケター側に張り付けさせる
- 定型的ではない柔軟な分析が可能
- しかし問題の構造は変わらない。結局はスケールしない状況になる。
解決策3 : 柔軟性のあるインターフェースの提供
- これなら、ダッシュボードでは実現できないような柔軟な分析をスケールする手段で提供できる
- ただし、定型的である前提がある
- 具体的にはStreamlitなど
とりあえず3をやってみることにした。 GitHub Actionsをいい感じに書いて、CI/CDの体制を整え、変更を迅速かつ容易にデリバリーできるようにすれば、なんとかできるはずだ。