glossary

Gravity 1.8 y dos horas de ventaja: ¿cómo funciona el ranking de Hacker News?

Taras Shynkarenko
Taras Shynkarenko
•Updated: •9 lectura mínima
Gravity 1.8 y dos horas de ventaja: ¿cómo funciona el ranking de Hacker News?Gravity 1.8 y dos horas de ventaja: ¿cómo funciona el ranking de Hacker News?

TL;DR

9 lectura mínima

Hacker News puntúa una story de la portada como sus puntos menos uno, divididos entre su edad en horas más dos, elevado a la potencia 1.8, y después multiplica esa puntuación por factores de penalización. La fórmula viene de news.arc, en el código fuente de Arc publicado, y Y Combinator nunca ha publicado la versión que corre en el sitio en vivo. La capa de penalizaciones que va encima solo aparece descrita en comentarios de moderadores, nunca en documentación.

¿Cómo funciona el ranking de Hacker News?

La respuesta corta a cómo funciona el ranking de Hacker News es una fórmula de decaimiento: Hacker News divide los puntos de una story entre su edad elevada a una potencia fija, así que una story baja por la portada salvo que lleguen upvotes nuevos más rápido de lo que avanza el reloj. Cada cifra de este artículo sale de news.arc, el archivo fuente de la portada que Y Combinator incluyó en la publicación pública del lenguaje Arc. Hacker News nunca ha publicado el código de ranking que corre hoy en el sitio en vivo, así que lee esto como la última instantánea pública del mecanismo, no como una descripción de producción.

¿Cuál es la fórmula publicada del ranking de Hacker News?

La versión más difundida de la fórmula puntúa una story como sus puntos menos uno, divididos entre su edad en horas más dos, elevado a la potencia 1,8.

score = (points - 1) / (age in hours + 2) ^ 1,8

Esa línea simplifica frontpage-rank en news.arc. El mismo archivo fija gravity* en 1,8, que es el exponente, y timebase* en 120 minutos, que son las dos horas sumadas a la edad. El código fuente también eleva el término de puntuación a la potencia 0,8 cuando una story supera un punto, un paso que la versión popular de una línea omite y que aplana la recompensa de las puntuaciones muy altas. Usa la simplificación para hacerte una idea y abre news.arc cuando importe la curva exacta.

Un cronómetro sobre un escritorio representa la rapidez con la que decae el puntaje de una story con la edad.

¿A qué velocidad decae una story en Hacker News?

El exponente 1,8 se acumula, así que la posición cae más rápido de lo que espera la mayoría de quienes publican. Toma una story con 100 puntos, tres horas después de enviarla: (100 - 1) / (3 + 2) ^ 1,8 = 99 / 18,12 = 5,46. Una story más nueva con 40 puntos a la hora puntúa 39 / 7,22 = 5,40, lo que deja a una story con 60 puntos menos a un error de redondeo de ella.

Edad(age + 2) ^ 1,8Puntuación con 100 puntosPuntos necesarios para igualar una story de 3 horas y 100 puntos
1 hora7,2213,7041
3 horas18,125,46100
6 horas42,232,34232
12 horas115,580,86633
24 horas352,400,281.927

La columna de la derecha decide la estrategia de lanzamiento. Igualar una story de tres horas con 100 puntos exige 633 puntos a las doce horas y 1.927 puntos a las veinticuatro. Publica cuando la audiencia que buscas esté despierta, porque ningún voto posterior recupera la ventaja inicial, la misma aritmética que convierte el mejor momento para publicar en Reddit en una cuestión de calendario y no de contenido.

¿Por qué la fórmula resta un punto y suma dos horas?

Las dos constantes existen para que la curva no se rompa en sus extremos. Restar un punto descarta el upvote del propio autor, así que una story que nadie más votó puntúa cero y nunca llega a la portada por el entusiasmo de quien la envió. Sumar dos horas a la edad evita que una story recién enviada divida entre algo cercano a cero: con cero minutos de antigüedad, el denominador es 2 ^ 1,8 = 3,48 en lugar de un multiplicador arbitrariamente grande, así que dos votos tempranos no pueden superar a una story establecida.

¿Qué penalizaciones aplica Hacker News a una story?

Las penalizaciones multiplican a la baja la puntuación de decaimiento, y el código publicado incluye cuatro. news.arc fija nourl-factor* en 0,4 para un post de texto sin enlace, lightweight-factor* en 0,3 para los posts que el archivo clasifica como lightweight, incluidos los posts de imagen y los de dominios de una lista guardada en lightweights*, y un 0,5 fijo para los tipos de item que no son stories ni encuestas. Una cuarta, contro-factor, entra en juego cuando una story supera los 20 comentarios y su número de comentarios excede sus puntos, y multiplica la puntuación por el cuadrado de puntos entre comentarios.

