glossary

A matemática dos votos por trás do Best vs Top nos comentários do Reddit

Taras Shynkarenko
Taras Shynkarenko
•Updated: •9 minutos de leitura
A matemática dos votos por trás do Best vs Top nos comentários do RedditA matemática dos votos por trás do Best vs Top nos comentários do Reddit

TL;DR

9 minutos de leitura

O Top ordena os comentários de uma thread pelo score líquido, upvotes menos downvotes. O Best, chamado de confidence no código do Reddit, ordena pelo limite inferior de um intervalo de score de Wilson de 80% sobre a fatia de upvotes, então um comentário com 10 a favor e 0 contra fica acima de um com 400 a favor e 300 contra. As duas fórmulas vêm do código aberto do Reddit, arquivado em 2017; o ranking atual é de código fechado. O Best do feed inicial é outra ordenação, personalizada, que só compartilha o nome. Os moderadores definem uma ordenação sugerida por comunidade ou por thread, e o contest mode embaralha a ordem por completo.

Qual é a diferença entre Best vs Top nos comentários do Reddit?

A diferença entre Best vs Top nos comentários do Reddit está no que cada ordenação mede: o Top classifica um comentário pelo score líquido, upvotes menos downvotes, enquanto o Best o classifica pelo grau de certeza que o Reddit pode ter de que a maioria dos votantes gostou dele. O Top premia volume. O Best premia concordância, e desconta a concordância que vem de uma amostra pequena.

A central de ajuda do Reddit nomeia as duas ordenações e não explica nenhuma. O artigo "What mods can do" lista as seis ordenações de comentários que um moderador pode sugerir, Best, Old, Top, Q&A, Controversial e New, e para por aí. As fórmulas vêm do reddit-archive/reddit, a base de código aberta que o Reddit deixou de atualizar em 2017. O ranking de produção de hoje é de código fechado, então leia tudo abaixo como a última versão publicada.

TopBest
Nome internotopconfidence
Classifica porScore líquido, ups - downsLimite inferior de um intervalo de score de Wilson
PremiaO maior número de upvotes líquidosA maior fatia de upvotes, ponderada pelo tamanho da amostra
Janela de tempoNenhuma, a thread inteiraNenhuma, a thread inteira
Comentário polêmico com 400 a favor e 300 contraFica no alto com 100 pontos líquidosFica embaixo com 57% de upvotes

Como a ordenação Top classifica os comentários?

O Top ordena os comentários pelo score líquido e nada mais. O _sorts.pyx arquivado define o score em uma linha, return ups - downs, e o menu de ordenação de comentários associa top a uma ordenação decrescente sobre esse valor.

O Top não tem filtro de tempo nos comentários. A referência da API do Reddit dá ao /comments/{article} um parâmetro sort e nenhum parâmetro t, ao contrário das listagens de posts. Todo comentário da thread compete pelo score líquido de todos os tempos, então um comentário postado na primeira hora leva uma vantagem que uma resposta melhor, postada no segundo dia, precisa superar em números absolutos. O score líquido de um comentário é separado do total do perfil descrito em como funciona o karma do Reddit, embora os dois andem juntos.

Como a ordenação Best classifica os comentários?

O Best classifica um comentário pela menor fatia de upvotes que ele plausivelmente merece, dado o número de votos que tem. A função arquivada é _confidence em _sorts.pyx:

n = ups + downs
z = 1.281551565545  # 80% confidence
p = float(ups) / n
left = p + 1/(2*n)*z*z
right = z*sqrt(p*(1-p)/n + z*z/(4*n*n))
under = 1+1/n*z*z
return (left - right) / under

Esse é o limite inferior do intervalo de score de Wilson, e a docstring da função cita como fonte a página de Evan Miller sobre como não ordenar por avaliação média, no evanmiller.org. p é a fatia observada de upvotes e n é o total de votos. O termo right encolhe conforme n cresce, então um comentário com muitos votos fica perto da sua fatia real de upvotes, enquanto um comentário com dois votos é bastante rebaixado pela incerteza. Um comentário sem votos tem score 0. O menu arquivado rotula essa ordenação como "best" e a define como padrão das páginas de comentários, _default = 'confidence'.

Duas pessoas discutindo à mesa, uma imagem de como os mesmos comentários se ordenam em direções opostas no Top e no Best.

Como as duas ordenações organizam os mesmos comentários?

Em direções opostas, quando os comentários diferem em tamanho e concordância. Os quatro comentários abaixo passam pelas duas fórmulas do código arquivado:

ComentárioUpvotesDownvotesScore TopScore BestPosição TopPosição Best
A4003001000.54713
B250200500.52524
C305250.76532
D100100.85941

