Intervalle de confiance d’une différence de proportions
Ce calculateur estime l’écart possible entre deux proportions de population à partir des proportions observées, des tailles d’échantillons indépendants et du niveau de confiance choisi.
Lancer gratuitement
Il applique l’approximation normale non groupée et donne la première proportion moins la seconde, avec l’erreur type, la marge d’erreur, la valeur critique et les bornes. Utilisez-le lorsque chaque échantillon représente un groupe distinct et que l’approximation normale est raisonnable.
Saisissez correctement proportions et effectifs
Indiquez chaque proportion observée sous forme décimale entre zéro et un : saisissez 0.62, et non 62, pour 62 pour cent. Associez-la au nombre total d’observations indépendantes ayant servi à son calcul. L’ordre compte, car l’estimation est la proportion un moins la proportion deux : un résultat positif signale un taux supérieur dans le premier groupe, un résultat négatif un taux inférieur. Les effectifs doivent être des entiers d’au moins un. Saisissez aussi le niveau de confiance bilatéral sous forme décimale strictement comprise entre zéro et un ; 0.95 demande un intervalle à 95 pour cent. Les valeurs zéro et un sont admises, même si l’approximation normale peut être médiocre aux extrêmes. Si vous disposez de nombres d’événements, divisez-les par leur total respectif sans arrondir excessivement. Les deux échantillons doivent mesurer la même issue binaire selon des définitions compatibles et rester indépendants ; des mesures appariées exigent une autre méthode.
Comprenez le calcul normal non groupé
La différence observée vaut p un moins p deux. Son erreur type estimée est la racine carrée de la somme suivante : p un multiplié par un moins p un, divisé par n un, puis p deux multiplié par un moins p deux, divisé par n deux. Elle est dite non groupée parce que chaque échantillon fournit sa propre variance estimée. Le niveau de confiance fixe une valeur critique normale standard bilatérale. Son produit par l’erreur type donne la marge d’erreur, retranchée puis ajoutée à la différence pour obtenir les bornes. Celles-ci ne sont pas limitées à moins un et un. Bien que la vraie différence appartienne à cette plage, les bornes de Wald peuvent la dépasser ; les conserver rend la méthode transparente. L’inverse de la loi normale repose sur une approximation rationnelle déterministe, sans simulation, réseau ni horloge. Les valeurs intermédiaires permettent de contrôler ou de reproduire le calcul dans un autre logiciel statistique.
Interprétez l’intervalle et vérifiez la pertinence de Wald
L’intervalle représente l’incertitude sur la différence de population, et non la probabilité qu’un paramètre fixe soit compris entre les bornes après observation. Avec des échantillons répétés et sous les hypothèses du modèle, une procédure à 95 pour cent couvrirait la vraie différence environ 95 pour cent du temps. Si zéro appartient à l’intervalle, l’écart n’est pas nettement séparé de zéro au seuil bilatéral correspondant ; cela ne prouve ni l’égalité ni l’absence d’intérêt pratique. L’approximation normale est plus crédible si chaque échantillon contient assez d’événements et de non-événements. Vérifiez que n multiplié par p et n multiplié par un moins p ne sont pas faibles. Avec de petits échantillons, des événements rares ou des proportions extrêmes, préférez éventuellement une méthode exacte, score ou de Newcombe. Indépendance, représentativité, définitions cohérentes et absence de biais majeur restent indispensables. Pour l’automatisation, l’API fournit le même calcul déterministe pour $0.002 par requête.
Cas d’usage
Comparer des taux de conversion
Estimez l’écart entre les conversions de deux groupes assignés indépendamment et présentez son incertitude avec l’estimation ponctuelle.
Comparer des réponses d’enquête
Résumez la différence entre deux populations échantillonnées indépendamment sur une même question binaire.
Présenter une différence de risques
Exprimez l’écart absolu entre les proportions d’événements de deux cohortes indépendantes avec un intervalle reproductible.
Questions fréquentes
Dans quel sens la différence est-elle calculée ?
Le résultat est la proportion un moins la proportion deux. Inversez les groupes pour obtenir le sens opposé.
Faut-il saisir 62 ou 0.62 pour 62 pour cent ?
Saisissez 0.62. Chaque proportion doit être un nombre décimal compris entre zéro et un, bornes incluses.
Pourquoi une borne peut-elle dépasser moins un ou un ?
La formule de Wald non groupée ne préserve pas cette plage. Le calculateur conserve ses limites brutes afin de rendre la méthode explicite.
Puis-je l’utiliser pour des observations appariées ?
Non. La formule suppose des échantillons indépendants. Les paires associées et mesures répétées nécessitent une méthode adaptée.
Que se passe-t-il si un effectif est inférieur à un ?
La requête renvoie une erreur de saisie, car une proportion ne peut pas correspondre à un échantillon vide ou négatif.
Quel est le coût d’utilisation de l’API ?
Chaque requête API coûte $0.002 ; le calcul dans le navigateur reste également disponible sans requête API.
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/stat/ci-diff-proportions \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"proportion_1":0.62,"size_1":200,"proportion_2":0.51,"size_2":180,"confidence_level":0.95}'const res = await fetch("https://api.kit.forhosting.com/stat/ci-diff-proportions", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"proportion_1": 0.62,
"size_1": 200,
"proportion_2": 0.51,
"size_2": 180,
"confidence_level": 0.95
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/stat/ci-diff-proportions",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"proportion_1": 0.62,
"size_1": 200,
"proportion_2": 0.51,
"size_2": 180,
"confidence_level": 0.95
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/stat/ci-diff-proportions", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"proportion_1":0.62,"size_1":200,"proportion_2":0.51,"size_2":180,"confidence_level":0.95}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"proportion_1":0.62,"size_1":200,"proportion_2":0.51,"size_2":180,"confidence_level":0.95}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/stat/ci-diff-proportions", 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
{
"proportion_1": 0.62,
"size_1": 200,
"proportion_2": 0.51,
"size_2": 180,
"confidence_level": 0.95
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "stat.ci_diff_proportions",
"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. |