Tous les articles
Risque9 min de lecture

Combien de paris avant de savoir si votre edge est réel ?

Avec 2 % d'edge sur des cotes à 1,95, un parieur sur trois est encore en perte après 500 paris. Le calcul, et ce qu'il implique pour votre suivi.

« Je suis à −4 % de ROI sur 400 paris, mon modèle ne marche pas. » Cette phrase est prononcée tous les jours, et la plupart du temps elle est fausse — non parce que le modèle est bon, mais parce que 400 paris ne permettent tout simplement pas de trancher.

Le pari sportif a un rapport signal/bruit épouvantable. Un edge de 2 % vit dans une variance de plusieurs dizaines de pourcents. Avant d'interpréter un résultat, il faut savoir ce qu'un échantillon de cette taille est capable de montrer.

Le calcul, en trois lignes

Pour des paris à mise fixe sur une cote c, avec une probabilité de gain p, le profit par pari a une espérance et un écart-type qu'on écrit directement. L'incertitude sur le ROI observé décroît en racine de n — c'est là que tout se joue.

import math

def roi_noise(odds=1.95, edge=0.02, n=400):
    p = (1 + edge) / odds                 # proba de gain implicite à l'edge visé
    gain, loss = odds - 1, -1.0
    mean = p * gain + (1 - p) * loss      # = edge
    var = p * (gain - mean) ** 2 + (1 - p) * (loss - mean) ** 2
    return mean, math.sqrt(var / n)       # espérance, écart-type du ROI observé

mean, se = roi_noise(n=400)
print(f"edge réel {mean:.2%} | bruit à 400 paris ±{se:.2%}")
# edge réel 2.00 % | bruit à 400 paris ±4.87 %

Autrement dit : avec un edge authentique de 2 %, votre ROI observé sur 400 paris se promène dans un intervalle d'environ ±10 points (deux écarts-types). Un résultat entre −8 % et +12 % est parfaitement compatible avec le même modèle gagnant.

La probabilité d'être en perte alors que tout va bien

On peut retourner la question : quelle est la probabilité d'afficher un ROI négatif après n paris, alors que l'edge est réel ? La réponse est brutale.

from statistics import NormalDist

def p_losing(odds=1.95, edge=0.02, n=400):
    mean, se = roi_noise(odds, edge, n)
    return NormalDist(mean, se).cdf(0)    # P(ROI observé < 0)

for n in (200, 500, 1000, 2000, 5000):
    print(f"{n:>5} paris → {p_losing(n=n):.0%} de chances d'être en perte")
#   200 paris → 39 %
#   500 paris → 32 %
#  1000 paris → 26 %
#  2000 paris → 18 %
#  5000 paris → 7 %

Un parieur sur trois avec un edge réel de 2 % est encore dans le rouge après 500 paris. Statistiquement, il n'a rien à corriger : il n'a simplement pas assez joué pour que le signal émerge.

Ces chiffres supposent des paris indépendants et une cote constante. Si vous pariez plusieurs sélections corrélées le même jour, ou si vos cotes vont de 1,3 à 5,0, la variance réelle est plus élevée et il faut donc encore plus de paris.

Combien de paris, alors ?

Pour séparer un edge de zéro avec une confiance raisonnable, il faut que l'edge vaille au moins deux fois le bruit. Sur un edge de 2 % à cote 1,95, ce rapport n'atteint 1,6 qu'à 6 000 paris et 2,0 qu'à 10 000. Le besoin croît comme le carré de l'inverse de l'edge : diviser son edge par deux, c'est quadrupler l'échantillon nécessaire.

  • Edge de 5 % sur cote 1,95 : quelques centaines de paris suffisent à voir clair.
  • Edge de 2 % : plusieurs milliers.
  • Edge de 1 % sur des cotes à 3,00 : plusieurs dizaines de milliers — hors de portée d'un suivi manuel.

Mesurer autre chose que le résultat

La conclusion pratique n'est pas « pariez 6 000 fois avant de conclure », c'est « arrêtez de mesurer ce qui converge le plus lentement ». Le résultat d'un pari est une variable binaire très bruitée ; la qualité du prix que vous avez pris, elle, est observable immédiatement.

  1. Écart à la ligne de clôture : votre prix contre le dernier prix du marché. Chaque pari donne une mesure, sans attendre le résultat.
  2. Écart à la cote équitable au moment de la prise : mesure votre sélection, indépendamment du mouvement ultérieur.
  3. Slippage réel : écart entre la cote visée et la cote obtenue. C'est souvent là, et non dans le modèle, que l'edge disparaît.

Ces trois métriques ont la même vertu : elles ne dépendent pas de l'issue du match, donc elles ne portent pas la variance du résultat. Quelques centaines de paris suffisent à savoir si vos prix sont bons — pendant que votre ROI, lui, met encore des années à parler.

Le résultat vous dit ce qui s'est passé. Le prix vous dit si vous aviez raison. Les deux convergent, mais pas à la même vitesse.

Décider ses seuils à froid

Ce calcul a un usage préventif : il fixe vos seuils avant la série, pas pendant. Sachant que votre ROI va se promener dans ±10 points, un seuil d'arrêt à −5 % garantit que vous couperez une stratégie saine. Le seuil doit être fixé au-delà du bruit attendu, calculé pour VOTRE edge estimé et VOTRE volume.

Et pour estimer cet edge sans tourner en rond, ne partez pas de votre ROI passé — partez de vos prix. Reconstruire les cotes équitables et les clôtures ligne par ligne sur votre historique de paris donne une estimation d'edge stable, utilisable dans le calcul ci-dessus.

# la clôture de la ligne exacte que vous avez jouée
curl -H "X-API-Key: $APINN_KEY" \
  "https://api.apinn.io/api/closing?event_id=1610000123"

# le mouvement complet, ouverture → clôture, pour situer votre entrée
curl -H "X-API-Key: $APINN_KEY" \
  "https://api.apinn.io/api/history?event_id=1610000123"

Un edge estimé sur les prix, un seuil d'arrêt calculé sur la variance attendue, et une mise dimensionnée pour survivre à l'intervalle : c'est ce trio qui empêche d'abandonner une stratégie gagnante au 400e pari.

Ces calculs, sur des données réelles

Cotes Pinnacle en temps réel, cotes équitables incluses, historique d'ouverture et de clôture — accès self-serve, clé API en quelques minutes.