O ranking se inverte por completo. O Top põe primeiro os comentários grandes e divididos porque eles juntaram mais pontos líquidos. O Best põe D em primeiro porque 10 votos em 10 são uma evidência forte de que os leitores concordam, e rebaixa A e B porque uma fatia de 55% a 57% de upvotes significa que quase metade da sala votou contra. C é o comentário que vai bem nas duas.

Você não consegue reconstruir essa tabela a partir de uma thread ao vivo. A interface do Reddit mostra um número por comentário, e não contagens separadas de upvotes e downvotes, então a ordem é o único resultado da fórmula que você consegue observar.

Por que um comentário novo sobe mais rápido no Best?

Porque o Best precisa de concordância, não de vantagem. Uma resposta com 5 a favor e 0 contra tem score 0.753 na fórmula arquivada, o que já supera o comentário A, com 400 a favor e 300 contra. No Top, a mesma resposta precisa de mais 96 pontos líquidos para passar A.

Essa diferença importa para quem responde manualmente em uma thread que já está movimentada. Em uma thread ordenada por Best, uma resposta tardia que os primeiros leitores votam para cima sem discordância sobe acima dos comentários polêmicos do topo. Em uma thread ordenada por Top, uma resposta tardia fica abaixo de todos os comentários antigos até superar o score deles. O lado do timing desse problema, quando uma thread ainda vale a pena, está em o melhor horário para postar no Reddit. Um único upvote não basta: um comentário com 1 a favor e 0 contra tem score 0.378 e fica abaixo dos quatro comentários da tabela.

Com que rapidez uma pontuação Best sobe
1 voto a favor, 0 contra0.378
Comentário A: 400 votos a favor, 300 contra0.547
5 votos a favor, 0 contra0.753
Uma resposta com cinco votos a favor sem nenhum contra já supera um comentário com 700 votos no total, divididos em 400 a 300.

O Best nos comentários é o mesmo Best do feed inicial?

Não. As duas ordenações compartilham o nome e nada mais. O Best em uma página de comentários é a fórmula de confidence acima. O Best no feed inicial é um ranking personalizado de posts, e o artigo "What are home feed recommendations?" do Reddit o descreve como "a personalized sorting option that's continuously being improved", uma opção que "takes some elements of your Reddit activity into account such as whether you tend to like new communities or not, how old or new your account is, and what types of posts you've upvoted or commented on in the past".

A fórmula arquivada de comentários não recebe nenhuma informação sobre o leitor. Ela lê os upvotes e downvotes de um comentário e nada mais, enquanto o Best do feed inicial é construído a partir do seu próprio histórico.

Alguém digitando em um notebook tarde da noite, o momento em que um moderador ou uma resposta tardia define a ordenação com que uma thread abre.

RedReplier
RedReplier

Começar

Reddit, X, Bluesky e HN

Alertas de intenção em tempo real

Respostas IA ilimitadas

Classificado por intenção de compra

Com qual ordenação uma thread do Reddit abre?

Com a que os moderadores escolheram, ou com o padrão do Reddit quando eles não escolheram nenhuma. A central de ajuda do Reddit não informa a ordenação padrão atual de comentários. O código arquivado usa confidence como padrão, que a interface rotula como Best.

Os moderadores têm dois níveis de controle. Um padrão para a comunidade inteira fica nas configurações da comunidade, onde o Reddit recomenda "none" para a maioria das comunidades e cita Q&A, top e live como alternativas para comunidades com outras necessidades. Um padrão por thread vem do /api/set_suggested_sort, que a referência da API explica com "casual conversation may be better sorted by new by default, or AMAs may be sorted by Q&A". O contest mode se sobrepõe aos dois: a ajuda para moderadores do Reddit diz que ele "hides all replies to top-level comments, scrambles all comments, and hides the scores to all comments". As comunidades também podem ocultar os scores dos comentários por até 24 horas, que o artigo de configurações do Reddit indica como 1,440 minutos.

Confira o rótulo da ordenação acima dos comentários antes de tratar a primeira resposta como o veredito da comunidade. Uma thread em Q&A, New ou contest mode não está mostrando aquilo com que mais gente concordou.

Qual ordenação ler ao procurar oportunidades de resposta?

Leia Top em uma thread encerrada, Best em uma ao vivo, e New para encontrar perguntas de acompanhamento que ninguém respondeu. O Top em uma thread antiga mostra onde a comunidade chegou, que é a resposta à qual o seu comentário precisa acrescentar algo em vez de repetir. O Best em uma thread ao vivo mostra quais respostas estão ganhando concordância agora. O New traz à tona os comentários do tipo "did anyone find a fix?" que ficam embaixo de uma dúzia de respostas bem votadas.

A ordenação também decide o que você lê sem clicar. A referência da API para /api/morechildren explica que "the most relevant comments are selected for display first", e o resto fica escondido atrás de links MoreComments. Em uma thread longa, os comentários que mencionam a sua categoria ficam atrás de um link "more replies" em uma ordenação e na tela em outra.

