Cohen's $d$ is gedefinieerd als:
$$d = \frac{\text{verschil tussen gemiddelden}}{\text{standaarddeviatie}}$$
Dat lijkt een eenduidige formule, maar zowel voor de bovenste term als de onderste bestaan verschillende opties.
Bij het verschil tussen gemiddelden is er minder variatie. Je kunt bijvoorbeeld het meer robuuste zogenaamde 'trimmed mean' nemen, waarbij de bovenste en onderste 5% of 10% van de waarden is verwijderd, maar in veruit de meeste gevallen is dit gewoon het huis-, tuin-, en keukengemiddelde.
Maar, de standaard-deviatie is een ander verhaal.
Want, elke datareeks waaruit je een gemiddelde berekent heeft een eigen standaarddeviatie. Ook een eigen gemiddelde, maar hoe je dat oplost ligt al besloten in het deel boven de streep: dat is immers het verschil tussen gemiddelden.
Maar hoe ga je om met die twee standaarddeviaties dan?
Daar zijn allerlei opties voor en ideeen over.
Sommige mensen zeggen dat je het gemiddelde van 'de controlegroep' moet pakken. Als er een duidelijke controlegroep is, dan is daar van alles voor te zeggen.
Anderen zeggen dat je de grootste standaarddeviatie moet pakken.
Anderen zeggen dat je moet kijken of de varianties in beide groepen gelijk zijn, en dat wat je moet doen daarvan afhangt.
Weer anderen zeggen dat je altijd moet poolen: soort van middelen voor varianties. En hoe ga je dan om met verschillende groepsgrootte? Weeg je grote groepen dan zwaarder (want accuratere schatting)?
En als de varianties ongelijk zijn, welke van de twee is dan 'de goeie'?
Hier zijn dus heel veel mogelijkheden voor, en geen enkele is 'de goede' of 'de verkeerde'. Welke het meest gepast (of 'goed') is, hangt van je situatie af.
Tegelijkertijd kiezen ontwikkelaars van software vaak voor een 'default': een methode die wordt gebruikt als je geen andere aanpak specificeert. Welke methode ze als 'default' kiezen hangt onder andere af van hun persoonlijke voorkeuren.
Die verschilt dus van programma tot programma, en dit kan zulke verschillen verklaren.
Dit benadrukt weer dat je heel wantrouwend moet zijn tegenover puntschattingen, en je altijd moet realiseren dat het schattingen zijn waar een bepaalde onzekerheid in zit. Betrouwbaarheidsintervallen gebruiken is dus logischer: die introduceren een 'gepaste onzekerheid' over uitspraken.
(die overlappen dan natuurlijk ook niet 100% van het ene programma tot het andere, tenzij je met de juiste argumenten/parameters specificeert welke formules precies gebruikt moeten worden)