1000user以上のページをいち早く登録しているブックマーカー トップ20

以前、「多くの人がブックマークしているページを、いち早く登録しているブックマーカーはよいブックマーカーで、よいブックマーカーがいち早く登録している新規ページは良いページが多い」という仮定の下、良いページ予測サービスを運用してたんですが、あまりに人が来なくてやめてしまいました(苦笑。ただ、このいち早く登録しているブックマーカーを算出するアイディアは面白いと思ったので、ここで結果を紹介します。

ただ注意してもらいたいのは、1000user以上のブックマークのみを見て算出した結果なので、高い順位のユーザーであっても、userが少ないページを大量にブックマーカーもいると思われます。なんでもかんでもブックマークしたから、このランキングに載っている可能性もあります。この結果をどれだけ信じるかは皆さんにお任せします。ただ、僕の考えではデータ量が圧倒的に足りないと思っています。

順位 user score
1位 b:id:somethingtime 1996
2位 b:id:HATANAKA 1176
3位 b:id:g20070420 1175
4位 b:id:haruka-01 1083
5位 b:id:emisi 847.5
6位 b:id:yousong 777
7位 b:id:tekeom 744.5
8位 b:id:caznog 646.513
9位 b:id:hideyor 555.336
10位 b:id:fishtail 538.677
11位 b:id:jishiha 501.5
12位 b:id:ki-ku 438
13位 b:id:m3note 368.667
14位 b:id:w_katsura 358.75
15位 b:id:zonia 340.389
16位 b:id:washita 328.009
17位 b:id:hukira 314.394
18位 b:id:notieren 262.613
19位 b:id:questfor 245.002
20位 b:id:stolpnik 223.173

計算の仕方は以下のとおりです。

各定義

既知の値
U
ユーザーの集合
P
1000user以上ブックマークされたページの中の最新30件の集合
time_{page,user}
あるユーザーがページを登録した時間(登録していない場合は無限大)
bookmark_{user}
ユーザーの1000user以上ブックマークされたページのブックマーク数
算出する値
time_{page}
ページが最初に登録された時間
score_{page,user}
あるユーザーとページのスコア(ユーザーがページを登録していない場合は0になるように定義する)
score_{user}
あるユーザーとページのスコア

計算式

time_{page} = \min_{u \in U}{time_{page,u} (page \in P)


score_{page,user} = \frac{|U|}{time_{page,user} - time_{page} + 1} (page \in P,user \in U)


score_{user} = \frac{\sum_{page \in P}{score_{page,user}}}{bookmark_{user}} (user \in U)


12/16 0:50 追記1


はてぶのほうで、1000users以上の最新30件のサイトを1つしかブクマしてないのに入賞してしまっているユーザーがいることを指摘されたので、1getのポイントを小さくして、多くのブックマークを持つページを早いうちにブクマした人を高ランクにする計算式に修正して再度取得してみました。どちらがいいかは、、、例により皆さんの判断に任せます(苦笑
ちなみに僕の考えだと30件では、そもそもデータの量が圧倒的に足りないなぁと言ったところです。

順位 user score
1位 b:id:somethingtime 20.02
2位 b:id:mari5 18.2935
3位 b:id:emisi 17.011
4位 b:id:hideyor 16.6688
5位 b:id:fishtail 16.2095
6位 b:id:yousong 15.5704
7位 b:id:tekeom 14.89
8位 b:id:w_katsura 14.3511
9位 b:id:stolpnik 13.466
10位 b:id:YasuyukiMiura 13.3894
11位 b:id:notieren 13.2159
12位 b:id:ki-ku 13.1707
13位 b:id:washita 13.1667
14位 b:id:hukira 13.1306
15位 b:id:caznog 12.955
16位 b:id:sinonomeunko 12.3977
17位 b:id:questfor 12.2592
18位 b:id:HATANAKA 11.77
19位 b:id:g20070420 11.76
20位 b:id:eqstaff 11.5699

計算式

score_{page,user} = \frac{|U|}{time_{page,user} - time_{page} + 100} (page \in P,user \in U)


score_{user} = \sum_{page \in P}{score_{page,user}} (user \in U)


なお、URLの情報取得にははてなブックマークエントリー情報取得APIを利用しています。timeはそのAPIのtimestampから取った値ですので、そちらを参考してください。

2008/01/11 追記2

サービス開始しました。
これから流行るエントリ