「UNIQUE DATA, SMALL HAPPY.」を企業ミッションに掲げるCCCマーケティング。同社は、7000万人を超えるTカードの会員(以下、T会員)のデータを活用して世の中を”ちょっとした幸せ”で満たしていくため、膨大で多種多様な購買/行動データを基に、専門的な知識がなくても目的に応じたマーケティング施策のターゲットとなる会員を推論する仕組みの構築を進めている。
そうした大規模な分析システムが抱える課題を、同社はこれまでどのように解決してきたのだろうか。6月9日に開催されたTECH+スペシャルセミナー「先進企業から学ぶクラウド活用事例 - DXを加速! 今始める攻めと守りの自動化2.0」で、CCCマーケティング データベースマーケティング研究所 技術開発ユニット ユニットリーダー 三浦諒一氏は、IoT技術を活用したT会員のデータとの連携構想など今後の展望も交えて紹介した。
Microsoft Azureを活用し大規模なデータ分析基盤を構築
年間利用者7000万人を超えるT会員。そこに紐付く年間売上は8.5兆円にも及ぶ。特徴は、購買履歴やテレビの視聴データ、オフライン/オンラインサービス利用履歴などのライフスタイルを追求したさまざまなデータがシングルIDに紐付いていることだ。また、膨大なファクトデータを基に会員一人一人の生活属性やライフスタイル特性を数千項目にわたって数値化しており、同社はこれを「顧客DNA」と呼ぶ。
三浦氏が所属するデータベースマーケティング研究所は、これら膨大かつ多様なデータや顧客DNAを活用したサービス開発、および価値提案を目的とした組織だ。ネットメディアやダイレクトメディアなどの活用により最適な顧客へ最適な情報発信をするマーケティングを目指して、会員データを機械学習などのAI技術で解析し、精度の高い推論アルゴリズムの開発を進めている。
同組織がかつて抱えていた課題として三浦氏は「年間50億回という購買トランザクションと7000万超のIDデータを処理するために、大規模な分析基盤を用意しなければならなかったこと」だと振り返る。具体的には、大量のコンピュータリソースを活用して並列処理を行うことで、現実的な期間内で処理を完了させる、そして、必要なタイミングのみでジョブの実行/停止を行うことで利用時間に応じて発生するコストを抑える、という2つの課題を解決する必要があった。
そこで同組織では、前者に対しては、Microsoft Azureを活用してクラウド上での学習/推論システムを構築、後者に対しては、特にコストの高い学習/推論処理にMicrosoft Batchを活用するといった対応を進めたという。
「Azure DevOps上に学習処理を動かすための環境とソースコードを格納してバージョン管理を行っており、このシステムをAzure Blob Storageに連携して、Dockerイメージで格納している」と三浦氏は説明する。
「データはAzure Synapse Analyticsから抽出し、適切な次元縮約の処理を行った上で加工済みデータとしてAzure Blob Storageに格納しています。また、ソースコードはTraining Jobに引き渡し、Microsoft Batch内に格納しています。Training PoolのVMとModelを合わせて、Modelの予測精度をBlob Storageに返す流れです。加工済みデータとModelはPrediction Jobに引き渡され、VM上の優先的ノードを使ってコストを抑えたかたちで並列処理が実行され、Scoring Dataとして出力されます」(三浦氏)
このシステムは、データを扱うスタッフだけでなく、営業スタッフをはじめ機械学習の経験や知識のないメンバーも利用する。そのため、システム内にコントローラーを担うVMを立て、API経由でPrediction Jobを実行できるようにすることで、誰でも大規模な処理を実行できるような環境を構築している。
こうしてクラウド上で必要な部分にだけ並列処理を用いる方法により、分析に掛かっていた工数を数日から1時間程度に圧縮できたという。三浦氏は「一連のサイクルを効率的に回せるようになったことで、トライアンドエラーがやりやすくなるという効果が生まれた」と考察する。