amazonランキングの仕組みをもう少し真面目に推測した。

アマゾンのランキングについて服部先生(@tetshattori)にご教授いただく機会がありましたのでまとめます。 話がすれ違ってる印象なのは、服部先生はアマゾンランキングの動きを統計的にうまく近似する表現を求めようとしているのに対し、私はプログラマとして、あくまで実際のアマゾンのランキングのアルゴリズムがどのようなものであるかを推測しようとしているからです。もう少し具体的には、アマゾンのランキングを正確に説明でき、かつ極力シンプルなアルゴリムズを推測しようとしています。正直言うと、統計学は大学の理系教養レベルの知識しかないので服部先生の理論は理解できません。 アマゾンはランキングの仕組みを公表していないので、実際のアルゴリズムは推測するしかないのですが、服部先生と私の推測の(おそらく)一致している点を簡単にまとめると以下の通りです。書籍以外は観察していないので、あくまで書籍のランキング。 続きを読む
6
Tetsuya Hattori 服部哲弥 @tetshattori

  @FoD5 突然の@失礼します. @j8takagi さんに /togetter.com/li/385488 を教えて頂きました. http://t.co/uLj4l1tQG6 が参考になればさいわいです(見つけたことの内容は整合していると思います)

2013-02-26 12:15:32
H.Sakai 🚲UberEats大阪🍔🍱🍜 @FoD5

@tetshattori @j8takagi あ、どうもです。服部さんのページも拝見させてもらっております。大変参考になり、、、というと、ちょっと嘘ですが。大学で応用統計までは勉強したのですが、正直私の理解の範囲を超えてますが、面白いアプローチだと思っています。

2013-02-26 12:21:01
Tetsuya Hattori 服部哲弥 @tetshattori

@fod5 @j8takagi 職業柄,数学に興味があったので堅苦しいことも書いてありますが,根っこの発想というか観察事項は同じ方向性と拝見しました!取材に来られたMONOQLOや週刊東洋経済の記事(発売月はウェブ参照)にも,もう少し細かい情報があって参考になるかと

2013-02-26 12:37:33
H.Sakai 🚲UberEats大阪🍔🍱🍜 @FoD5