Más allá de ese archivo, los moderadores han descrito otras penalizaciones en hilos de comentarios de Hacker News: un detector de flamewars que degrada los hilos donde la discusión supera a los votos, una reducción de peso por dominio y la intervención manual de moderadores en stories consideradas fuera de tema. Esa capa nunca ha aparecido en documentación ni en código publicado, y Y Combinator no publica ninguna lista de penalizaciones ni de su tamaño. Quien cite un coeficiente de penalización concreto para el sitio en vivo está citando un comentario de moderador o una inferencia a partir de la posición observada, no una especificación publicada.

El código publicado también da una palanca a los lectores. Un usuario por encima de un umbral de karma puede marcar (flag) una story, y cuando los flags superan un umbral de eliminación en una story con menos de 10 puntos y sin upvote de un administrador, el código la marca como dead y la retira de la portada. La votación coordinada se trata aparte mediante un campo sockvotes que realscore resta antes del ranking, la respuesta del archivo fuente al astroturfing.

Factores de penalización en news.arc
Sin URL0.4x para un post de texto sin enlace
Lightweight0.3x para posts de imagen y dominios listados
Otros tipos de item0.5x para todo lo que no sea story o encuesta
Contro-factorEleva al cuadrado los puntos entre comentarios pasados los 20 comentarios
news.arc multiplica la puntuación de decaimiento de una story por el factor de penalización que corresponda antes de que llegue a la portada.

¿Sigue describiendo la fórmula publicada el sitio en vivo?

No. La publicación de Arc es la última versión pública del código de ranking, y Hacker News ha cambiado la portada desde entonces de maneras que los moderadores solo han descrito en comentarios, entre ellas un second-chance pool que vuelve a introducir envíos antiguos y pasadas de reordenación que los moderadores activan a mano. Nada obliga a que esas descripciones estén completas ni al día. Trata la fórmula como un modelo de la forma del decaimiento y luego contrástala con el sitio: sigue la posición de una story frente a sus puntos y su edad, y donde las dos cosas se separan, una penalización o una acción manual explica la diferencia.

¿En qué se diferencia el ranking de Hacker News del de Reddit?

Hacker News tiene una única portada global con una sola fórmula, mientras que Reddit clasifica dentro de miles de subreddits separados, cada uno con sus propias opciones de orden y reglas de moderación. Una story de Hacker News compite con todas las demás enviadas ese día, así que la ventana de dos horas carga casi todo el peso, y una story que la pierde no tiene una segunda oportunidad ante una audiencia de nicho. Reddit reparte el mismo envío entre comunidades, y su sistema de puntos alimenta un total por usuario que habilita el derecho a publicar, explicado en qué es el karma de Reddit.

La diferencia práctica es el camino de recuperación. En Reddit puedes publicar en una comunidad más pequeña y mejor alineada y posicionarte allí. En Hacker News, el item cuenta como duplicado si lo reenvías, así que el primer envío carga con todo el resultado. Las cifras de items publicadas y el comportamiento de la API de la plataforma están en estadísticas de Hacker News.

Alguien lee en una laptop en una cafetería, lo que refleja seguir un hilo de discusión después de que una story sale de la portada.

RedReplier
RedReplier

Comenzar

Reddit, X, Bluesky y HN

Alertas de intención en tiempo real

Respuestas IA ilimitadas

Ordenado por intención de compra

¿Cómo sigues una story después de que sale de la portada?

Vigila los comentarios, porque la discusión sobrevive al ranking. Una story cae de la portada en horas mientras el hilo de debajo sigue atrayendo respuestas y preguntas de precio que nunca aparecen en un panel que mide tus propias publicaciones. RedReplier cubre esto con el monitoreo de Hacker News, junto con Reddit, X, Bluesky y Facebook en un solo lugar, ordena lo que encuentra por intención de compra y explica con IA por qué se marcó cada mención.

Configura las palabras clave con el nombre de tu producto, tus competidores y el problema que la gente describe antes de saber que tu categoría existe. El mismo conjunto de palabras clave funciona en todas las plataformas que vigila RedReplier, documentado en monitoreo de redes sociales.

Preguntas frecuentes

¿Qué es la constante gravity en el algoritmo de Hacker News?

Gravity vale 1,8 en news.arc, guardada como gravity*, y es el exponente que se aplica a la edad de una story en el denominador. Elevar la edad a 1,8 en lugar de 1,0 hace que la posición caiga más rápido que de forma lineal, así que una story de 24 horas divide entre 352 en lugar de 26. Y Combinator no ha publicado un valor para el sitio en vivo, así que 1,8 es la última cifra publicada y no una confirmada como actual.

