Przecinek, który zawyżył każdą europejską cenę 100-krotnie
Parser cen, który usuwał przecinki, odczytał niemieckie 9,99 € jako 999. Nic się nie zawiesiło, nic nie wyglądało źle, a model przychodów po cichu raportował liczby sto razy za duże.
Ceny to jedyne dane wejściowe, w których błąd rzędu wielkości wygląda całkowicie prawdopodobnie na wykresie. Aplikacja subskrypcyjna pokazująca 6,499 $ rocznie jest absurdalna, jeśli się zatrzymasz i pomyślisz, a zupełnie niepozorna, jeśli skanujesz pulpit nawigacyjny.
Co robił kod
Parser usuwał separatory tysięcy przed dopasowaniem cyfr, co jest poprawne dla angielskiego i błędne dla większości Europy. Niemiecki sklep drukuje 9,99 €, przecinek jest separatorem dziesiętnym, a jego usunięcie daje 999.
Ponieważ model przychodów odczytuje drabinkę cen z tego sklepu, który jest aktualnie na ekranie, otwarcie śledzonej aplikacji na karcie niemieckiej podało mu cenę kotwiczną 6,499 zamiast 44.36. Zawyżenie 147 razy, bez błędu, bez ostrzeżenia i bez widocznego objawu.
Poprawka i dlaczego wykrywanie ustawień regionalnych było złą odpowiedzią
Oczywistą naprawą jest sprawdzenie sklepu i zastosowanie jego konwencji. Nie zrobiliśmy tego, ponieważ parser otrzymuje również ciągi, których pochodzenia nie może być pewien, a wyszukiwanie, które po cichu powraca do angielskiego, odtwarza błąd w trudniejszej do znalezienia formie.
Zamiast tego separator dziesiętny jest ustalany na podstawie pozycji. Jeśli występują zarówno kropka, jak i przecinek, ten po prawej jest separatorem dziesiętnym: 1.234,56 i 1,234.56 są poprawnie analizowane bez wiedzy, z jakiego kraju pochodzą. Jeśli występuje tylko jeden, jest separatorem tysięcy, gdy dokładnie trzy cyfry następują po nim, a w przeciwnym razie separatorem dziesiętnym.
Ten sam błąd, z innym przyrostkiem
Potem Indonezja. Apple drukuje 829,000 rupii jako "Rp 829ribu", gdzie ribu to po indonezyjsku tysiąc. Czytane dosłownie to 829 rupii, około pięciu centów amerykańskich, co w porównaniu z ceną amerykańską 69.99 $ zostałoby opublikowane jako najbardziej dramatyczne odkrycie lokalizacyjne na ekranie.
Słowa oznaczające wielkość są teraz obsługiwane. Ale ta tabela nigdy nie może być kompletna, ponieważ każdy sklep może wydrukować słowo, którego nikt po tej stronie nie widział, więc istnieje również dolny próg: cena przeliczająca się na mniej niż 2% rynku bazowego jest wstrzymywana jako niewiarygodna, a nie publikowana. Najtańszy prawdziwy rynek, który mierzymy, Türkiye, wynosi 5%, więc zabezpieczenie wyłapuje błędy rzędu wielkości bez kwestionowania rzeczywistych cen.
Powiązane
- 90% najlepszych aplikacji nigdy nie testuje swojej ikony: co wykazało badanie porównawcze 1000 aplikacji
- Nikt nie może Ci sprzedać liczby wyszukiwań w App Store
- Cennik Sensor Tower w 2026: ile to naprawdę kosztuje
- Potto stało się viralem na TikToku. Oto, co zrobił z tym App Store
Blog · Studia przypadków · Free ASO tools · Produkty · Prywatność i warunki · AsoTheory