@tetshattori あらためて、貴研究のページ( http://t.co/LKovKf8Mgl )を読みましたが、「1冊売れるたびにランキングが1位に飛ぶ(値が激減する)」という前提には違和感を持ちました。ありていに言えば事実に反しています。

2013-02-28 05:55:38
H.Sakai 🚲UberEats大阪🍔🍱🍜 @FoD5

@tetshattori 服部さんはアマゾンランキングが何か抽象的な法則で決まっていてそれが1時間に一度「観測される」とお考えのようですが、実際には一時間おきにソートされた結果「作成される」ものです。計算されて初めて作成されるのであってアプリオリに存在しているわけではありません

2013-02-28 05:58:48
H.Sakai 🚲UberEats大阪🍔🍱🍜 @FoD5

@tetshattori 「細かい計算をしている可能性は高い」「素直に考えればたとえば過去24時間の売り上げは重み1,その前の1日の売り上げは重み0.8…」とありますが具体的にどのようなアルゴリズムを想定されています?私は「細かい」どころか非常に単純なアルゴリズムと推定しています

2013-02-28 06:16:07
H.Sakai 🚲UberEats大阪🍔🍱🍜 @FoD5

@tetshattori 非常に単純なアルゴリズムと推定している理由は、非常に単純なアルゴリズムでアマゾンのランキングが説明できるのであれば、それ以上に「細かい計算を」することは、普通のプログラマならするはずがない、と思うからです。プログラマとしてそう思います。

2013-02-28 06:18:50
H.Sakai 🚲UberEats大阪🍔🍱🍜 @FoD5

@tetshattori それと、アマゾンがロングテールビジネスではない、という主張にも強い違和感を感じます。アマゾンには非常に多くの経済主体(企業や個人)が参加しています。その主体のなかには、ロングテールの部分でしか収益を上げていない主体もいます。

2013-02-28 06:21:19
H.Sakai 🚲UberEats大阪🍔🍱🍜 @FoD5

@tetshattori 「ロングテールの部分でしか収益を上げていない主体」と言うのは具体的には古書をメインにあつかう、いわゆる背どり屋さんや古書店です。アマゾンがそういう主体からの手数料収入も得ていることから判断すれば、少なくとも普通の書店よりロングテールに依拠しています。

2013-02-28 06:22:46
H.Sakai 🚲UberEats大阪🍔🍱🍜 @FoD5

@tetshattori ポイントは、しつこいようですがアマゾンのランキングは「1時間に一度計算された結果」であって、その時点でランキングが発生するのであり、それに先立って存在しているナニモノかを「観測した」結果ではないだろう、ということです。

2013-02-28 06:30:19
H.Sakai 🚲UberEats大阪🍔🍱🍜 @FoD5

@tetshattori ちなみに私の推測しているアルゴリズムは「sort ( $a <=> $a || $b <==> $b )」です。この一行(!)だけです。$aは直近N時間の売り上げ、$bは最後に売れた時間です。Nは24時間と推定していましたが、もう少し長いかもしれません。

2013-02-28 06:32:52
H.Sakai 🚲UberEats大阪🍔🍱🍜 @FoD5

@tetshattori あ、タイポ。「sort ( $a <=> $a || $b <=> $b )」です。

2013-02-28 06:34:03

# fod5追記
すみません、ここ(だいぶ忘れてしまった)perlやcで書こうとして
あせって変なコード書いてました。perlなら

sort { $a[0] <=> $b[0] or $a[1] <=> $b[1] }

という感じですかね?


H.Sakai 🚲UberEats大阪🍔🍱🍜 @FoD5

@tetshattori 「sort ( $a <=> $a || $b <=> $b」をもう少し説明しておくと、まず販売数($a)で降順(多い順)にならべ、販売数が同じであれば、次に売れた時間の降順(最後に売れた時間の遅い順)に並べる、ということです。

2013-02-28 06:47:02
H.Sakai 🚲UberEats大阪🍔🍱🍜 @FoD5

@tetshattori たとえばJavaScriptなら直近N時間の売り上げをsum、最後に売れた時間をlastとしてlist(sum=>sum1, last=>last1…)という配列に対し、(続く)

2013-02-28 06:52:43
H.Sakai 🚲UberEats大阪🍔🍱🍜 @FoD5

@tetshattori (続き) list.sort(function(a, b) {return a.sum-b.sum || a.last-b.last}) となります(amazonがJavaScriptで計算してるとは思いませんが)。

2013-02-28 06:54:51
H.Sakai 🚲UberEats大阪🍔🍱🍜 @FoD5

@tetshattori 基本的に一時間に一度”sort( $a[0]<=>$b[0] or $a[1]<=>$a[1]) の計算をするだけで仕様(少なくとも外部的にうかがえる仕様)を満たすデータを提供できるのなら、あえてそれ以上「細かい計算」をする事はないのではないでしょうか?

2013-02-28 06:57:21
H.Sakai 🚲UberEats大阪🍔🍱🍜 @FoD5

@tetshattori 何か反論みたいになりましたが、大枠では同意見だと思います。アマゾンのランキングが、累積の売り上げとはまったく関係なく、直近N時間の売り上げと最後に売れた時間のみによって定まる、というのは完全に同意です(さきほどのアルゴリズムからも)。

2013-02-28 07:09:31
H.Sakai 🚲UberEats大阪🍔🍱🍜 @FoD5

@tetshattori 早い話、直近N時間に一冊も売り上げが無かった場合、過去にン万冊売れたベストセラーでも、一冊しか売れなかった古書でも(古書カテだと実際1冊しか売れてなさそうな本も多い)、後者がたまたま最後に売れた時間が後ならランクは上になる、ということですね。

2013-02-28 07:13:23
Tetsuya Hattori 服部哲弥 @tetshattori

@FoD5 先に標語『アマゾンはロングテールビジネス』の意味を説明しますがこれはhttp://t.co/b4ivpsZ9Z3を言っています(標語以外はそのように慎重に書いてるつもりです).せどりさんの問題はセンシティヴなので週刊東洋経済の取材に少し答えた他は差し控えてます

2013-02-28 07:14:48
H.Sakai 🚲UberEats大阪🍔🍱🍜 @FoD5

@tetshattori はい、それは理解しています。しかしアマゾンはロングテール主体のマーケットプレースからの収益もある以上、そうした収益がまったくない他の書店に比べれば、ロングテールビジネスに依拠している部分が多い、ということです(無との比較なのですから)

2013-02-28 07:16:47
Tetsuya Hattori 服部哲弥 @tetshattori

@fod5 さてアルゴリズムですが,FoD5さんのプログラムは,私が説明している「先頭に飛ぶ規則」の実現になっています.ですから,結果として違いはありません.違いがないと言うことはどのように説明しても同値ということです(細かい話は実はありますが今は略します)

2013-02-28 07:18:30
H.Sakai 🚲UberEats大阪🍔🍱🍜 @FoD5

@tetshattori だからその「先頭に飛ぶ規則」など実在していないのでは?ということです。実在しないものを前提に話すことにどのような意味があるのでしょう。実在しないものと比較して同値というのは意味がよくわかりません。ランキングは計算の結果生じるものだと思います。

2013-02-28 07:20:44
Tetsuya Hattori 服部哲弥 @tetshattori

@fod5 1時間の間の変動に差が出るので「違う」と感じる気持ちはわかりますが,その差が重要でない部分(具体的にはロングテール部分)を問題にしています.抽象的というのは観測されない1時間の順位の動きに言及しているからと思いますが,結果としての先頭に飛ぶ規則だけが興味です

2013-02-28 07:21:32
残りを読む(55)

コメント

コメントがまだありません。感想を最初に伝えてみませんか?