La coma que va inflar cada preu europeu per 100x

Un analitzador de preus que eliminava comes llegia el 9,99 € alemany com a 999. Res no es va trencar, res no semblava malament, i el model d'ingressos informava silenciosament xifres cent vegades massa grans.

Els preus són l'única entrada on un error d'ordre de magnitud sembla completament plausible en un gràfic. Una app de subscripció que mostra $6,499 l'any és absurda si t'hi atures a pensar, i totalment normal si estàs escanejant un panell.

Què feia el codi

L'analitzador eliminava els separadors de milers abans de fer coincidir els dígits, cosa que és correcta per a l'anglès i incorrecta per a la major part d'Europa. La botiga alemanya imprimeix 9,99 €, la coma és el punt decimal, i eliminar-la produeix 999.

Com que el model d'ingressos llegeix l'escala de preus de la botiga que hi ha a la pantalla, obrir una app seguida a la pestanya alemanya li va donar un preu d'ancoratge de 6,499 en lloc de 44.36. Una sobreestimació de 147x, sense cap error, cap avís i cap símptoma visible.

La solució, i per què la detecció de configuració regional era la resposta equivocada

La reparació òbvia és buscar la botiga i aplicar-ne la convenció. No ho vam fer, perquè l'analitzador també rep cadenes de les quals no pot estar segur de l'origen, i una cerca que recau silenciosament en l'anglès recrea l'error en una forma més difícil de trobar.

En canvi, el separador decimal es decideix per la posició. Si apareixen tant un punt com una coma, el que està més a la dreta és el punt decimal: 1.234,56 i 1,234.56 s'analitzen correctament sense saber de quin país provenen. Si només n'apareix un, és un separador de milers quan el segueixen exactament tres dígits, i un punt decimal en cas contrari.

El mateix error, amb un sufix diferent

Després Indonèsia. Apple imprimeix 829,000 rupies com a "Rp 829ribu", on ribu és mil en indonesi. Llegit literalment això són 829 rupies, uns cinc cèntims de dòlar, que contra un preu americà de $69.99 s'hauria publicat com la troballa de localització més dramàtica a la pantalla.

Ara es gestionen les paraules de magnitud. Però aquesta taula mai no pot ser completa, perquè qualsevol botiga pot imprimir una paraula que ningú d'aquest costat no ha vist, així que també hi ha un mínim: un preu que es converteix a menys de 2% del mercat base es reté com a poc fiable en lloc de publicar-se. El mercat genuí més barat que mesurem, Turquia, se situa a 5%, així que la protecció detecta errors d'ordre de magnitud sense qüestionar els preus reals.

Relacionat

Blog · Estudis de cas · Free ASO tools · Productes · Privacitat i termes · AsoTheory