Víte, jak uživatelé používají vaši aplikaci?

Dle studie Chaos od The Standish Group obsahuje typický softwarový systém 45 % funkcí, které nejsou koncovými zákazníky nikdy použity, 19 % funkcí je použito velmi zřídka, 16 % čas od času, 13 % často a pouze 7 % stále a opakovaně. Udržovat zmíněných 45 % nepoužívaných funkcí stojí firmy obrovské finanční prostředky, které jsou investovány zcela zbytečně.

Dle studie Chaos od The Standish Group obsahuje typický softwarový systém 45 % funkcí, které nejsou koncovými zákazníky nikdy použity, 19 % funkcí je použito velmi zřídka, 16 % čas od času, 13 % často a pouze 7 % stále a opakovaně. Udržovat zmíněných 45 % nepoužívaných funkcí stojí firmy obrovské finanční prostředky, které jsou investovány zcela zbytečně.

Tento článek vám ukáže, jak správně analyzovat využívanost vašich aplikací a soustředit se tak pouze na rozvoj funkcí, které vaši zákazníci skutečně používají.

Jak získám informace o používání své aplikace?

  1. Přímé otázky na uživatele (použitelné před i po vytvoření nové funkce), kanály: Facebook, Twitter, ale i uživatelské testování prototypů/betaverze.
  2. Analýzou používání aplikace (použitelné až po naprogramování alespoň základní verze nové funkce)

První skupina je pěkně popsána v článku Jak správně vytvořit dotazník. Můj článek se bude věnovat pouze analýze používání aplikace.

Proč bych měl používání své aplikace analyzovat ?

Správně provedená analýza vám pomůže odpovědět na následující otázky:

  • Na které funkce/části naší aplikace bychom se měli soustředit, protože je lidé využívají nejvíce?
  • Které funkce/části aplikace bychom naopak neměli dále rozvíjet, protože je nikdo nepoužívá?
  • Chápou uživatelé základní funkce naší aplikace?
  • Co brání uživatelům v používání vybraných funkcí? Jak zajistit, aby je používali více?

Souhrnně řečeno: Analýza mi pomůže směrovat své úsilí v rozvoji aplikace správným směrem. V naší analytické práci se setkáme s následujícími situacemi:

  1. Uživatelé něco udělali/neudělali: Např. 10 % uživatelů si zobrazilo sekci Reporty, 30 % nastavilo integraci s Google Analytics.
  2. V jakém množství to udělali: Např. 15 % uživatelů vytvořilo alespoň 1 projekt, 50 % uživatelů vygenerovalo 10+ reportů.
  3. Důvody, proč uživatelé nevykonali požadované akce/nevyužili určitou funkci: Např. z předchozí analýzy vyplynulo, že pouze 10 % klientů vytvořilo více než 1 report. My se snažíme zjistit, proč je toto číslo tak nízké a jak by se dalo zvýšit.

Určitě je také vhodné uživatelé naší aplikace vhodně segmentovat. Já jsem například zvlášť analyzoval následující skupiny klientů/uživatelů:

  1. Všichni uživatelé
    Kdokoliv se zaregistroval.
  2. Pouze aktivní uživatelé
    My je definujeme jako uživatele, kteří se přihlásili alespoň jednou za posledních 60 dní.
  3. Pouze platící uživatelé
    Ti nás živí, takže bychom jim měli věnovat nejvíce pozornosti.

Kdo by měl analýzu dělat?

Na následujícím příkladu chci ilustrovat, že analýzu musí provádět osoba, která aplikaci dobře rozumí a zná všechny její důležité zákonitosti. V opačném případě může dospět k neplatným závěrům.

Příklad: Zjistíme, že pouze 10 % uživatelů použilo alespoň jednou funkci „Generuj report“. Z toho bychom mohli nesprávně usoudit, že reporty uživatelé téměř vůbec nepoužívají. Naštěstí ale víme, že generování reportů je přístupné pouze uživatelům, kteří:

  • mají placený tarif,
  • úspěšně nastavili integraci s Google Analytics.

Z výše uvedeného je ideální vytvořit tzv. konverzní trychtýř:

Ve výsledku jsme zjistili konkrétní „ztrátovost“ uživatelů v jednotlivých krocích, které vedou k vytvoření reportu.

Jaká data použít?

