creating-box-plot-insights

Par posthog · skills

Crée des analyses produit ou des insights de type box plot basés sur SQL dans PostHog. À utiliser lorsqu'un utilisateur demande à créer, construire ou enregistrer un box plot, à visualiser une distribution numérique, à comparer des quartiles ou des médianes par dates ou groupes, ou à transformer des résultats SQL en box plot. Choisit entre un box plot Trends standard et un insight SQL, valide les données de distribution, enregistre l'insight et le vérifie.

npx skills add https://github.com/posthog/skills --skill creating-box-plot-insights

Créer des insights box plot

Les box plots nécessitent des données de distribution, pas une moyenne ou un total déjà agrégés. Choisissez le type de query le plus simple qui peut exprimer la question de l'utilisateur.

Choisir le type de query

Utilisez un box plot standard d'analytics produit quand tous ces points sont vrais :

  • La source est un event, une action, ou une table warehouse supportée par Trends.
  • Une propriété numérique contient les valeurs à distribuer.
  • L'utilisateur veut la distribution sur un intervalle de temps normal.

Utilisez un box plot SQL quand l'utilisateur a besoin de groupement personnalisé, de jointures, de valeurs dérivées, ou de SQL sur mesure. Lisez querying-posthog-data avant d'écrire du HogQL, puis utilisez references/sql-examples.md comme point de départ.

N'utilisez pas SQL uniquement pour reproduire une query standard de Trends.

Box plot standard d'analytics produit

  1. Identifiez l'event ou l'action et sa propriété numérique. Confirmez que la propriété est numérique avant d'enregistrer.
  2. Construisez un InsightVizNode dont la source est une TrendsQuery :
    • Définissez l'event ou l'action de la série.
    • Définissez math_property sur la propriété numérique.
    • Définissez trendsFilter.display sur BoxPlot.
    • Choisissez la plage de dates et l'intervalle qui correspondent à la question.
  3. Exécutez la query avec posthog:query-trends.
  4. Si elle retourne des lignes de distribution, enregistrez-la avec posthog:insight-create.
  5. Relisez-la avec posthog:insight-get et confirmez la propriété, l'intervalle et l'affichage.

Un box plot sans math_property numérique est invalide. Ne substituez pas les comptages d'events sauf si les comptages sont les valeurs que l'utilisateur veut distribuer.

Box plot SQL

Le SQL doit retourner une ligne pré-agrégée pour chaque paire axe X et série. Calculez le résumé dans la base de données. Ne calculez jamais les percentiles à partir des lignes de résultats limitées du client.

Rôles numériques requis :

  • minimum
  • 25e percentile
  • médiane
  • moyenne
  • 75e percentile
  • maximum

La forme de résultat la plus simple utilise ces alias :

x, series, min, p25, median, mean, p75, max

x et series sont optionnels :

  • Définissez xAxisColumn sur null pour une distribution globale ou une boîte par série.
  • Définissez seriesColumn sur null pour une série.

Validez le HogQL avec posthog:execute-sql avant d'enregistrer. Vérifiez que :

  • Chaque statistique requise est numérique.
  • min <= p25 <= median <= p75 <= max pour chaque ligne.
  • La moyenne est entre le minimum et le maximum.
  • Chaque paire axe X et série apparaît une fois.
  • Il y a au maximum 200 séries et 10 000 cellules axe X par série.

Ensuite, enregistrez cette forme avec posthog:insight-create :

{
  "query": {
    "kind": "DataVisualizationNode",
    "source": {
      "kind": "HogQLQuery",
      "query": "<validated HogQL>"
    },
    "display": "BoxPlot",
    "chartSettings": {
      "boxPlot": {
        "xAxisColumn": "x",
        "seriesColumn": "series",
        "minColumn": "min",
        "p25Column": "p25",
        "medianColumn": "median",
        "meanColumn": "mean",
        "p75Column": "p75",
        "maxColumn": "max",
        "excludeOutliers": true
      }
    }
  }
}

Utilisez les alias réels quand la query utilise des noms différents. Ne mappez pas les six statistiques comme six séries d'axe Y.

Vérifier l'insight enregistré

  1. Relisez l'insight enregistré avec posthog:insight-get.
  2. Exécutez-le avec posthog:insight-query.
  3. Confirmez que le résultat a toujours les colonnes attendues et une ligne par boîte.
  4. Rapportez le lien insight, la valeur numérique distribuée et les choix de groupement.

Si une ligne individuelle a un résumé manquant ou invalide, PostHog omet cette boîte tout en gardant les boîtes valides visibles. Corrigez le SQL quand des boîtes omises ne sont pas attendues.

Skills associés

  • querying-posthog-data - requis avant de créer ou de modifier le HogQL pour un box plot SQL.
  • formatting-insight-axes - utilisez quand l'axe de valeur a besoin d'une devise, d'une durée, d'un pourcentage, ou d'un autre formatage.
  • building-a-dashboard - utilisez quand le box plot doit être placé avec d'autres insights sur un dashboard.

Skills similaires