Geolokační statistika zákazníků

Posted 04. 12. 2012 / By Petr Soukup / Eshop

Diskutoval jsem teď s jednou klientkou ohledně otevření nové pobočky eshopu a řešili jsme, zda v dané lokalitě už má nějaké zákazníky. Jako podklad jsme nejprve brali mapu v Google Analytics a podle očekávání se ukázalo, že příšerně kecá. Začal jsem tedy vymýšlet jiné lepší řešení.

Google kecá!

V Google Analytics je mapička a tam máte puntíčky podle měst, odkud k vám lidi chodí. Hezké. Jenže úplně blbě. Ona tahle statistika původně byla určená pro mezinárodní weby, které na mapě světa můžou krásně vidět, z jakých částí zeměkoule k nim lidi chodí. Na této úrovni to funguje velmi dobře. Když se to ale nazoomuje na konkrétní pidi stát, jako je Česká republika, tak už se vyloženě hádá. Například já teď sedím v Praze 4, ale podle Google Analytics jsem v Nymburku. Jsem totiž připojený přes wifi poskytovatele, který tam má sídlo a tak tam má registrované i všechny IP adresy. Mobilní připojení se zase hlásí jen jako několik adres, takže se sledováním zákazníků z tabletu máte smůlu. Jenže ikdyby jste měřili polohu počítače přesně (což prostě nejde), tak to stejně přesné není. Pro účely otevření prodejny vás totiž nezajímá, odkud nakupuje v eshopu, ale kam si to nechává posílat.

Poctivá geolokace

Jelikož potřebujeme znát rozložení skutečných zákazníků a nejen návštěvníků, máme oproti Google o dost jednodušší situaci. Máme totiž jejich adresy, což geolokaci tak trochu zjednodušuje. Pro zjednodušení jsem tak vzal jen PSČ zákazníků, sloučil podle nich objednávky, vypočítal obrat. Pak jsem během chvilky přiřadil k PSČ GPS souřadnice a bylo takřka vyhráno. Ukázalo se ale, že tabulka PSČ s obratem není úplně nejpřehlednější způsob zobrazení.

Začal jsem proto vymýšlet, jak z toho udělat nějakou krásnou heatmapu. Chtěl jsem podle GPS souřadnic a obratu vygenerovat barevnou mapu podle intenzity obratu a pak přes tuto mapu plácnout obrys ČR a to by víceméně stačilo. Dal jsem dohromady algoritmus a pustil ho na 100 objednávek - něco to 20 minut generovalo a pak z toho vypadla mapa. Ještě že jsme to nezkusil rovnou na celé databázi, protože to bych asi čekal ještě do příštích Vánoc.

Začal jsem tedy lovit nějaké hotovější řešení. Oproti očekávání jich byla spousta. Každé umí něco trochu jiného, takže ani nebudu uvádět konkrétní - hledejte "heatmap gps" a najdete jich fůru. Já zvolil jedno, které v HTML5 pěkně na úrovni prohlížeče generuje vrstvu nad Google Maps. Vypadá to opravdu krásně! Hezky barevné a jde to na mapě i zoomovat a podobně. Viz screenshot:

Takže z toho krásně vidíme rozložení zákazníků - nejsilnější samozřejmě Praha, pak Brno a Ostrava. Potenciál vidíme také v Plzni a Liberci. Je to generované přímo z dat eshopu, takže lokace i prodejní data jsou narozdíl od Analytics zcela přesné. Hrozně se mi to líbilo, takže jsem to hned dal jako univerzální funkci do našich eshopů a podíval se na jiný eshop. A tam mi došla zásadní zrada celé téhle statistiky.

Následující obrázek je z eshopu v úplně jiném odvětví, na druhém konci ČR a s úplně jiným stylem propagace:

Poctivá geolokace taky kecá!

Přijde vám to podobné? Nejen podobné - ona je tam mapa prakticky stejná. Pokud je tam rozdíl, tak hlavně v odstínu, protože druhý eshop má o trochu méně objednávek. Jak je to možné? Celkem snadno. Oba eshopy mají celkem velký obrat, takže už je to slušný statistický vzorek. A když máte dostatek dat, tak už nemapujete rozložení zákazníků, ale prostě jen hustotu zalidnění. A to je nám víceméně k ničemu. Na hustotu zalidnění jsme si mohli vzít i oficiální mapku a nemuseli jsme složitě generovat vlastní. Hlavně že jsem před týdnem to samé četl na XKCD.com:

Funkce je to tedy pěkná, ale v základu prakticky k ničemu. Nakonec jsem jí ale využití našel. Ona totiž začne dávat smysl ve chvíli, kdy začnete vstupní data filtrovat. Například pouze podle určitého segmentu zboží. Nebo podle osobních odběrů. Když má prodejna více poboček, tak je z toho krásně vidět jejich popularita:

Přestatistikováno

Jaké z toho plyne ponaučení? Že můžete vytáhnout velmi přesnou statistiku něčeho ani zdaleka neznamená, že výsledek k něčemu je. I v Analytics platí, že spousta údajů je tam jen na ozdobu. Sice jsou třeba velmi přesné, ale bez další kontextu můžou být dost zavádějící.

Například z první heatmapy by se mohlo zdát, že v Plzni je obrovský potenciál - určitě tam máme spoustu zákazníků oproti konkurenci a má smysl postavit tam novou prodejnu. Ve skutečnosti to ale jen říká "v Plzni bydlí hodně lidí".



O blogu
Blog o provozování eshopů a technologickém zázemí.
Aktuálně řeším hlavně cloud, bezpečnost a optimalizaci rychlosti.

Rozjíždím službu pro propojení eshopů s dodavateli.