¿Afecta el número de comentarios al ranking de Hacker News?

En el código publicado, sí, y hacia abajo. La función contro-factor se aplica cuando una story tiene más de 20 comentarios y su número de comentarios supera sus puntos, y multiplica la puntuación por el cuadrado de puntos entre comentarios. Por separado, los moderadores han descrito un detector de flamewars en comentarios de Hacker News, que empuja en la misma dirección en los hilos acalorados.

¿Se puede volver a enviar una story que no tuvo tracción?

Hacker News trata un envío repetido de la misma URL como duplicado y dirige los votos al item original en lugar de crear uno nuevo. Por eso el término de edad de la fórmula sigue contando desde el primer envío. Los moderadores han descrito un second-chance pool que da a algunos envíos antiguos otra aparición en la portada, pero ningún autor controla la entrada.

¿Por qué una story con menos puntos a veces queda más arriba?

La edad es la razón en la mayoría de los casos: a la hora, una story necesita 41 puntos para igualar lo que una story de tres horas logra con 100. Los factores de penalización son la otra razón, y son invisibles desde fuera, porque la portada muestra puntos y edad pero nunca el multiplicador que se les aplica. Una story que queda por debajo de su posición aritmética tiene encima una penalización del código fuente o una acción de moderación.

¿Sirve de algo votar tu propio envío?

No, la fórmula resta un punto antes de dividir, lo que anula el voto del propio autor. El código fuente también registra un campo sockvotes que realscore resta de la puntuación bruta, así que la votación coordinada reduce el número que el ranking usa de verdad. Los flags de usuarios por encima de un umbral de karma pueden eliminar directamente una story con poca puntuación.

¿Dónde puedo leer el código fuente del ranking de Hacker News?

El archivo news.arc distribuido con la publicación pública de Arc contiene frontpage-rank, las constantes gravity* y timebase* y los factores de penalización mencionados en este artículo, y el repositorio comunitario Anarki lo replica. Ese archivo es el único código de ranking que Y Combinator ha publicado. La versión que corre hoy en Hacker News no es pública, y la empresa no se ha comprometido a publicarla.

¿Qué pasa cuando una story recibe flags en Hacker News?

El código fuente publicado permite que un usuario por encima de un umbral de karma marque una story con un flag. Cuando los flags en una story con menos de 10 puntos y sin upvote de un admin superan un umbral de eliminación, el código la marca como muerta y la retira de la portada. Una story muerta queda fuera del ranking sin importar la puntuación que tendría de otro modo.

¿Qué es el detector de flamewar de Hacker News?

Los moderadores han descrito, en hilos de comentarios y no en documentación, un detector de flamewar que degrada los hilos donde la discusión supera a los votos. Queda fuera de los cuatro factores de penalización nombrados en news.arc y nunca ha aparecido en el código publicado. Actúa en la misma dirección que el contro-factor, que ya eleva al cuadrado los puntos entre comentarios cuando una story pasa los 20 comentarios y tiene más comentarios que puntos.

¿Penaliza Hacker News un post sin enlace?

Un post de texto sin enlace lleva un nourl-factor de 0.4 en news.arc, lo que reduce su puntuación de decaimiento a menos de la mitad de la que obtendría un post con enlace idéntico. Los posts de imagen y los envíos desde dominios de la lista lightweights* llevan un lightweight-factor separado de 0.3, y los tipos de item distintos de story y encuesta llevan una penalización plana de 0.5. Los tres multiplican la puntuación después del decaimiento por edad, encima de lo que la fórmula ya produjo.

¿Qué es el second-chance pool de Hacker News?

Los moderadores han descrito un second-chance pool que reintroduce envíos antiguos en la portada, solo en hilos de comentarios, no en documentación ni en código publicado. News.arc, el único código de ranking que Y Combinator ha publicado, no contiene ninguna función para esto. Ningún usuario puede solicitar entrar, y qué stories califican nunca se ha hecho público.

Vernos más en Google

Un clic marca RedReplier como fuente preferida y nuestros artículos aparecen más arriba en tus Noticias destacadas, el modo IA y los resúmenes con IA.

Antes de irte...

RedReplier

RedReplier

Detecta a cada comprador que busca lo que vendes

RedReplier vigila Reddit, X, Bluesky y Hacker News en tiempo real, clasifica cada hilo por intención de compra y redacta tu respuesta, para que llegues primero.

Reddit, X, Bluesky y HN

Alertas de intención en tiempo real

Respuestas IA ilimitadas

Ordenado por intención de compra

Artículos relacionados