レコメンデーション

ECサイトなどでは、レコメンデーションを実装するのが、普通になってます。
個人的には、サイト回遊率が上がるけど、
コンバージョンのための終着ポイントを明示するのが少し難しくなるので、
商材などにより入れていい場合とそうでない場合があるなと思ってますが、
使いどころは多いので調べてみました。


よくあるのは、ASP提供型のサービスですね。
有名なのはこのへんですかね▼
http://recommend.submit.ne.jp/
 
あとこの会社の社長を知っているのですが、なかなか熱い方で、いいですよ!
http://www.otegaru-recommend.com/


とはいえ、このへんは月額数千円かかります。
売上100万円程度のお店に導入するには、5000円でも結構な額です。
(個人的には売上200万円程度いかないと、総合的には赤字路線だとは思いますが)
 
ということで、オープンソースで自社導入出来る仕組みがないかしらべたところ、
実用レベルで2つありました。

cicindela http://labs.edge.jp/cicindela/
vogoo http://sourceforge.net/projects/vogoo/
 
前者はライブドアが開発したレコメンドエンジンで、
汎用エンジンとしてはかなり強力なエンジンですが、
それだけ導入するには、ハードルは高くなります。

後者は、アプリケーション自体がPHPのライブラリとして動いてくれるものですが、
解析パターンがひとつしかありません。

導入障壁が低いほうがいいので、今回は、後者を利用しました。
「Vogoo」←なんて読むかわかりません(汗


残念なことに開発はすでに終了しているようで、メンテなども行われず、
インストールはMySQL4前提です。でも、普通にMySQL5でも動いています。

調べるとすでに使われている方がいますね。
http://blog.y-110.net/log/eid130.html
http://www.multiburst.net/sometime-php/2009/02/recommendation-engine-vogoo-with-php/
http://labs.unoh.net/2006/04/_vogoo.html
http://www.atyks.org/blog/2011-07-06-1.html
・・・古い記事は、2006年かぁ・・・


 
インストールはインストーラーを走らせて、
vogooのインストールディレクトリをinclude_pathに追加、
あとは、
http://www.atyks.org/blog/2011-07-06-1.html
http://blog.y-110.net/log/eid130.html
この2つの記事の内容を参考にすれば、実装できます。
(レコメンデーションの仕組みをだいたいわかって人ならという前提ですが)

いただけないことにグローバル変数を利用してるのがアレですが…。

あと、サイト内回遊をポイント評価することで、
似た回遊パターンや購入パターンの人を探して、
おすすめするという仕組みでうごいていますが、
デフォルトで0.66ポイント以上のものだけを結果として返すようになっています。
これは、実装の仕方によっては、
まったく結果が得られない可能性もあります。
ポイント評価の方法や、取得評点の閾値は
サイトにあわせて自分で考えたほうが良いと思います。


実は、協調フィルタリングパターンのレコメンデーションは、
5年前にPerlで作ってたのですが、繰り返しPCを変えてるうちに、
元データがどっかにいってしまいました。。。
当時バージョン管理システムを作らずに開発していたせいですね。。。はぁ。。。