製品およびツール: 時系列、 MongoDB Atlas Charts、 MongoDB Connector for Spark、 MongoDB Atlas Database、 MongoDBマテリアライズドビュー、 集計パイプライン
パートナー: Databricks
ソリューション概要
このソリューションは、 MongoDB、マシン学習、およびリアルタイムデータ処理を使用して、接続済み自動車のデジタル サブスクリプション プロセスを自動化する方法を示します。このソリューションを使用して、顧客のカスタム化された使用状況ベースのプレミアムを提供し、クライアントのパターンや行動を考慮することができます。
そのためには、データを収集し、それを機械学習プラットフォームに送信して分析し、その結果を使用して顧客向けにパーソナライズされたプレミアムを作成する必要があります。また、データを視覚化して傾向を特定し、インサイトを得ます。この一意のカスタマイズされたアプローチにより、顧客は保証コストをより詳細に管理できるようになり、より正確で均等な価格設定を提供できます。
GitHub リポジトリ には、サンプルデータをロードしてMongoDB Atlasに変換パイプラインを構築する方法に関する詳細な手順付き手順と、Databricks との間でイベントを生成、送信、処理する方法が含まれています。
このデモを終了するまでに、Atlas Charts を使用して、自動保証値の変更をほぼリアルタイムで追跡するデータ可視化を作成します。
このソリューションの概念を、次のような他の業界に適用することができます。
金融サービス:銀行や金融機関は、トレーディング、詐欺検出などのために、タイムスタンプが付いた金融取引を理解する必要があります。
小売: 小売業者は、現在のマーケットデータに関するリアルタイムのインサイトを必要としています。
医療: 輸送モードからパッケージ自体に至るまで、IoT センサーは輸送中および現場でのサプライチェーンの最適化を可能にします。
参照アーキテクチャ
以下の図では、アーキテクチャを次のように説明しています。
図 1. MongoDB を使用したリファレンス アーキテクチャ
まず、自動車コレクションの合計距離を含むデータセットをMongoDBにロードし、毎日午前 0 時()に日次 cronジョブを実行して、日次の移動時間を集計します。次に、毎日のトリップを、customerTripDaily という新しいコレクションに保存されるドキュメントにコンパイルします。毎月の 25 日に毎月 cronジョブを実行し、日次ドキュメントを集計し、customerTripMonthly という新しいコレクションを作成します。新しい月次サマリーが作成されるたびに、Atlas 関数はその月の合計距離とベースライン プレミアムを ML 予測用の Databricks に投稿します。その後、ML 予測はMongoDBに返され、customerTripMonthly に追加されます。最後のステップとして、 MongoDB Charts を使用してすべてのデータを視覚化します。
データモデルアプローチ
このユースケースでは、基本的なデータモデルは、顧客、顧客が利用する行程、顧客が購入するポリシー、およびそれらのポリシーによって保証されるマシンをカバーします。
この例では、3 つのMongoDBコレクションと 2 つのマテリアライズドビューを構築します。 MongoDBオブジェクトを定義するための完全なデータモデルは、 GitHubリポジトリにあります。

図 2. MongoDB のデータモデルアプローチ
ソリューションのビルド
このソリューションを複製するには、 GitHubリポジトリを確認します。リポジトリの READMEに従います。これでは、次の手順がより詳細に説明されます。
マテリアライズドビューでデータ処理パイプラインを作成
データ処理パイプラインコンポーネントは、サンプルデータ、毎日のマテリアライズドビュー、毎月のマテリアライズドビューで構成されています。 IoT キー テキスト データのサンプルデータセットは、顧客が利用したエンジン バックアップを表します。 という名前のコレクションに読み込まれます。データセットはcustomerTripRaw GitHub で見つけることができ、 またはその他のメソッドを介してロードできます。マテリアライズドビューを作成するために、予定されたトリガーは集計パイプラインを実行する関数を実行します。これにより、未加工のmongoimport IoT データの日次サマリーが生成され、customerTripDaily という名前のマテリアライズドビューコレクションに配置されます。月次マテリアライズドビューの場合と同様に、予定されたトリガーは、customerTripDaily コレクション内の情報を月次でまとめ、それをcustomerTripMonthly という名前のマテリアライズドビューコレクションに配置する集計パイプラインを実行する関数を実行します。
次のGithubリポジトリを確認して、 データ処理パイプラインを作成します。
ステップ 1: サンプル データをロードします。
ステップ 2: 日次の cron ジョブを設定します。
ステップ 3: 毎月の cron ジョブを設定します。
図の 3。データ処理パイプラインを作成する
機械学習モデルで保証料の計算を自動化
決定処理コンポーネントは、必要なデータを収集し、ペイロードを Databricks ML フローAPIエンドポイントに投稿する予定されたトリガーで構成されています。このモデルは、以前に Databricks でMongoDB Spark コネクタ を使用して訓練されています。その後、特定のカスタマーの月間マイルに基づいて計算されたプレミアムでモデルが応答するのを待ちます。次に、予定されたトリガーによって customerPolicyコレクションが更新され、monthlyPremium 配列内に新しいサブドキュメントとして新しい月額プレミアム計算が追加されます。
次のGithubリポジトリを確認して、 データ処理パイプラインを作成します。
ステップ 4: 保険料計算 trigger をセットアップします。
ステップ5: Databricks 接続をセットアップします。
ステップ6: 機械学習モデルの予測を MongoDB に書き込みます。
図 4. 機械学習モデルを使用した計算の自動化
キーポイント
の構築方法 時系列データのマテリアライズドビュー。GitHub リポジトリのステップ1 - を参照してください。3
cron 23式の集計パイプラインを活用します。GitHub リポジトリのステップ または を参照してください。
MongoDB4 Atlasデータで機械学習モデルを提供します。GitHub リポジトリのステップ を参照してください。
Atlasデータベースに機械学習モデルの予測を書込み (write)5 6します。GitHub リポジトリのステップ と を参照してください。
継続的に変化するモデル結果のほぼリアルタイムのインサイトを可視化します。GitHub リポジトリの MongoDB Ops ステップ を参照してください。
作成者
ジェフ・ニーダム、MongoDB
Ainhoa Múgica, MongoDB
Luca Napoly、 MongoDB
Karolina Ruiz Rogelj, MongoDB