Identifier les futurs meilleurs contributeurs

Comment identifiez-vous les futurs meilleurs contributeurs ?

Il est assez facile de dresser une liste de comptes et de la fréquence à laquelle ils contribuent pour en déduire une liste des meilleurs contributeurs, mais existe-t-il un moyen d’identifier les comptes qui tendent à devenir un meilleur contributeur ?

J’aimerais mieux « nourrir » ces comptes - par exemple, des actions simples comme reconnaître leurs contributions avec des réactions/répondre avec un « J’adore cette réponse », etc.

6 « J'aime »

Je pense que vous pouvez extraire beaucoup d’informations à l’aide de l’explorateur de données. Cela dépendrait des critères que vous utilisez pour classer un contributeur principal, mais vous pouvez utiliser des requêtes comme celle-ci pour voir qui est sur le point de devenir un TL3, par exemple Find the users which are more likely to become TL3 - #19 by ganncamp

1 « J'aime »

Pour information, vous pouvez utiliser Claude (j’utilise 3.5 Sonnet) pour créer des requêtes assez complexes. J’ai créé une requête qui attribue un score aux utilisateurs en fonction de critères très spécifiques que je lui ai donnés. Il a fallu beaucoup d’allers-retours pour arriver là où je voulais, mais au final, je suis ravi des résultats. Le plus difficile est de déterminer les critères à utiliser.

J’ai également essayé OpenAI et Gemini pour cela, et Claude a été le vainqueur incontesté.

4 « J'aime »

Notre première tentative a été le classement, mais il semble qu’il privilégie le volume pur (pensez à « Est-ce que c’est réparé ? Est-ce que c’est réparé ? Est-ce que c’est réparé ? Bonjour ? ») par rapport à la qualité. D’accord, oui, la « qualité » est difficile à algorithmer, bien qu’il y ait quelques ajustements évidents à faire.

Ce que nous avons commencé à faire pour identifier les utilisateurs vraiment utiles est de

rechercher des fils où un autre utilisateur est le premier à répondre
-- Objectif : Trouver des sujets où la première réponse non-OP est un non-SonarSourcer

WITH

SonarSourcers AS (
    SELECT u.id AS user_id
    FROM groups g
    INNER JOIN group_users gu ON g.id=gu.group_id
    INNER JOIN users u ON u.id = gu.user_id
    WHERE g.name='sonarsourcers'
),

tagged_topics AS (
    SELECT tt.topic_id
    FROM topic_tags tt
    JOIN tags t on t.id=tt.tag_id
    WHERE name = 'me-too'
),


-- trouver des sujets 'réguliers' créés par des utilisateurs normaux
topic_user AS (
    SELECT id as topic_id, user_id, created_at
    FROM topics
    LEFT JOIN SonarSourcers ss USING(user_id)
    LEFT JOIN tagged_topics tt on topics.id = tt.topic_id
    WHERE ss.user_id IS NULL  -- omettre les sujets commencés par SonarSourcers
        AND tt.topic_id IS NULL -- omettre les sujets tagués avec me-too
        AND user_id > 0  -- omettre les fils de discussion/tutoriels de bienvenue de DiscoBot
        AND visible = TRUE
        AND archived = FALSE
        AND archetype='regular'
        AND created_at::DATE > '2023-07-01'
),

-- trouver la première réponse non-OP aux sujets des utilisateurs
min_response AS (
    SELECT p.topic_id, tu.created_at, MIN(post_number) as post_number
    FROM posts p
    JOIN topic_user tu USING(topic_id)
    WHERE p.post_type = 1
        AND p.user_id != tu.user_id
        AND p.post_number > 1
        AND p.hidden = false
        AND p.deleted_at IS NULL
    GROUP BY topic_id, tu.created_at
)

SELECT p.topic_id, p.user_id, mr.created_at::DATE as thread_date
FROM posts p
JOIN min_response mr ON p.topic_id = mr.topic_id AND p.post_number=mr.post_number
LEFT JOIN SonarSourcers ss ON p.user_id=ss.user_id
LEFT JOIN user_badges ub on p.id = ub.post_id and ub.badge_id=110
WHERE ss.user_id IS NULL -- éliminer les sujets où SonarSourcer est le premier à répondre
    AND ub.user_id IS NULL -- éliminer les sujets où un badge a déjà été attribué
ORDER BY mr.created_at DESC

Une fois que nous avons identifié ces fils, nous évaluons la réponse de l’utilisateur et attribuons ensuite à l’utilisateur répondant un badge « Utilisateurs aidant les utilisateurs » ou taguons le fil avec un tag « me-too » (invisible pour le personnel). (D’ailleurs, ce rapport de réponse utilisateur a l’effet secondaire heureux de repérer rapidement les incidents dans notre service cloud. :joy:)

À partir de là, il devient facile de récompenser davantage les utilisateurs utiles et de les identifier pour un suivi plus approfondi.

5 « J'aime »

J’adore les réponses jusqu’à présent :raised_hands:

Je suppose que le plus difficile est de définir ce qu’est un contributeur principal et les attributs qui mesurent des données qualitatives plutôt que quantitatives.

Par exemple, un membre qui répond 50 fois et dont 90 % des réponses sont marquées comme solutions est-il davantage un contributeur principal qu’un membre qui contribue 100 fois mais dont seulement 10 % des réponses sont marquées comme solutions ?

Pour le moment, les principaux contributeurs sont assez faciles à identifier, car ce sont ceux que l’on voit le plus dans la communauté. Mais je suppose que nous avons besoin de critères plus concrets que nous pouvons utiliser pour identifier ceux qui sont proches, ou sur la voie.

4 « J'aime »

Si vous êtes auto-hébergé ou sur un plan qui le prend en charge. Avez-vous envisagé le plugin de gamification ?

2 « J'aime »

Oui. Le classement est un excellent moyen de voir les utilisateurs les plus actifs. Par exemple, la plupart des forums ont leurs meilleurs contributeurs occupant les 10 premières places. Ces places sont principalement occupées par des “Regulars” et des “Leaders”, en raison de leur forte activité qui leur permet de grimper et d’être promus.

2 « J'aime »

En effet, il faut juste s’assurer que le classement exclut le personnel. :wink:

2 « J'aime »

Je pense que vous touchez le point sensible ici. C’est surtout une question qualitative plutôt que quantitative.

J’ai eu des contributeurs vraiment utiles avec quelques publications par mois et j’ai eu des contributeurs inutiles avec quelques douzaines par semaine. Le classement est un excellent point de départ pour séparer le bon grain de l’ivraie, mais en fin de compte, ce sera votre jugement en tant que gestionnaire de communauté :slight_smile:

3 « J'aime »

Je regarde généralement trois points de données quantitatifs :

  • Le classement de la dernière période.
  • Le classement des utilisateurs de la dernière période, trié par publications, mentions J’aime et visites.
  • Leurs profils, pour comprendre dans quel domaine ils contribuent le plus.

Et trois aspects qualitatifs :

  • Type de publications : S’agit-il de questions ? S’agit-il de réponses ?
  • Qualité des publications : S’agit-il de commentaires courts ? S’agit-il de contributions précieuses ?
  • Ton des publications : Sont-elles acerbes ou compréhensives ? S’alignent-elles avec votre culture ou vont-elles à l’encontre ?
5 « J'aime »