すべてのデータを1カ所に集約するとともに、安定したデータ連携の基盤を構築
モノタロウは、BtoBの間接資材販売ECサイト。間接資材とは、工具やネジなどの消耗品、事務用品、科学用品、カー用品など、原材料以外の物品だ。従来、間接資材の取引はメーカーや問屋に問い合わせして見積、価格交渉、発注、納品といったプロセスで行われてきた。モノタロウの場合はECサイトを通じて価格交渉なしですぐ商品を届けられるため、これまでかかっていた購買に関わるコスト削減が実現できた。
徹底したデータマーケティングで成長してきたモノタロウ。現在取り扱う商品のSKU(Stock Keeping Unit、受発注・在庫管理のための最小の管理単位)は1800万と膨大だ。毎年20%成長を続けていると、3.5年後には売り上げやトランザクションは2倍になる。
「データを活用して顧客接点を最適化していくのがモノタロウのデータマーケティングです。おすすめ商品や特価・クーポンなども個別最適化をしています。たとえば、手袋で検索した場合、医療関係者と製造業では違う検索順位で商品が並びます。しかし、1800万SKUのアイテムを手動でチューニングしていくのは不可能です。このため、エンジニアリングによって自動化しながら進化する仕組みが重要となります」と普川氏は話す。
デジタルマーケティングをさらに促進するには、それを支えるデータ基盤の整備が重要である。2017年当時、同社のデータ基盤には、「データの保存場所が分散していて移動が困難」「オンプレミスのデータ基盤向けのサーバースペックが不足」「分析に必要なデータがそろわない」などの問題点が挙がっていた。
普川氏は「データが集約されており、スケールできて、使いやすく、管理しやすく、コストも安いデータ基盤の需要が出てきたので再構築しました。結果からお話しすると、扱えるデータ量は100テーブルから1000テーブルと10倍に、作成されたレポート数も30から300と10倍、SQL を業務に利用する人数は10名から50名へ5倍と大きく増加しました」と語る。
必要なデータはすべてBigQueryに集約して活用されるようになった。ユーザーの行動データはGoogle Analyticsから、WebサーバーやアプリケーションのデータはFluentdやAmazon Kinesisから、OracleやMySQLのデータもすべてBigQueryに集められ、データを保存するとともに、データを加工してデータウェアハウスとしても使われるようにしている。
これにより「BigQueryにあるデータを参照して機械学習の処理をする」「さまざまなダッシュボードを作る」「加工したデータをECサイトの検索用インデックスデータの最適化に活用する」などが可能となった。
普川氏は続いて、新しいデータ基盤が活用されるようになったポイントとして、CDC(Change Data Capture)による安定したデータ連携を挙げた。データの変更情報のみを取得して処理を行うCDCにて擬似的にSlaveDBを作成し、MasterDBに負荷をかけず安定してデータを連携できるようになっている。
CDCは、メインとなる基幹のDB(MySQL)のBinLog Connectorを利用して行われている。BinLog Connectorというプロセスが変更情報のバイナリデータを監視し、変更があるとCloud Pub/Subに通知してProcesserという別のプロセスに渡され、BigQueryのデータとして格納される。変更からBigQuery到達まで1分程度だという。
SQLを業務に利用する人が5倍に増えた理由は、非エンジニアの業務担当者によるSQLデータ分析が浸透したためだ。「従来は業務担当者が分析担当者に依頼すると1日~1週間かかっていました。もともとデータ分析を行う社風のため、業務担当者自身が的確な分析をしたいニーズがあったのです。SQLの学習は、定期的な研修やSlackでQ&Aを行うなどして浸透しました」と普川氏。
データ基盤が整備されることで、データサイエンティストが生成したパーソナライズデータをECのアプリケーションで容易に利用可能になった。普川氏は「より高度な顧客接点での最適化につなげるべく、ECアプリケーション側の抜本的な改革の機運が高まっています」と、新基盤でのECシステム刷新に奮闘している藤本氏の登壇を促した。
情報のリアルタイム反映のため、よりスケーラブルなスパイラル型のシステムへ
普川氏からバトンを受け取った藤本氏は、冒頭、モノタロウECサイトの月間セッションは数千万、注文数は数十万で年々右肩上がりに増加しているとし、それに加えてECサイト構築・運用の複雑さを述べた。
ECサイトには、その構成要素として、トップページ、商品ページ、検索、カート、マイページ、お気に入り、レビューなどがある。「商品ページにある商品に関する情報は商品部門が、在庫は倉庫の管理システムが、キャンペーンはマーケティング部門によって作られます。マイページの情報はユーザーが入力します。このようにさまざまな情報の流れや更新サイクルがあり、これらが集約されているのがECサイトなのです」と藤本氏。
また藤本氏は、ECサイトを取り巻く状況として、ユーザー保護のためのChrome SameSiteやApple ITP2.1といった新たなセキュリティ対策への対応、システム面では既存コードのリファクタリングの必要性や、APIエンドポイント・リクエスト数増加、リアルタイムマーケティング施策の増加など、スケーラビリティと可用性の両立が求められていることを説明した。
モノタロウでは、こうした背景において顧客のLife Time Valueを高めるため、データを活用したSEM・リスティング広告、業種別のレコメンド、検索結果最適化、キャンペーン・特価などをリアルタイムに最適化していきたいニーズを持っている。
従来のモノタロウのシステムは、MySQLのデータベースを中心としたスター型のシステムだ。AWSにあるECシステムやWebAPI、倉庫や商品・顧客情報と連携するオンプレミスの基幹システム、メールやカタログ発送を行うマーケティングのシステム、GCPデータ基盤などがそれぞれ参照・連携している。
非対称のマルチクラウド環境であり、各データの更新頻度にばらつきもある。たとえば、取り扱いのない商品を知るためには異なるソースを集める必要があり、ところどころで情報のズレが生じてしまうのだ。
また、APIの活用が進んでいるものの、エンドポイントが100近くまで増えており、コール数も増加・依存度の複雑化もしていて、ロジックの属人化も問題になっている。さまざまな情報を集約して行う消費データも、検索インデックスに負荷をかけないため、リアルタイムに更新できない課題もある。
スター型のシステムは、中心がハブになり同じものを参照するイメージだが、スケーラビリティを考えると適していない場合もあるのだという。「現在目指しているシステムは、基幹システムやECアプリケーションなどのサブシステム群があり、GCPのReal-Time Data Pipelineを通じてDataPlatformを経由して整理され、Applicationsに提供・処理されたあとにまたサブシステム群に反映される、スパイラル(螺旋)型のようなモデルです。そもそもECサイトのユーザーは、サイトにアクセスして商品を探して購入して、納品日をマイページで確認する、そしてまたアクセスして購入する……といったスパイラルな動きをします。これをシステムに反映したのです」と藤本氏は説明した。
API群のマイクロサービス化、CDCデータパイプライン、運用のデータドリブン化が着々と進行中
データ活用に適したシステムのアーキテクチャについて、商品のレコメンドや画面のパーソナライズ化を例に考えると、APIはリリースが容易でスケーラブルであること、最新のデータが反映されていること、また持続的な成長を支えるインフラであること、すなわちシステムとデータ基盤が共通のアーキテクチャが望ましい。
そこで、従来同じデータベースを参照していた既存API群は、データ活用とスケーリングのためマイクロサービス化し、それぞれ個別のデータベースを参照する仕組みに変更する。これまで定期的なバッチ処理で更新するため、リアルタイムに反映でききなかった情報もイベント発生のたびに逐次更新できるようにする。たとえば購入後に同じ商品ページを訪れると「○月○日に購入しました」といった追加の情報を表示したり、おすすめ商品の内容を即時変更したりといった形だ。
システムへのCDC活用も進められている。これはデータ基盤同様、MySQLのbinlogのイベントを使い、BigTableに蓄積しておき、マイクロサービスからアクセスできるようにするもの。「BigQueryはデータウェアハウス的な大規模な分散DBでSQLが使えるものの、APIのバックエンドには向いていません。BigTbleはSQLではなくKVS(Key-Value Store)のため、パフォーマンスがなかなか良いです」と藤本氏。
また、CDCによるデータパイプラインの構想についても説明があった。たとえば、商品の在庫の情報が更新されると、在庫情報やブランド、カテゴリを付加してすぐに活用できる状態にしてKVSに入れ、常に最新のデータをアプリケーションに反映できるのだ。同社では、これらの構想を実現するために漸進的にリアーキテクチャリングを進めているという。
データのリアルタイム性に加え、ユーザー数・売り上げの伸びなどの変化に対して柔軟かつ安全に対応できる、運用のデータドリブン化も重要な要素である。藤本氏は「たとえば、レコメンドなど新しいアルゴリズムを試したいとき、そのアプリケーションに問題が生じたとしても、安全に動作するようなインフラにしたいです。従来から行ってきましたが、今後もさまざまなツールを使ってスケーリングする仕組みや、そのための指標づくりをしていきます。運用面も対応することで、新しいシステムの全体像が実現すると感じています」と今後の展望を語った。
お問い合わせ
株式会社MonotaRO