Vérifiez l’échantillon et la significativité d’un test A/B
Ce vérificateur de significativité transforme les nombres de visiteurs et de conversions de deux variantes de page de destination en taux observés, en écart et en score z groupé pour deux proportions.
Lancer gratuitement
Il contrôle aussi si chaque variante contient assez de conversions et de non-conversions pour étayer raisonnablement l’approximation normale. Utilisez-le comme un indicateur rapide et transparent avant de prendre une décision, sans oublier que la statistique ne remplace ni la conception de l’expérience, ni le contrôle de la qualité du trafic, ni une règle d’arrêt fixée à l’avance.
Saisissez des totaux cohérents issus de la même expérience
Indiquez le nombre de visiteurs et de conversions des variantes A et B. Le nombre de visiteurs correspond aux personnes ou sessions admissibles affectées à chaque version, tandis que les conversions désignent celles qui ont atteint le même objectif prédéfini. Appliquez aux deux variantes une fenêtre d’attribution, des règles d’audience, un filtrage des robots et une définition de conversion identiques. Le calculateur refuse une variante sans visiteur, car aucun taux ne peut alors être observé, ainsi qu’un nombre de conversions supérieur aux visiteurs, qui ne représente pas un résultat binomial d’une conversion par personne. Si votre indicateur autorise plusieurs achats ou événements par visiteur, ramenez-le d’abord à un résultat individuel converti ou non converti. Ne mélangez pas des totaux provenant de dates, campagnes, appareils ou règles d’affectation différents, sauf si ces écarts faisaient partie du protocole. L’affectation aléatoire et l’exposition simultanée sont essentielles : même exact, un score z ne corrige pas les effets de calendrier, une répartition défaillante, les doublons ou un suivi différent selon la version.
Interprétez ensemble les taux, l’écart et le score z
Le taux observé de chaque variante est le nombre de conversions divisé par celui des visiteurs. L’écart absolu soustrait le taux de A à celui de B : un résultat positif favorise donc B, et un résultat négatif favorise A. L’écart en points de pourcentage exprime la même distance sur une échelle familière de 0 à 100 ; il ne s’agit pas d’une hausse relative. Le calculateur regroupe ensuite les conversions des deux groupes afin d’estimer l’erreur type attendue sous l’hypothèse nulle d’égalité des taux réels. La division de l’écart observé par cette erreur produit le score z. Le résultat est signalé comme statistiquement notable lorsque la valeur absolue du score atteint au moins 1.96, soit le seuil bilatéral courant de 5%. Cette règle de tri simple ne garantit pas que la page gagnante reproduira le même gain. Elle ne fournit aucune probabilité bayésienne, ne corrige ni les consultations répétées ni les variantes multiples et n’intègre pas la valeur du chiffre d’affaires. Examinez conjointement le sens, l’ampleur pratique et le signal statistique.
Tenez compte de la réserve sur l’échantillon avant de décider
La procédure z à deux proportions repose sur une approximation normale. Cet outil ne juge l’échantillon adéquat que si chaque variante possède au moins cinq conversions et cinq non-conversions. Il s’agit d’un minimum pratique, pas d’une garantie de puissance élevée. Si ce critère échoue, le score z reste affiché par souci de transparence, mais son franchissement du seuil doit être interprété prudemment ; une méthode exacte ou davantage d’observations conviendrait peut-être mieux. Même lorsque le contrôle réussit, demandez-vous si l’expérience pourrait détecter le plus petit effet ayant un intérêt commercial. Un gain infime mais statistiquement notable peut ne pas justifier sa mise en œuvre, tandis qu’un écart important et prometteur peut rester incertain avec peu de trafic. Évitez d’arrêter le test dès que le score dépasse 1.96 : les examens répétés augmentent les faux positifs sans plan séquentiel. Définissez avant le lancement l’indicateur cible, l’effet minimal détectable, la durée, les exclusions et la règle d’arrêt. Enfin, contrôlez les indicateurs de garde-fou et l’équilibre des segments. Ce calculateur résume un seul résultat binaire et ne révèle ni ralentissement, ni variation des remboursements, ni déséquilibre d’affectation, ni gain limité à un trafic suspect.
Cas d’usage
Évaluez une page de destination gagnante
Comparez les inscriptions après un test planifié et vérifiez si l’écart observé franchit un seuil z bilatéral courant.
Repérez des données initiales trop rares
Détectez les variantes qui manquent de conversions ou de non-conversions avant de présenter une conclusion fondée sur l’approximation normale.
Auditez une expérience communiquée
Recalculez les taux et le score z groupé à partir des totaux bruts pour contrôler un tableau de bord ou une affirmation interne.
Questions fréquentes
Que signifie statistiquement notable ici ?
La valeur absolue du score z groupé pour deux proportions atteint au moins 1.96, ce qui correspond à un seuil bilatéral simple de 5% sous les hypothèses du test.
Comment l’adéquation de l’échantillon est-elle vérifiée ?
Chaque variante doit comporter au moins cinq conversions et cinq non-conversions. Ce critère soutient l’approximation, sans prouver une puissance suffisante pour votre objectif commercial.
Un résultat notable prouve-t-il que B est meilleure ?
Non. Il apporte un élément probant dans un modèle statistique précis, sans démontrer la causalité ni les performances futures. Affectation aléatoire, suivi fiable et règle d’arrêt planifiée restent indispensables.
Les conversions peuvent-elles dépasser les visiteurs ?
Non pour ce calcul, qui modélise un résultat binaire par visiteur. Transformez les événements répétés en nombre de visiteurs uniques ayant réalisé au moins une conversion.
Quel est le prix du calculateur ?
Vous pouvez l’exécuter gratuitement dans votre navigateur sur cette page. Chaque requête API coûte $0.002.
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/ecom/landing-page-ab-test-significance \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"variant_a_visitors":5000,"variant_a_conversions":500,"variant_b_visitors":5000,"variant_b_conversions":600}'const res = await fetch("https://api.kit.forhosting.com/ecom/landing-page-ab-test-significance", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"variant_a_visitors": 5000,
"variant_a_conversions": 500,
"variant_b_visitors": 5000,
"variant_b_conversions": 600
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/ecom/landing-page-ab-test-significance",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"variant_a_visitors": 5000,
"variant_a_conversions": 500,
"variant_b_visitors": 5000,
"variant_b_conversions": 600
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/ecom/landing-page-ab-test-significance", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"variant_a_visitors":5000,"variant_a_conversions":500,"variant_b_visitors":5000,"variant_b_conversions":600}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"variant_a_visitors":5000,"variant_a_conversions":500,"variant_b_visitors":5000,"variant_b_conversions":600}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/ecom/landing-page-ab-test-significance", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"variant_a_visitors": 5000,
"variant_a_conversions": 500,
"variant_b_visitors": 5000,
"variant_b_conversions": 600
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "ecom.landing_page_ab_test_significance",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |