Airbnbがデータを使ってマーケティングを最適化する仕組み

![image.png](https://qiita-image-store.s3.amazonaws.com/0/124978/c1a6256e-7880-1bb5-3215-a2338a9955cd.png)

私達の日本での[データサイエンス・ブートキャンプ・トレーニング](https://exploratory.io/training-jp?utm_campaign=airbnb_marketing_system&utm_medium=blog&utm_source=qiita)にも多くのマーケティングに関連した仕事をされている方が来られますが、よくある質問にどのようにデータを使って広告の最適化を行えばよいかというものがあります。いろいろなところに広告を打っているが、そのROI（Return On Investment)を測り、その結果を次のキャンペーンの予算に反映させたいというものや、さらには広告そのものをより効果的なものにしたいというものです。

ちょうどそんな時に、日本でも民泊サービスを提供する会社として有名になってきている、シリコンバレーのAirbnbのデータサイエンスチームから、彼らがまさにこうした質問に答えるためにどうやってマーケティングのシステムを構築しているのかについて、こちらのポストで先週共有していたのでこちらで紹介したいと思います。

ただ、シリコンバレーの会社らしく、広告と言ってもオンラインのGoogleやFacebookなどの広告に絞った話となっています。さらにここで言う広告は、貸し主を勧誘するための広告であって、Airbnbで宿を見つけて泊まるといったいわゆる一般の人たち向けの広告ではありません。

以下、要約

---

**Growing Our Host Community with Online Marketing** - [link](https://medium.com/airbnb-engineering/growing-our-host-community-with-online-marketing-9b2302299324)

このポストでは、以下の質問に答えるために作ったAirbnbのマーケティングシステムの概要と、それを作るにあたってのいくつかのチャレンジについて話します。

* どの広告を買うべきか
* その広告にいくら払うべきか
* それぞれの広告の成果をどう計測するべきか


私達のマーケティング・システムの最終的なゴールは、キーとなるビジネスの目標とゴールをかなえるために、自動的に広告を作り、入札をし、予算を分配することができるというものです。さらにこのシステムは広告の成果をレポートし、広告のA/Bテストのような実験をサポートすることを期待されています。

私達のマーケティング・システムの話をする前に、まずはわれわれの打つ広告のライフサイクルを最初に見てみましょう。

# 貸し主向け広告のライフサイクル

![image.png](https://qiita-image-store.s3.amazonaws.com/0/124978/ac7bc13f-17dd-b5f9-f6ab-f83d91039e3d.png)


広告はオンライン・マーケティング・プラットフォーム（上の図の右上のFacebook Ads, Google AdWordsなど）で作られ、こちらの指定した条件に合ったタイミングで表示されるようになっています。

スペースを貸し出したいと思ったユーザーは広告をクリックしてAirbnbの貸し主用のランディングページ（最初に訪れるウェブサイトのページ）にやってきますが、システムはこれを記録しています。

こうしたユーザーは私達が List Your Space (LYS)と呼ぶワークフローである、オンボーディング（最初の案内などの手ほどき）の経験をすることになります。こうしてやってきたユーザーが自分のスペースをリストして最初の予約が入るころには、このスペースに対するLTV（Lifetime Value / 生涯価値）を予測することができるようになっています。

そして、Airbnbの貸し主がコンバート（Airbnbで貸し主することになる）するにいたった広告のクリックイベントと関連付けることで、先程のLTVをこのコンバーションに貢献したいくつかの広告で分配することになります。

こうしたたくさんのコンバーションのデータから、それぞれの広告の価値を推測することが出来ます。そして、この情報を使って、例えばFacebookやGoogleなどの広告プラットフォームでそれぞれの広告に対して設定する、最適な入札額を計算し、予算を割り当てます。

これが広告のライフサイクルですが、いくつかのコンポーネントがあります。クリックのトラッキング、広告のアトリビューション(帰属)、LTVの予測、入札と予算の最適化といったものです。

そもそもAirbnbで新しく自分のスペースを貸し出す貸し主になるというのは、熟考のいる意志決定です。これはマーケティングシステムを構築するにあたって二つのチャレンジをもたらします。

1. 最初に広告をクリックしたときから、自分のスペースを初めて貸し出すまでの時間が長い。それは数日かもしれませんし数週間かもしれません。
2. コンバーションがそもそもそんなに多いイベントではない。これから貸し主になろうとする人は注意深いので、それぞれの広告からのコンバーションはせいぜい数件かもしれません。

この二つのチャレンジが新規貸し主を獲得するためのマーケティングの最適化のシステムを作るにあたってのチャレンジとなります。

それでは、マーケティング・システムのアーキテクチャをそれぞれのコンポーネント毎に見ていってみましょう。

# マーケティング・システムのアーキテクチャ

## イベントの記録とトラッキングデータ

信頼に足るマーケティング・イベントの情報を取得するというのはこのシステムの最も重要な部分です。これはこのあとの入札、予算の分配といったオペレーションに欠かせないだけでなく、戦略的、戦術的なマーケティングの意志決定にとって極めて重要です。しかし、正確なイベントのログデータとトラッキングデータを提供するというのは大変難しいものです。こうしたシステムはマーケティングテクノロジー、エンジニアリング、データサイエンスといった幅広い分野に渡るスキルと、業務知識が要求されます。

この手のデータには大きく分けると二つのタイプ、つまり内部と外部のデータがあります。

内部のデータに関しては、私達のウェブサイトにユーザーがランディング（最初に訪問する）したときのログをKafkaをベースにしたメッセージング・フレームワークであるjitneyロギングを使って管理し、ウェブサイトでのユーザーの最初から最後までの経験を全てトラックするためのパイプラインを構築しています。

もう一つのタイプである、広告プラットフォームのような社外のシステムで記録されてい外部のデータに関しては、サードパーティのAPIを使って取得しています。

キーとなる指標に使われるデータの整合性を保つために、いくつものデータソースから入ってくるデータをクロス検証するためのデータ・パイプラインを作りました。内部データと外部データのギャップをモニターするためのダッシュボードもあります。貸し主の数を成長させるためにはデータの整合性がものすごく重要になります。というのも貸し主のコンバートというのはそんなに多いイベントではないので、少しの間違いが大きなインパクトを与えてしまうことになるからです。


## マルチ・タッチ・アトリビューション（貢献度）

![image.png](https://qiita-image-store.s3.amazonaws.com/0/124978/c3728ad1-44ef-3758-ec10-e12de6b3b8d0.png)


データの整合とトラッキングのシステムが揃うことで、様々な広告に対するクリックを正確に理解することが出来ます。ROIをもとにそれぞれの広告に私達が支払いたいと思う価格を計算するためには、まずそれぞれの広告からどれだけのコンバーションがあったのかを知る必要があります。しかし、普通は様々な客層にリーチするために複数のチャネルを使っているので、それぞれのコンバーションをふさわしい広告チャネルへと正しく結びつけるのは難しいです。例えば、あるユーザーがAという広告プラットフォームの上で一つの広告を見て、その後、Bという別のプラットフォームの上での広告を見た後にクリックした後に、Airbnbに貸し主としてスペースをリストして予約されたとしましょう。この時に、このコンバーションをBというプラットフォームだけのおかげだとしてしまうのは公平ではありません。これではAというプラットフォームの価値を低く見積もることになり、Bというプラットフォームの価値を高く見積もり過ぎることになるからです。

マルチ・タッチ・アトリビューションはそれぞれのコンバーションを複数のチャネルにふさわしい貢献度を割り当てるためのモデルです。正しく貢献度を割り当てることは、正確な入札の戦略と予算の割り当ての構築を可能にします。過去には、最後にどの広告に触れたかというアトリビューションモデルをSQLをもとに作っていましたが、それは実装も検証も難しいものでした。今では、SQLではなく、UDF（user-defined function）をもとにしたアプローチに変えています。UDFはJavaで書かれていて、それぞれのアトリビューションのレベルで検証できる仕組みになっています。さらに、SQLでは出来ないようなもっと複雑なルールやモデルを使ったアトリビューションのモデルも構築することが出来ます。

## LTV（生涯価値）モデル

コンバーションをふさわしい広告にアトリビュートしたなら、次に私達が知りたいのは、それぞれのコンバーションのLTVです。それぞれのコンバーションがAirbnbにどれくらいの収入をもたらすことが出来るかということです。Airbnbの貸し主は、共有の部屋から個人所有の島まで様々な場所を提供します。そうした様々な部屋のタイプはゲストにユニークな体験を提供することになりますが、私達がLTVを予測するのを難しくします。

AirbnbではリストされているスペースのLTVを予測するための機械学習のモデルを作っています。その詳細については[こちらのポスト](https://medium.com/airbnb-engineering/using-machine-learning-to-predict-value-of-homes-on-airbnb-9272d3d4739d)を参照して下さい。たくさんのデータを集めれば集めるほど、もともとあったLTVの予測モデルの正確さを改善することができ、時間のかかるコンバーションによるチャレンジを解決することも出来ます。

## 入札と予算の最適化

広告のトラッキング、アトリビューション、LTVが揃うと、次はそれぞれの広告に対する入札の最適化です。Airbnbは世界191カ国、10,000以上の都市に宿の貸し出しのリストがあります。それぞれの都市でのコンバーションの数を見ると低い数字かもしれません。 それぞれの広告に対するコンバーションが少なければその価値を見積もるのが難しくなります。そこで数学的モデルを構築してこの問題を解決することになりました。詳細は今後書くことになるポストで紹介しますが、こうしてそれぞれの広告の価値がわかると、ROIをもとにはじき出した入札と予算を別のマーケットでも最適化していくことが出来ます。Airbnbのマーケターはこの情報をもとに、例えばGoogleのAdwordsのUI等を使って、ターゲットと予算を入力していくことになります。

## キーワードの抽出

このマーケティング・システムが答えなくてはいけないもう一つの質問として、”どの広告を買うべきかという”というものがあります。もともと広告のキーワードやコピーといったものはマーケターのもつビジネスセンス、勘と経験、もしくはGoogleキーワード・プランナーやGoogleトレンドといったサードパーティのツールを使って生成していたものでした。しかし、ユーザーはいつも新しいものを検索しているものなので、どのキーワードを使った広告の入札をするべきかというのは例え一流のマーケターであっても難しいものです。そこで、以下のようなことの出来るシステムを開発しています。

* 新しいキーワードを自動的に見つける
* こうしたキーワードを使った新しいキャンペーンを作る
* 自動的に新しいキーワードのクオリティを評価し、効果的でないものは削除する

こうしたことはどれも大変なもので、開発も現在進行系です。進捗があればまたここで報告したいと思います。

## 実験のためのフレームワーク

新しい施策のインパクトを計測することは、とても重要です。これには二つのテストのタイプがあります。

* 相対的改善：新しい施策はコントロールグループに比べてどれだけよかったのかを計測します。例えば、入札モデルの変更だとか、広告のコピーや広告の構想などです。
* 絶対的改善：もしあるマーケットの広告チャネルにお金を費やさなかったら、Airbnbでのリストの数はどれくらい変わっていたのかを計測します。

Airbnbは異なるマーケティング・チャネルの相対的改善度を測るための様々なツールとパイプラインを作っています。検索、ディスプレイ、モバイル広告に対するA/Bテスト、または複数のクラスのテストの結果を検証できる環境と分析のためのツールがあります。私達のツールはさらに売上をトラックできて、広告のコピーの検証もできて、将来の広告キャンペーンの方向性を決めるために必要な統計データを作ることもできます。

絶対的な改善度を計測するために、それぞれのマーケティング・チャネルに特化した実験の手法を使い、広告の支出の影響を計測しています。これらの実験のアウトプットは上記のマルチタッチアトリビューションモデルを計算するのに使います。ここでは[ゴースト広告](http://www.msi.org/reports/ghost-ads-improving-the-economics-of-measuring-ad-effectiveness/)、地理に基づく実験、縦断的テスト（[longitudinal tests](https://en.wikipedia.org/wiki/Longitudinal_study)）等の手法を使ってキャンペーンを行います。

訳注：ゴースト広告とは、自社が広告を入稿しなかったら表示されたであろう他社の広告を表示して、コントロールグループのデータを得る手法。

## レポーティング

このマーケティング・システムからの情報は最終的には、マーケター、プロダクト・マネージャー、ファイナンス、エンジニア、データサイエンティストからなる、複数の部署にまたがったチームによって利用されます。様々なチャネルとキャンペーンのパイプラインをモニターすることができ、さらにだれでも簡単に理解できるダッシュボードが必要になります。重要なマーケティングとビジネスの意志決定は、新しく入ってきた貸出のスペースの数、支出に対するリターンなどといったKPIを見ることによって行われます。私達はAirbnbがオープンソースとして公開したApache Supersetを使って、データを探索したり可視化し、さらには、インタラクティブなダッシュボードを作っています。

---

以上、要約

いかがでしたでしょうか。今回の記事はAirbnbの作ったマーケティングシステムの概要ですので、LTV（生涯価値）モデルや、アトリビューション、実験のフレームワークなどのもう少し突っ込んだ機械学習を使った具体的な話はなかったので、物足りない人もいるかも知れません。そちらの方の話は、これからまた出てきたら紹介していきたいと思います。LTVに関してはすでにこちらに出ています。

ただ、重要だと思うのはまずはこうした仕組みを作った上で、それをビジネスの意志決定にしっかりと結びつけていくという努力が絶え間なくされているということですね。LTVにしろ、入札、予算の最適化にしろ、広告のキーワードの抽出にしろ、それぞれで高度なモデルを作ってどんどんと最適化させていくことは出来ますが、最終的にビジネスにとって戦略的に重要な指標を動かすことが出来るかどうか、そしてその影響がどれくらいなのかがビジネスのトップのレベルで理解できているかどうかが重要になりますが、その仕組がすでにしっかりと出来ていて、実行されているというのは素晴らしいですね。


---

![image.png](https://qiita-image-store.s3.amazonaws.com/0/124978/30b60166-5675-b373-fbd4-ab089c225177.png)


この6月の下旬に、Exploratory社がシリコンバレーで行っているトレーニングプログラムを日本向けにした、データサイエンス・ブートキャンプを東京で開催します。データサイエンスの手法を基礎から体系的に、プログラミングなしで学んでみたい方、そういった手法を日々のビジネスに活かしてみたい方はぜひこの機会に参加を検討してみてください。詳しい情報は[こちらのホームページ](https://exploratory.io/training-jp?utm_campaign=airbnb_marketing_system&utm_medium=blog&utm_source=qiita)にあります！