ターゲティング広告の統計学的な基礎:ユーザーの類似性の定量化 | インターネット広告代理店で働くデータサイエンティストのブログ
こんばんは、岡川です。

 今回は、相関分析がインターネット広告分野でどのように生かされているかを紹介できればと思います。

インターネット広告の出稿企業にとって、新規のユーザーを獲得することは注力事項です。企業サイト訪問ユーザーだけに広告を出していると、ユーザー数に限りがあるため、新規ユーザーの獲得ができなくなる懸念があります。

しかし、ユーザーを全くターゲティングしないで、全ユーザーに広告配信したのでは、スマートな広告配信とは言えません。

その時に、「サイト訪問ユーザーに似たユーザーが分かれば、そのユーザーに広告を出すことにより、広告効果を担保しつつ、新規ユーザーを獲得できる」と期待されています。

このような広告配信形式を、インターネット広告業界では次のように呼ぶことがあります。
 ・オーディエンス拡張ターゲティング
 ・シミラーターゲティング


 これらに代表されるようなターゲティングは、多くの企業にとって重要な広告配信手法になっています。つまり、インターネット広告業界では、ユーザーの類似性(相関)の定量化がとても大切ということです。しかし、相関という言葉がしばしば乱用気味に使われますが、何を実際はやっているか、イメージが全くない方も多いと思います。この記事で、簡単にイメージをつかんでいただければと思います。

 注意として、本当に広告配信プラットホームに実装する場合は、様々な工夫が必要です。私は、ターゲティング広告のアルゴリズム開発の経験が少ないため、基本的には考え方をイメージで書いていますので、詳細な注意箇所は省略していますので、ご了承くださいませ。


1.類似性(相関)の考え方

最終的な目標は、ユーザー間の類似性を定量的に表現する事です。

(例)ユーザーA君とB君の類似性は67%

そのための手順は2つです。

1-1
 各ユーザーを数学的なオブジェクトとして表現する。(ベクトルや行列など)



1-2
 ユーザーのオブジェクトのペアを、0~1に対応されるような関数(R)と作る。



この関数Rを具体的に作ることで、目的が達成できます。

多少抽象的ですが、次は実際にやってみます。

2.性別による類似性

まずは、簡単な例から考えてみます。

以下のように、ユーザーが5人いて、性別で類似性を定義してみます。


まず、ユーザーを数学的なオブジェクトで表現します。男と女で2水準ありますので、数学的にはベクトルで表現できます。


第1成分が1なら男、第2成分が1なら女を表すように表現します。

次に、このオブジェクトをペアで持ってきたときに、0~1に対応させる関数を作ります。今回の場合、”内積”という量を関数で対応させます。


この関数は、より簡単に書くと、同性ならば1、異性ならば0が対応する関数です。


この結果を表に並べると以下のようになります。数学的には行列と呼ばれる量で、相関行列とも呼ばれます。

例えば、ユーザー1とユーザー2は同性なので、表の1行2列成分は1になっています。また、ユーザー1とユーザー3は異性なので、表の1行3列成分は0になっています。対角線が常に1な理由は、例えば、ユーザー1とユーザー1は同性なので、1となっています(自分自身との比較ならば常に同性)。

また、上三角しか書いていない理由は、対角線を鏡映として、対象だから書いていません。つまり、ユーザー1とユーザー2が同性ならば、ユーザー2とユーザー1が同性ですので、1行2列が1なら、2行1列も1なことは当たり前なので、わざわざ書いていません。

こんな感じで、ユーザー1が、特定の企業サイトの訪問ユーザーならば、ユーザー1と類似度が高いユーザー、つまり、ユーザー2と4に対して、ターゲティング広告を配信すればよいのです。

この方法は、性別によるデモグラフィックターゲティングと呼ばれます。


3.年齢による類似性

次に、ユーザーが5人いて、年齢で類似性を定義してみます。


ユーザーをオブジェクトで表すのですが、年齢は1水準しかないので、そのまま、数値(スカラー)で表します。(X_1=25など)

そして、オブジェクトのペアの0~1に対応させますが、例えば以下のような対応が考えられます。

この対応では、年齢が離れるほど、類似性の数値が小さくなります。デルタはどのくらい年齢が離れると、類似性が急激に小さくなるかを表していますので、例えば、年齢に敏感な商品を取り扱う広告主にとっては、この値は小さい方が良いと思います。


この関数で、ユーザー間の類似性を計算して、表にすると以下のようになります。

例えば、ユーザー1と2は10歳離れているので、類似性が37%、ユーザー1と3は3歳しか離れていないので、類似性は74%となっています。

この計算では、デルタを10としました。つまり、10歳以上離れると、類似性が急激に小さくなるような設定です。


4.検索キーワードによる類似性

次は、以下のようなユーザーガ検索したキーワード履歴により類似性を考えてみます。


これを、オブジェクトで表すにはベクトルが適しています。

ユーザー1は、金融、コスメ、住宅の各キーワードをそれぞれ2,1,3回検索したので、ベクトルでは、(2,1,3)ベクトルで表現しています。

これらの数学的オブジェクトを、0~1に対応させる関数を考えます。例えば、(規格化された)内積(=ベクトルのなす角のコサイン)が思い浮かびます。


これらの計算により、類似性の表は以下のようになります。

一番類似性が高いのは、ユーザー2と4ですが、確かに、検索傾向が似ている事が分かります。(3,0,0)と(3,1,0)で、金融に興味があって、その他にはあんまり興味ないようです。

ページ訪問回数などでも、上記と同様の類似性が定義できます。


5.アクセス経路による類似性

最後に、アクセス経路で類似性を定義してみます。


上記のアクセス経路を数学的なオブジェクトとして表現します。以下のように表現できます。


行はページA、ページBの順に対応して、列はページA、ページB、CV(購買)の順に対応します。ユーザー1は、次のように表せます。
(A->B)×1: 1行2列が1
(B->A)×1: 2行1列が1
(A->CV)×1: 1行3列が1
その他:ゼロ

行列で表現したオブジェクトのペアを、0~1に対応させると、以下のようになります。

ここでは、行列の内積を取っています。数学的には行列の掛け算のトレースです。行列をベクトルのように並べて、それのなす角のコサインと同じ意味になります。

この対応を元に、ユーザー間の類似性を表にすると、以下のようになります。


例えば、ユーザー2はユーザー3,4,5と類似性がゼロです。確かに同じ経路はありません。一番似ているユーザーは、ユーザー1と3ですが、B->A->CVの流れが共有で、確かに似ています。

6.おわりに

以上のような感じで、ユーザーを性別や年齢などのデモグラフィックデータ、またはウェブ内の行動で類似性を定義する事ができることが分かりました。

これにより、広告効果の高いユーザーが見つかると(例えば、自社サイト訪問ユーザー)、そのユーザーに似たユーザーを定量的に評価できるので、ターゲティング広告に活かすことができるということです。

どの類似性の軸が大切かは、広告主毎によって異なると思いますので、何らかのアルゴリズムで広告効果にヒットする類似性の軸を見つけることが必要です。(この点の、機械学習的アプローチは、次回記事で書きたいと思います。)

例えば、マイクロアドは広告配信プラットホーム「マイクロアドBLADE」を保有していますが、その強みの一つが、オーディエンス拡張です。

今回紹介した類似度の定義よりも、さらに工夫が凝らされていると思いますが、基本的には類似性を定義して、広告効果の高いと予測されるユーザーにターゲティングしているはずです。

何となく、類似性の定量化の方法、相関の評価の仕方をイメージしていただけたら幸いです。

以上

終わり