PM / nature après ajout de la balise

En examinant les modèles de comportement des utilisateurs, nous avons récemment commencé à prêter attention au moment où les utilisateurs se répondent. Lorsqu’un utilisateur répond à son propre fil de discussion initial, s’agit-il d’un #bump ou d’un #self-solve ? J’ai rédigé un rapport pour

Trouver les fils de discussion où les utilisateurs se répondent.
-- Objectif : montrer les fils de discussion où les utilisateurs se répondent

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 in ('me-too', 'bump', 'self-solve')
),


-- trouver les 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 initiés par SonarSourcers
        AND tt.topic_id IS NULL -- omettre les sujets étiquetés me-too, bump ou self-solve
        AND visible = TRUE
        AND archived = FALSE
        AND archetype='regular'
        AND deleted_at IS NULL
        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

Nous examinons régulièrement les résultats pour catégoriser les fils de discussion en ajoutant une étiquette #bump ou #self-solve (ce qui retire le fil de discussion du rapport).

Et maintenant, nous aimerions approfondir cela en envoyant un message privé de « nurture » aux utilisateurs qui se résolvent eux-mêmes pour dire quelque chose comme

Félicitations pour avoir résolu votre problème et merci d’avoir partagé vos découvertes. Vos collègues de la communauté trouveront certainement cela utile à l’avenir. Et si vous souhaitez apporter davantage votre expertise, voici comment vous pouvez commencer…

Maintenant, à la question : Nous pouvons trouver les utilisateurs pertinents, en fonction des étiquettes de leurs fils de discussion. Et nous pouvons certainement envoyer ces messages manuellement (et nous le faisons, jusqu’à présent).

Mais y a-t-il une automatisation que nous pouvons mettre en place autour de

  • la sélection des utilisateurs (oui, nous pouvons écrire un autre rapport pour cela…)
  • l’envoi du message
2 « J'aime »