Hacker News의 글 노출 알고리즘은 어떻게 되어있을까?

Hacker News의 글 노출 알고리즘은 어떻게 되어있을까?

http://amix.dk/blog/post/19574

 

점수 = (P-1) / (T+2)^G

 

P = 글의 점수 (추천-반대)

글쓴이의 추천을 무력화 하기 위해 1을 뺌

T = 글을 쓴 뒤 지난 시간 (Hours)

G = 중력계수. news.arc에선 보통 1.8을 사용

 

위 알고리즘은 폴 그레이엄이 LISP계열 언어로 직접 고안하였다.

글 추천이 많을 수록(분자) 오래 살아남고, 시간이 많이 지나거나, 중력계수가 클수록 (분모) 빨리 소멸된다.

가속도를 제공하기 때문에 Linear한 알고리즘보다 역동적인 것이 특징이다.

 

각자 서비스마다 맞는 중력계수를 찾아서 활용하면 된다.

 

Meteor로 만든 대표적인 서비스인 Telescope에서 위 알고리즘을 활용하고 있어서 관심을 가지게 되었다.

https://github.com/TelescopeJS/Telescope/blob/master/packages/telescope-scoring/lib/scoring.js