Hacobuは、「持続可能な物流インフラを創る」というビジョンのもと、物流領域の課題解決に向けたSaaS型アプリケーション「MOVO」シリーズを展開しています。MOVOシリーズを通じて、物流領域で生まれるビッグデータを蓄積して課題を可視化し、効果的な解決策を導き出すことを目指しています。
蓄積したビッグデータをさらに活用し、物流領域の最適化を支援するプロダクトが、2024年9月にHacobuが提供開始した「MOVO X-Data」です。この新たな共同輸配送支援サービスは、企業・物流拠点をまたぐデータの共有と分析を通じ、運行の効率化をサポートし、物流の最適化を目指します。開発に携わったCTO室 室長の三木が、物流領域の課題をどのようにデータで解決していくのか、その舞台裏を語ります。
───まず始めにCTO室の活動について教えてください
CTO室は主にプロダクトプラットフォームの構築・運用、データ基盤の構築・運用、そしてPoC(Proof of Concept)や研究開発を担当する部署です。PoCとは、アイデアや技術が実際に機能するかどうかを試すための初期段階の実験のことを指します。MOVO X-DataはまずこのPoCとして始まり、その後新規プロダクトとして開発が進むことになりました。
MOVO X-DataはMOVOシリーズのプロダクトデータを使って分析を行うシステムですが、データ基盤にはプロダクトデータが入っているので、PoC段階ではこれを検証用のデータとして活用することで素早く開発を行うことができました。またプロダクトプラットフォームをAWS上に構築しているので、本番開発で使う新たなデータ連携の仕組みもスムーズに開発を行うことができました。プロダクトプラットフォームやデータ基盤については次の記事をご覧ください。
https://www.wantedly.com/companies/hacobu/post_articles/874934
https://www.wantedly.com/companies/hacobu/post_articles/874624
───MOVO X-Dataはどのようなプロダクトですか?
MOVO X-Data は、輸配送効率化を実現する共同輸配送支援サービスです。拠点や企業の垣根を越えて、データを軸とした輸配送効率化を実現します。物流現場の人はMOVO を活用して課題を解決し、その過程で生成されたデータを分析することでさらに輸配送を効率化することができます。また通常は特定の会社内に閉じた形で分析を行いますが、会社の垣根を超えてセキュリティに配慮しながらデータを共有し分析を行うことができることが特徴となっています。
※関連プレスリリース:
技術的には分析ツールになるので参照に寄ったシステムになっています。Hacobuが提供する動態管理サービス「MOVO Fleet(ムーボ・フリート)」 で生成されるビッグデータを主に利用してインタラクティブな分析を実行するためにクエリの実行速度が重要です。MOVO Fleet でどのようなデータが生成されているかについては次の発表で詳しく扱っています。
https://speakerdeck.com/hacobu/deng-tan-zi-liao-san-tuo-shi
───PoCはどのように進めましたか?
まずは有効な分析が実行可能かを検証するために、Hacobu社内のコンサルティングチームやPdMと共にデータ基盤上で分析を行いました。この段階ではBigQuery で初期集計を実行し、エクセルで分析・アウトプットしてお客様と議論するのをひたすら繰り返していました。
次に分析が実行可能そうなことが見えてきたら実際のデータでインタラクティブに分析が実行できる環境をPoCとして実装しました。実装は一人で行なっていたため、バックエンドとフロントエンドのコードを1つのリポジトリでまとめて管理するmonorepo構成を採用しました。UIモックの構築・実データを使った分析ができるところまで3週間程度で行いました。ちなみにこの時のコードは本番構築時には全て置き換えることを上長と議論し、合意していたのでスピードを最優先に進めることができました。
出来上がったPoC分析環境は一部のお客様にも開放し、実際に使ってもらいながらフィードバックを取り込んでいくことでUX含めブラッシュアップすることができました。
───本番構築にあたって工夫した点は?
まずMOVO Fleet とデータ連携を行う必要がありました。データ量が膨大なのでHTTP APIでの連携は難しかったのですが、幸いユースケース的にリアルタイムでの連携は不要であるという特徴がありました。MOVO Fleet のデータベース(DB)に負荷をかけないよう、DBのダンプデータをAWS Athena で扱えるようにし、MOVO X-Data用の分析データを生成するようにしました。
分析データはレコードがどんどん増えていくことが見込まれ、分析クエリのパフォーマンスも担保する必要があったので、テーブル構成を工夫することでストレスなくビッグデータを分析できるようにしています。
ロードマップとしてMOVO Fleet 以外のデータや、MOVO外のシステムデータの取り込みを計画しています。このような様々なシステムのデータを横断して分析実行するために統一的なデータモデルを設計する必要があり、この部分が一番難しくまた面白い部分であると思っています。
最後に
MOVO X-Dataは従来のMOVOシリーズの上に構築されたような分析のためのプロダクトです。進化したMOVOの新プロダクトの開発をリードしていただけるエンジニアを募集中なので、興味を持った方はぜひお話しさせてください。