Perguntas sobre o algoritmo do Novo Usuário do Mês

Olá,
Eu era um novo usuário em um fórum Discourse com mais de 930 curtidas no final do meu primeiro mês. Os detentores do título de “novo usuário do mês” eram duas pessoas, uma com cerca de 40 curtidas e a outra com 60 curtidas. Eu olhei o código fornecido em uma postagem anterior neste site, e não deveria ter sido possível que essa situação se desenvolvesse da maneira que aconteceu. Olhando apenas para minhas principais curtidas, fiz os cálculos usando os valores atribuídos a uma curtida de cada nível de confiança e cheguei a um número como 360 apenas para minhas principais curtidas. Em seguida, fazendo os cálculos para o usuário com 60 curtidas, multipliquei esse número por três - mesmo que ele tivesse sido curtido por um administrador todas as sessenta vezes, ele ainda não teria chegado perto de 360. O que aconteceu aqui? Nós dois entramos com dias de diferença em meados de novembro… o que estou deixando de considerar? Não quero parecer amargurado, mas foi bastante decepcionante/confuso. Até agora, ninguém conseguiu me dar uma resposta além de “Novo usuário do mês é um golpe”. Portanto, qualquer informação seria útil, mas lembre-se de que eu já vi o código. Obrigado!

3 curtidas

Eu olhei o código. Não apenas as curtidas são ponderadas de acordo com a senioridade, mas também o total é dividido de acordo com quantas contas distintas curtiram suas postagens. É uma medida de popularidade ampla, suponho.

Editar: ops, talvez seja dividido pelo número de postagens e não por contas - veja mais abaixo.

4 curtidas

Eu também levei isso em consideração, embora.
É realmente estranho, parece.

Então contas diferentes? Hmmm. Isso faz sentido… Não consigo obter os dados para isso, mas ainda acho estranho.

Obrigado pela ajuda, embora!

Você já deu uma olhada no Dataexplorer? Ele é integrado ao core e pode haver um script já pronto para a consulta.

Quanto a modificar o novo usuário do mês, não tenho certeza das opções. No entanto, acredito que nas configurações do site você pode modificar os pesos por TL.

Não, ainda não. Talvez eu tente.
Obrigado!

1 curtida

Isso pode ajudar a localizar outros personalizados que as pessoas compartilharam.

2 curtidas

Somente administradores de um fórum podem usar o Date Explorer, portanto, você não pode usá-lo para obter dados como usuário.

Você escreveu muito sobre as contagens totais de curtidas, mas não mencionou as contagens de postagens. A pontuação calculada a partir das curtidas, ponderada pelo nível de confiança do usuário, é dividida pelo número total de postagens que você fez:

Portanto, talvez você tenha recebido mais curtidas, mas também postou com mais frequência do que os usuários que receberam o distintivo.

7 curtidas

Isso explica muita coisa. Obrigado!
(mas não faz muito sentido. Postar mais deveria ser considerado uma contribuição para a comunidade e não deveria prejudicar a pontuação, na minha opinião.)

O que mais contribui para uma comunidade? Muitas postagens com poucos likes devido à falta de apelo, ou um punhado de postagens que capturam o interesse dos usuários com muitos likes?

(Estou ciente de que o uso de likes difere de uma comunidade para outra, algumas comunidades de usuários típicos não veem o valor de gostar de uma postagem, ou não é um hábito deles, etc…)

2 curtidas

Concordo, na maioria das vezes vejo seu ponto, mas acho que é um cenário diferente no meu fórum.
A maioria das postagens raramente recebe mais de um ou dois likes, e o novo usuário do mês não leva em conta as soluções, o que acho que poderia ser legal (mas não tenho certeza se é um plugin) ou talvez até mesmo fazer com que o selo não seja automático, para que moderadores ou administradores tenham que escolher. Isso tornaria o selo mais adaptado para cada fórum.
Eu diria, você acha que ter 1.1K likes com cerca de 700 posts e 60 soluções em duas semanas é considerado útil em um fórum ou ter cerca de 60 likes e 40 posts (no mesmo período) é considerado mais material para “novo usuário do mês”?
Boas festas, a propósito!

2 curtidas

Este é um ponto muito bom e concordo que o algoritmo atual pode ser muito simplista. Acho que um bom primeiro passo seria tornar o fator de postagem não linear, como

SUM(...) / SQRT(5 + COUNT(DISTINCT p.id))::float AS score

ou talvez até

LN(1 + SUM(CASE ... END)) / (5 + COUNT(DISTINCT p.id))::float AS score

4 curtidas

