Apache Sparkを活用するレコメンデーションエンジンのセットアップ

article in English

小売業者は、顧客のショッピングカートの平均サイズを増やすために、販売ポイントで見込み購入者に商品を提案するという簡単な方法を利用できます.  食料品店やホームセンター等の実店舗でも、レジ付近の通路にガム、ビーフジャーキー、乾電池、雑誌等が陳列されており、思わず衝動買いしてしまったり、買い忘れているものに手を伸ばしたりすることがよくあります。.  このような提案販売は新しいものではありませんが、オンラインショッピングがかつてないほど盛んになっている現在、デジタルショッピングのこの最重要ポイントで特定の商品を特定の顧客に販売するために、より効果的な方法を使用できます。

このブログでも以前に紹介したクリックストリームデータ分析は、小売業界ではたいへん貴重な資産であり、.  ビッグデータ分析の利点を示すのにうってつけの例ですクリックストリームデータを顧客デモグラフィックデータと組み合わせて機械学習アルゴリズムに渡すことで、小売業者は顧客の関心が最も大きい商品を合理的に予測できます。 これによって分析の価値がより高まります。  この分析は非常に重要ではありますが、標準のMapReduce構成で計算するには数分かかるという問題があります。  分析が完了するころにはオンラインの買い物客は手続きを終えてしまっており、将来再び戻ってくる保証もありません。 分析が完了するころにはオンラインの買い物客は手続きを終えてしまっており、将来再び戻ってくる保証もありません。

ダウンロード >> 新しいTalend Big Data Sandboxを入手

このシナリオの例を詳しく見てみましょう。このシナリオは、新しいTalend Big Data Sandboxで実際に試すことができます。 サンドボックスでは、Talend Studioで組み込みのスタンドアロンのSpark Engineを使用してシナリオを実行するか、または最新のClouderaまたはHortonworks HadoopディストリビューションのいずれかでYARNクライアントから実行できます。 Yこの機能を新しいサンドボックスで実現している優れたテクノロジーについては、別の記事で詳しく説明しています。今回は、このリアルタイムレコメンデーションパイプラインを作成して、オンラインで売上を増やす方法を示すことに焦点を当てます。

レコメンドの仕組み

インテリジェントなレコメンデーションパイプラインを構築するには、まずレコメンドモデルが必要です。 顧客がWebサイトを閲覧する間に表示されるレコメンドを駆動するのが、このモデルです。このようなモデルを生成する方法として最も広く認められているのは、交互最小二乗(ALS)アルゴリズムです。ややこしい名称が付けられていますが、実際に複雑なアルゴリズムです。しかし、Talend Studioは面倒な計算をユーザーに代わって実行する単一の単純なコンポーネントを提供します。 ユーザーは、Hadoopクラスター、データウェアハウス、ODSから、手元のデータをモデルに追加するだけです。  過去のクリックストリームデータ(データが多いほど提案の精度が上がります)を、登録されたユーザーコミュニティからのユーザーデモグラフィックデータと組み合わせて提供し、これを製品カタログにリンクします。 残りはアルゴリズムで処理されます。  IT部門が高度な知識を持っていれば、より正確な結果を得るためにアルゴリズムを微調整することも可能でしょう。  Talendは、そのためにトレーニング率、潜在因子、反復回数、正規化係数のパラメーターを使用する機能を提供しています。これらのパラメーターは、いずれも最終的なレコメンドモデルに含められます。 私自身はそれほど高度な知識を持っていないので、これらのパラメーターがモデルにどのような影響を与えるかはわかりません。

Apache Sparkストリーミングとリアルタイムの小売

このモデルを機能させるには、Spark Streamingジョブを使用します。このジョブは、Kafkaトピックを介してリアルタイムのWebトラフィックの「クリック」を読み取り、顧客デモグラフィックデータでデータを強化し、これをレコメンドモデルに送信してユーザーに表示する商品リストを生成します。

わかりにくいので、切り口を変え、かみ砕いて説明します。

ユーザーが小売サイトにアクセスして商品ページを遷移し始めると、全てのマウスクリックがクリックストリームデータにキャプチャーされます。

Spark StreamingとKafkaのキューイングを利用することで、各クリックを直ちに分析して、クリックしている顧客とクリック対象の商品を特定できます。

1回のクリックには、レコメンドモデルに渡すための十分な情報が含まれています。レコメンドモデルでは、そのユーザーのクリック履歴だけでなく、同様のデモグラフィック特性を共有する他のユーザーのクリック履歴に対して、即座に比較が行われます。

生成された提案はNoSQLデータベースに保存でき、次回のクリックまたはページ更新時に顧客に情報を提示する際に、すぐに参照できます。

顧客レベルで、サイト内でネックレスとイヤリングを閲覧して購入しなかった買い物客の例を考えてみましょう。後日、この買い物客が再びサイトにアクセスしたときに、ドレスやヒールの「購入」をクリックしようとしていることを特定したとします。

ショッピングのこの重要な瞬間に、無作為にアクセサリーを提案しても見過ごされがちですが、以前に閲覧して興味を持った特定のネックレスやイヤリング等のアクセサリーを提案すれば、この買い物客が商品をカートに追加する可能性が非常に高くなります。

これによって、デジタルの取引を通じてその買い物客と個人的なつながりを形成でき、今回の販売による潜在的収益だけでなく、将来の再購入の可能性も高めることができます。

売上面で考えると、衝動買いによる2ドルの売上増加のために会計でガムやビーフジャーキーを提供するよりも、類似する顧客が同じ200ドルのハイキングブーツと一緒に購入した50ドルのぴったりなウールソックスを提示できます。

これで、今回の販売の潜在的売上を25%増やすことができます。

効果をご理解いただけたでしょうか。

顧客を即座に理解することのメリット

このように、クリックストリーム分析を利用すると、異なる地域での商品の認知度と人気を把握するだけでなく、同じ情報を特定の顧客のデモグラフィックデータと組み合わせ、全クリック履歴を取得して個別の関心を把握し、さまざまなデモグラフィック指標で比較できます。

リアルタイムのレコメンドパイプラインを使用して、瞬時にインテリジェントで有意義な提案を示すことで、デジタルの取引を通じて個人的な関係を構築し、最終的に潜在的な収益を増やすことができます。

さらに、Hadoopで顧客に示した提案を追跡して、後でビッグデータ分析に利用できます。

たとえば、購入履歴と示された提案を相互参照して、どの提案が最大の価値を提供しているかを特定できます。

引き続きクリック情報を収集し、顧客基盤を拡大していくことで、レコメンドモデルを更新及び改善して提案の精度を高め、年齢、性別、収入、さらには地域、気候、季節等の要因に応じて、顧客が求めるものをある程度正確に予測できるようになります。

ここからサンドボックスをダウンロードし、ステップ・バイ・ステップ方式のCookbookとビデオを使用してビッグデータプロジェクトを今すぐ開始しましょう。

Share

Leave a comment

コメントを追加

More information?