"Convertir" une string en boolean

Fermé
jeanjean_ac Messages postés 27 Date d'inscription samedi 20 août 2011 Statut Membre Dernière intervention 29 août 2011 - 28 août 2011 à 02:47
eriiic Messages postés 24512 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 24 mars 2023 - 29 août 2011 à 19:31
Bonjour,

Je suis en train de développer un système pour faire des test A/B sur mes pages. Concrètement, quand une page s'affiche, un appel Ajax va demander une des deux versions du test au serveur et l'affiche au visiteur. L'objectif étant bien entendu de voir les différences dans Google Analytics.

Mais j'ai besoin que mes utilisateurs ne soient pas perturbés par un affichage aléatoire : chaque utilisateur doit toujours recevoir la même version.

J'ai pensé me baser sur l'adresse IP, qui est suffisante à cette échelle pour identifier un utilisateur.

Il me faudrait donc une solution pour transformer en adresse IP en 'A' ou 'B' ; ou plus généralement, "convertir" une string en boolean...

La problématique, c'est de garder la probabilité de 50/50 à chaque tirage. Sachant que les adresses IP ne sont pas distribuées aléatoirement (un provider se voit attribué un lot d'adresses IP qui commencent par les mêmes chiffres), je recherche un algo qui ne prênent pas en compte cette spécificité. Il faudrait un truc comme l'algo MD5 : à la moindre variation d'un seul caractère, il y a 99.99% de probabilité que le résultat soit différent.

J'espère que quelqu'un pourra me renseigner :)

PS: Si vous vous intéressez aux tests A/B : https://alistapart.com/article/a-primer-on-a-b-testing/

Jean

1 réponse

eriiic Messages postés 24512 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 24 mars 2023 7 168
28 août 2011 à 11:25
Bonjour,

Sans prendre un algo bien compliqué tu pourrais te contenter de tester la parité du dernier chiffre non ?

eric
0
jeanjean_ac Messages postés 27 Date d'inscription samedi 20 août 2011 Statut Membre Dernière intervention 29 août 2011
28 août 2011 à 16:47
Salut eric,

Je sais pas.... j'ai des doutes sur les probabilités.... puis c'est pas générique...

Dans mon cas de figure ça peut peut-être marcher, je vais faire des tests pour voir si ça tombe vers 50/50.

Merci
0
eriiic Messages postés 24512 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 24 mars 2023 7 168
28 août 2011 à 17:14
Je sais pas.... j'ai des doutes sur les probabilités....
Tu penses qu'un FAI va donner d'abord toutes les adresses paires puis les impaires ?
Sans compter qu'il ne peut attribuer que celles qui sont libres
0
jeanjean_ac Messages postés 27 Date d'inscription samedi 20 août 2011 Statut Membre Dernière intervention 29 août 2011
28 août 2011 à 21:09
Non, mais le dernier chiffre a plus de chance d'être entre 1 et 5, vu que les adresses vont jusqu'à 255. Ensuite, je n'ai aucune idée du comment de la répartition des adresses, mais je sais que c'est un paramètre qui peut faire changer les probabilités.

Théoriquement par contre y'a 50% d'avoir du pair entre 0 et 5 comme entre 0 et 9. Mais en pratique, je viens de faire le tests sur environs 800 visites et ça donne du 58/42 ce qui est pas trop mal. Par contre, beaucoup de disparités en fonction de la provenance... l'échantillon est peut-être un peu trop petit pour savoir...

La méthode aléatoire me donnait en "moyenne" du 52/48 sur des échantillons de la même taille.
0
jeanjean_ac Messages postés 27 Date d'inscription samedi 20 août 2011 Statut Membre Dernière intervention 29 août 2011
28 août 2011 à 21:10
Je vais laisser tourner cette nuit histoire d'avoir un échantillon plus large. On en reparle demain :)
0
eriiic Messages postés 24512 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 24 mars 2023 7 168
28 août 2011 à 21:37
Si tu crains que tous les n° ne soient pas attribués tu peux toujours tester la parité de la somme des 2 ou 3 derniers nombres de l'IP.
eric
0