Uma abordagem para favorecer posts mais curtidos é pegar a soma dos quadrados das curtidas e, em seguida, dividir pelo número de posts.

Fico imaginando se minha interpretação equivocada pode ter valor: levar em conta o número de contas distintas que curtiram. Isso poderia, por exemplo, ajudar contra grupos ou anéis de votação.

De passagem, observo que meu fórum elegeu apenas 13 vencedores de um total possível de 24 medalhas de novo usuário do mês nos últimos 12 meses.

2 curtidas

Sim, concordo. Essa pode ser uma boa ideia.

Pode explicar isso em português? Mal consegui entender o código do novo usuário do mês haha.

Alguém com um nível de confiança mais alto se importaria em editar o título para “Perguntas sobre o Novo Algoritmo do Usuário do Mês” ou algo semelhante? Não é um bug, evidentemente. Apenas um pouco peculiar.
Obrigado @Moin!

2 curtidas

O “problema” é que a pontuação é (basicamente)

$$\n\text{Pontuação} = \frac{\text{# Curtidas}}{\text{# Posts}}\n$$

Isso é algo que provavelmente não é a situação desejada, como você já observou. Se o número médio de curtidas for o mesmo, uma grande quantidade de posts deve ser avaliada mais alto do que uma pequena quantidade de posts.

Portanto, para “corrigir” esse problema, devemos alterar a função: o denominador da fração deve aumentar menos se o número de posts aumentar. Podemos corrigir isso aplicando uma função a ele. Os candidatos usuais são SQRT e LN, pois são crescentes, mas menos que lineares:

Portanto, ao alterar o divisor para algo que aumenta menos rapidamente à medida que a quantidade de posts aumenta, a pontuação fica mais alta (afinal, dividir por algo menor dá um resultado maior). Alterar a fórmula para aplicar SQRT ou LN ao divisor dá o resultado desejado (“Uma grande quantidade de posts deve ser avaliada mais alto do que uma pequena quantidade de posts, se o número médio de curtidas for o mesmo.”).

A segunda fórmula tenta evitar o efeito indesejado oposto: um pequeno número de posts com muitas curtidas também não deve dominar a pontuação.

3 curtidas

Se você for um administrador, pode ir às configurações do site e alterar os fatores de ponderação para nivelá-los.

Por exemplo, como as alterações de peso por nível de confiança e até mesmo para a equipe. Você pode alterar o peso para que, independentemente do tl ou se for da equipe. As curtidas serão pesadas igualmente em vez de aumentar por posição.

Não sou um administrador, mas obrigado mesmo assim.
A gente aprende algo novo todo dia, parece :grinning:

Obrigado por explicar isso! Essa é uma solução bacana. Quem dera isso existisse no meu fórum agora…

2 curtidas

Isso não é realmente verdade na maioria dos casos. Nessa lógica, o que sinalizará se suas postagens são realmente úteis é exatamente o número de curtidas. Se você posta muito, mas não consegue manter uma alta proporção de curtidas/postagem, isso mostra que você está tagarelando e possivelmente fazendo perguntas que poderia ter pesquisado.

Por exemplo, suas perguntas já foram discutidas em

2 curtidas

Certo. Peço desculpas por postar com esta pergunta, no entanto, discordo. Fóruns diferentes utilizam curtidas de maneiras diferentes, e acho que a solução que @RGJ postou seria útil na minha. Nem todos os fóruns são inclinados a curtir todas as postagens, porque muitas vezes só somos inclinados a curtir algo quando isso nos eleva e concorda com algo que dissemos. Estar certo muitas vezes não é suficiente para justificar uma curtida da maioria dos usuários. Vou olhar seu link, mas não o vi antes. Não acho que foi necessário postar com a mesma opinião de antes na discussão à qual já respondi. Podemos concordar em discordar?

Pense nisso, porém. Se você é genuinamente prestativo, então quanto mais você posta, melhor. É sobre isso que acho que o distintivo deveria ser.
Na postagem que você linkou, você pode ter estado certo sobre os dados, mas ser ativo em uma comunidade não é apenas sobre números. Anteriormente, eu disse que se eu tivesse postado a coisa certa apenas uma vez no tópico certo e depois me tornado totalmente inativo, eu poderia ter ganhado o distintivo. Isso é uma brecha que não está tudo bem.

Exato.

Portanto, com a fórmula atual, um usuário que criou uma única postagem “Desisto, este fórum é lixo” que recebe 20 curtidas terá uma pontuação maior do que um usuário que criou 60 postagens úteis que receberam 200 curtidas no total.

Isso não parece certo (para mim).

4 curtidas

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.