Quelles sont les réactions les plus couramment utilisées dans votre communauté ?

Continuant la discussion de Réactions sur Meta :

J’étais curieux de savoir comment les réactions sont utilisées sur un site sur lequel je travaille à temps partiel. C’est un forum sur les admissions universitaires, il y a donc des publications sur des étudiants acceptés/rejetés de leur école de rêve et ce genre de choses. Nous utilisons :+1: comme notre emoji « j’aime », c’est pourquoi il se classe si haut par rapport à :heart:, qui est le « j’aime » par défaut. Voici ce que j’ai trouvé :

réaction publications nombre
:+1: 260494 720859
:100: 16116 25738
:heart: 13315 23523
:tada: 7538 22674
:rofl: 7200 15720
:mending_heart: 6341 26875
:bulb: 3854 4404
:astonished: 2795 4911
:smile: 2286 2881
:joy: 1758 2623
:sob: 1708 2360
:angry: 1613 3396
:wink: 336 352
:heavy_check_mark: 30 43

J’ai créé la liste initiale des réactions en examinant quels sont les emojis les plus couramment utilisés dans les publications. Nous avons ajusté la liste en fonction des commentaires des membres. Je suis fan de :heavy_check_mark: mais il était clair très tôt que la communauté ne l’était pas. Je l’ai donc remplacé par autre chose.

Si vous souhaitez voir comment votre site se compare, la requête que j’ai utilisée est :

select ':'||reaction_value||':' reaction,
       count(*) posts,
       coalesce(sum(reaction_users_count), sum(like_count)) count
from discourse_reactions_reactions drr
     join posts p on post_id = p.id
group by reaction_value
order by count(*) desc

Anecdote amusante : nous avons eu du mal à comprendre pourquoi l’emoji :gift: était si couramment utilisé dans les publications. Finalement, j’ai trouvé le coupable : :robot:.

10 « J'aime »

Déplaçons ceci vers la #communauté pour que plus de personnes y jettent un œil. :eyes:

Bien que la requête ne compte pas correctement les J’aime, ou du moins pas tous les nôtres (peut-être parce que nous avons activé les Réactions en cours de route)

réaction posts count
:heart: 52295 144915
:+1: 1167 1224
:100: 1101 1236

contre :

reaction_value count
:heart: 1371442
:100: 1236
:+1: 1224
Pour information, j'ai utilisé une petite variation de celle-ci pour produire notre tableau :
SELECT source.reaction_value,
       count
FROM

 (
 (

SELECT
    CASE WHEN post_action_type_id = 2 THEN 'heart' END AS reaction_value,
    COUNT(*) AS count
FROM post_actions
WHERE post_action_type_id = 2
  AND deleted_at IS NULL
GROUP BY 1

)
UNION ALL
(

SELECT
    reaction_value,
    SUM(reaction_users_count) AS count
FROM discourse_reactions_reactions
WHERE reaction_value <> 'heart'
GROUP BY 1

)
) AS source

GROUP BY 1,2
ORDER BY 2 DESC

Il y a aussi celui d’origine dans la section des rapports pour vérifier (mais le tableau n’est pas aussi facile à copier-coller :slight_smile:) - /admin/reports/reactions

4 « J'aime »

Ah. UNION ALL est la bonne façon de faire cette requête car vous comptez deux choses très différentes. Ma requête a besoin d’une jointure externe pour couvrir les publications qui n’ont pas d’entrée dans discourse_reactions_reactions. L’ajout de cela a fait expirer ma requête, je ne peux donc pas vérifier si cela résout le problème. Union est la bonne réponse ici dans tous les cas.

Je suis un peu curieux de savoir si post_actions pourrait surestimer les likes. Prend-il en compte les personnes qui aiment une publication puis suppriment ou modifient cette réaction ?

J’ai dû changer ‘heart’ en ‘+1’ dans la requête car nous utilisions :+1: pour nos likes à College Confidential. Voici mon résultat de cette requête :

reaction count
:+1: 2089798
:mending_heart: 28167
:100: 27070
:heart: 24676
:tada: 24055
:rofl: 16778
:astonished: 5325
:bulb: 4590
:angry: 3547
:smile: 3078
:joy: 2623
:sob: 2443
:wink: 369
:heavy_check_mark: 43
2 « J'aime »

C’est un bon point. Laissez-moi revenir en arrière et ajouter un AND deleted_at IS NULL.

1 « J'aime »