Pro analýzu používání našeho SEO nástroje Collabim jsem použil především interní data z naší MySQL databáze.

Příklad přípravy dat: Máme tabulky clients a projects. 1 klient může mít 0..n projektů, 1 projekt je vždy vlastněn 1 klientem. Cílem analýzy je vytvořit jednoduchý přehled počtu projektů a počtu klientů s daným počtem projektů:

Počet projektů Počet klientů s daným počtem projektů
0 20
1 – 5 38
6 – 20 158

Abychom byli schopni zobrazit výše uvedenou tabulku, je potřeba nejdříve získat počty projektů pro všechny klienty. Doporučuji vytvořit jednoduchou souhrnnou tabulku projects_by_clients se sloupci clientId a numberOfProjects. Do tabulky následně vložíme potřebná data např. pomocí dotazu:

INSERT INTO
    projects_by_clients (clientId, numberOfProjects)
SELECT
    clients.id, COUNT(*)
FROM
    clients
    LEFT JOIN projects ON (projects.clientId = clients.id)
GROUP BY
    clients.id

Výslednou tabulku projects_by_clients můžeme pak již velice jednoduše dotazovat např. pomocí:

SELECT
    COUNT(*)
FROM
    projects_by_clients
WHERE
    numberOfProjects
BETWEEN
    1 AND 5

Výhody vytvoření souhrnné tabulky:

  • vyhneme se složitým SQL dotazům plným JOINů atd., které můžou způsobit, že výsledná data budou chybná,
  • data se nebudou „měnit pod rukama“, pokud analýzu děláme delší dobu,
  • omezíme práci s produkčními daty, čímž snížíme riziko, že si nějaká data omylem změníme/smažeme.

Už tě nebaví bušit e-shopy a pořád stejné klientské webíky, chceš se místo bastlení naučit pořádně programovat v PHP? Pojď si s námi vyzkoušet práci v Amazon cloudu, pojď s námi dělat Collabim.

Další tipy

U každé důležité funkce/tlačítka své aplikace si ukládejte čas prvního použití. Zpětně totiž už tato data získáte jen velmi těžko. Pomůže vám to následně analyzovat např. následující:

  • Uživatel vytvořil první report 15:18, tedy 3 minuty po registraci.
  • Uživatel poprvé navštívil stránku „Seznam projektů“ v 15:21, tedy později, než vytvořil report.

Stejně tak ukládejte čas vytvoření (nikoliv pouze datum!) ke všem záznamům, které ve své aplikaci vytváříte. Pomůže to nejen v analytice.

Dejte si pozor na uživatele, kteří se zaregistrovali na okrajích analyzovaného období. Příklad: Zjišťujete počet uživatelů, kteří se zaregistrovali mezi 1.1. a 1.12. a vytvořili více než 10 reportů. Uživatelé zaregistrovaní např. 25. listopadu pak pravděpodobně „nestihnou“ vygenerovat požadovaných 10 reportů a proto do této skupiny patřit nebudou, i když třeba zanedlouho požadovaných 10+ reportů vytvoří.

Závěry analýzy proberte s kolegy. Určitě je napadnou další zajímavé metriky a souvislosti, které je vhodné sledovat.

Jak často bych měl analýzu provádět?

Pokud jste analýzu nikdy nedělali, doporučuji ji provést pro všechny důležité části aplikace najednou. Objevíte tak mnohem více souvislostí, než kdybyste se zaměřili pouze na jednu úzkou část aplikace. Po této „velké analýze“ se již můžete zaměřit na analýzu konkrétních funkcí.

Prvotní analýza může zabrat klidně několik dní. Několikrát pravděpodobně začnete úplně od začátku, protože zjistíte, že vaše předchozí výpočty byly založeny na nesprávných předpokladech.

Pro většinu aplikací by mělo stačit provádět komplexnější analýzu jednou za kvartál. V mezičase provádějte menší analýzy nově nasazených funkcí nebo jiných větších změn v aplikaci.

Jak analyzujete své aplikace vy?

Používáte nějaké speciální analytické nástroje? Máte jiná zajímavá doporučení? Podělte se o ně v komentářích.

Jirka řídí vývoj webového SEO nástroje Collabim. Mimo SEO a programování ho baví webová analytika.

Věděli jste, že nám můžete zasílat zprávičky? (Jen pro přihlášené.)

Zdroj: https://www.zdrojak.cz/?p=3692