Marketingに関する様々なテーマで発信するブログ。UserInterfaceNETFLIXのレコメンド構造を勝手に分解2018/09/06Netflixのレコメンドはすごい。興味のあるものばかりレコメンドしてくれる!先日、といっても少し前ですが「Netflixが「住所や年齢」を必要としないたった1つの理由」の記事を見つけて、そうそう必要ないんだよね。思い、そういえばNetflixのレコメンドを分解してみたいんだった!ということで今回それを書いてみました。今回のこの紐解きですが、あくまで私が勝手にやっているもので、外側からの動作と知識による補完のため、特に内部事情も知らないのでその辺りはご了承ください。個人的にはかなり確度が高いと思っています。レコメンドの基本構造まずは、レコメンドの基本的なところを少しだけ触れますね。個々人に対してレコメンドやパーソナライズを構成する際は、どのデータを利用して、どうコミュニケーションをしていくかを考えて行く必要があります。Dataの2つに分かれます。Dataとは「その人がどんな人であるか?」を表すもので、いわゆる属性ですね。性別や年齢、会員ランクなどがある場合はそういった部分もここに当てはまります。Dataとは、訪問者が「なぜそのサイトに訪問したか?」を表すデータで行動ベースでの内容を表すことが多いのですが「特定のカテゴリの閲覧」や「サイト内検索キーワード」「オンラインサーベイ」などになります。これらデータは取得出来ている内容を活用しながらコミュニケーションに適用していくわけですが、優先度は画像のような感じで上から適用していくような感じになります。Netflixのレコメンド構造は、閲覧データに全て基づくものです。Dataをベースとしたものになっています。Dataは利用していないんですよね。これはビジネス構造的に、扱っているものがエンターテインメントコンテンツであるため、コンテンツが閲覧することでその人の嗜好性が理解できるため、住所や年齢などなくても、その人の「ベースとなる興味」と「直近の興味」などわかるだけで良いんですよね。これらをベースに「このコンテンツを見ている人は、このコンテンツも見ています」というものをベースにレコメンドを構成していくわけです。プロフィールの利用Netflixにはプロフィールを作成することが出来ます。家族など複数人で利用する場合に、それぞれプロフィールを分ける形になります。これにより、それぞれのコンテンツの嗜好情報がかぶらないようになるわけです。KIDS向けのプロフィールなども作成可能ですが、まさに大人にとってはキッズコンテンツは必要ないですし、その逆で子供には大人向けのコンテンツは必要ない(見せたくない)わけです。プロフィールを作成した直後はフラットな情報が並びます。これは最初は嗜好データがないからですね。TOPにレコメンド情報が並び、Netflixで人気の作品、Netflixオリジナル作品、話題の作品、ドキュメンタリー、アメリカTV番組・ドラマ、新作セレクション、TVコメディ、キッズ番組、ラブロマンス、など最上位のカテゴリが並ぶわけです。ちなみにスマートフォンでは、プロフィールを新規で作成すると、いきなりフラットなコンテンツ画面が並びますが、PCでアクセスした場合は未閲覧の場合は好みの作品を選ぶダイアログが表示されます。ここで選択した作品により、嗜好性を仮設定しレコメンドを構成するわけです。閲覧データが溜まるまでは、分からないのであれば聞いてしまえ、という感じですね。コンテンツに紐づくデータそして最も重要なのがコンテンツに紐づく情報です。Netflixでは「Genre(ジャンル)」として管理されていますね。下記のURLは「海外TV番組・ドラマ」になり、全てのジャンル情報は/genre/の下に固有の数字が付くURLを持っています。https://www.netflix.com/browse/genre/1195213各作品には大きく3つのグループの情報が紐づけられています。「出演」「ジャンル」「この作品は」といったものです。実際に下記に記載されているようなデータはそれぞれリンクが設定されています。これらの「ジャンル」と「この作品は」はいずれもURL構造が「Genre」であり、実は同様のカテゴリ構造で管理されているようです。検索の画面などにも表示されるような大きなカテゴリが「ジャンル」として表示しており、「この作品は」はより嗜好性が高い情報となっています。ちなみに「出演」については「Person」として別URLが作成されています。こちらはちょっと説明を入れ始めるとわかりにくくなるのでいったん割愛。基本はこのコンテンツに紐づくこれらデータを基にレコメンドが構成されている形になっています。データとしては「閲覧されたコンテンツに紐づくジャンルタグ」「マイリストに追加したコンテンツのタグ」「コンテンツのGood/Bad評価」を参考情報にしていると思います。