O RedReplier dispensa a questão da ordenação para as correspondências de palavras-chave. O RedReplier monitora o Reddit continuamente e mostra os posts e comentários que batem com as suas palavras-chave, então você não escolhe uma ordenação nem expande "more replies" para achar o comentário que cita a sua palavra-chave. Cada resultado mostra o post, as palavras-chave encontradas, os comentários ao redor e o contexto do subreddit. O RedReplier nunca comenta automaticamente: uma pessoa lê a thread, confere as regras do subreddit e posta da própria conta. As opções de entrega estão na página de alertas do Reddit, e as regras que decidem se uma resposta sobrevive à moderação estão em regras de promoção do Reddit.

Perguntas frequentes

Best ou Top é a ordenação padrão de comentários no Reddit?

A central de ajuda do Reddit não diz. O código aberto arquivado definia o Best, internamente confidence, como padrão das páginas de comentários, e os moderadores podem substituí-lo por uma ordenação sugerida para uma comunidade inteira ou para uma única thread.

Por que o comentário mais votado não aparece primeiro no Best?

O Best classifica pela fatia de upvotes, ajustada pelo tamanho da amostra, e não pelo score líquido. Um comentário com 400 upvotes e 300 downvotes tem um score líquido alto e 57% de upvotes, então um comentário menor com upvotes quase unânimes fica acima dele.

O Top dos comentários tem filtro de tempo?

Não. A referência da API do Reddit dá ao endpoint da árvore de comentários um parâmetro sort e nenhum parâmetro t. O Top em uma página de comentários classifica todos os comentários da thread pelo score líquido de todos os tempos.

O que faz a ordenação Q&A de comentários?

O código arquivado chama o Q&A de uma variante do Best "specially designed for Q&A-type threads to highlight good question/answer pairs". Ele soma o score de confidence de uma pergunta ao score de confidence da melhor resposta do autor original, mais um pequeno bônus pelo tamanho do texto. A referência da API do Reddit cita os AMAs como caso de uso.

Um comentário sem downvotes ainda pode ficar embaixo no Best?

Sim, quando tem poucos votos. Um comentário com 1 a favor e 0 contra tem score 0.378 na fórmula arquivada, abaixo de um comentário com 250 a favor e 200 contra. A fórmula trata um voto como evidência fraca, e o score sobe conforme mais votos concordam.

O contest mode usa Best ou Top?

Nenhum dos dois. A ajuda para moderadores do Reddit diz que o contest mode "scrambles all comments" e oculta os scores, além de esconder as respostas aos comentários de primeiro nível. O código arquivado tem uma ordenação random que embaralha os comentários, e o Reddit não documenta se o contest mode a usa.

Por quanto tempo uma comunidade pode ocultar as pontuações dos comentários?

O Reddit permite que as comunidades ocultem as pontuações dos comentários por até 24 horas, o que o artigo de configurações do Reddit lista como 1,440 minutos. Isso é diferente do contest mode, que embaralha todos os comentários e oculta suas pontuações por completo.

Por que não dá para reconstruir a tabela do Best a partir de uma thread ao vivo?

A interface do Reddit mostra apenas um número líquido por comentário, não a contagem separada de votos a favor e contra que a fórmula de Wilson exige. A ordem que você vê é o único resultado dessa fórmula que dá para observar, então a divisão de votos por trás dela fica escondida.

O algoritmo atual de ranqueamento de comentários do Reddit é de código aberto?

O ranqueamento de produção atual do Reddit é de código fechado. As fórmulas de Top e Best descritas aqui vêm do reddit-archive/reddit, o código que o Reddit parou de atualizar em 2017, então mostram a última versão publicada, não o que roda hoje.

RedReplier
RedReplier

Começar

Reddit, X, Bluesky e HN

Alertas de intenção em tempo real

Respostas IA ilimitadas

Classificado por intenção de compra

A pontuação líquida de um comentário é a mesma coisa que o karma dele?

A pontuação líquida de um comentário, votos a favor menos votos contra, é separada do karma que aparece no perfil de um usuário, embora os dois andem juntos. A pontuação líquida ordena só aquele comentário no Top, enquanto o karma é o número mais amplo do perfil.

Veja-nos mais no Google

Um clique marca a RedReplier como fonte preferida e nossos artigos passam a aparecer mais acima nas suas Principais notícias, no modo IA e nas visões gerais com IA.

Antes de você ir...

RedReplier

RedReplier

Alcance cada comprador que procura o que você vende

O RedReplier monitora Reddit, X, Bluesky e Hacker News em tempo real, classifica cada tópico por intenção de compra e redige a sua resposta, para que você chegue primeiro.

Reddit, X, Bluesky e HN

Alertas de intenção em tempo real

Respostas IA ilimitadas

Classificado por intenção de compra

Artigos relacionados