Znalezienie lepszej analityki mobilnej
Opublikowany: 2022-03-10Tworząc aplikację mobilną, programista wyobraża sobie model i sposób, w jaki użytkownicy będą z niej korzystać. Jednym z problemów, z którymi borykają się programiści, jest to, że użytkownicy nie zawsze korzystają z aplikacji w sposób, w jaki programista to przewidział.
Jak użytkownicy wchodzą w interakcję z aplikacją? Co robią w aplikacji? Czy robią to, czego oczekuje od nich programista? Analityka mobilna pomaga odpowiedzieć na te pytania. Analytics pozwala programiście zrozumieć, co dzieje się z aplikacją w prawdziwym życiu, i daje możliwość dostosowania i ulepszenia aplikacji po zobaczeniu, w jaki sposób użytkownicy faktycznie z niej korzystają. Mówiąc prościej, analityka to badanie zachowań użytkowników.
Dalsze czytanie na SmashingMag:
- Priorytetyzacja urządzeń: testowanie i responsywne projektowanie stron internetowych
- Przejście Noego na testy użyteczności mobilnej
- Gdzie są najlepsze na świecie otwarte laboratoria urządzeń?
- Przewodnik po prostych i bezbolesnych testach użytkowników mobilnych
W tym artykule porównamy niektóre z najpopularniejszych systemów analizy mobilnej. Proces dodawania analityki do aplikacji wymaga rozważenia wielu szczegółów, a naszym celem jest dostarczenie przydatnych wskazówek dotyczących wdrażania analityki. Te informacje powinny pomóc w znalezieniu systemu analityki mobilnej, który odpowiada Twoim potrzebom, a także we właściwym zaimplementowaniu go w Twojej aplikacji.
Analityka w prawdziwym życiu
Jako przykładu posłużymy się małą aplikacją na iOS, którą opracowaliśmy. Nazywa się to, co jem i ma na celu śledzenie nawyków żywieniowych użytkownika.
Użytkownicy mogą śledzić swoje posiłki, sprawdzać codzienny dziennik posiłków i przełączać się między dniami w kalendarzu, aby przeglądać poprzednie dzienniki. Aplikacja posiada baner reklamowy, ale użytkownicy mogą zapłacić, aby go wyłączyć.
Podczas projektowania tego, co jem, naszym głównym celem było umożliwienie użytkownikowi łatwego dodawania nowych rekordów posiłków i łatwego przeglądania codziennej historii posiłków. Chcieliśmy również zarabiać na aplikacji poprzez zakup w aplikacji, aby usunąć reklamę. Aby zrozumieć, czy udało nam się to zrobić, śledzimy w aplikacji następujące zdarzenia:
- kiedy użytkownik uruchamia aplikację po raz pierwszy (instalacja aplikacji),
- gdy użytkownik otworzy listę dziennych posiłków (ekran główny aplikacji),
- kiedy użytkownik doda nowy rekord posiłku,
- gdy użytkownik dokona zakupu w aplikacji, aby usunąć reklamy.
W dalszej części tego artykułu pokażemy, w jaki sposób korzystamy z analityki, aby określić, czy użytkownicy zaczęli korzystać z aplikacji i jaki procent użytkowników zaczyna śledzić posiłki po zainstalowaniu aplikacji.
Porównanie usług analitycznych
Obecnie na rynku dostępnych jest wiele usług analitycznych, od dobrze znanych systemów, takich jak Google Analytics, po narzędzia niszowe. Analizowanie i porównywanie ich wszystkich zajęłoby wieczność; więc w tym artykule omówimy tylko te, które uznaliśmy za najwygodniejsze. Oznacza to, że wybraliśmy takie, których interfejs pulpitu nawigacyjnego i zestaw narzędzi do eksploracji danych są stosunkowo łatwe do zrozumienia i łatwe w obsłudze dla tych, którzy nie mają dużego doświadczenia z analityką, takich jak nasi klienci. Jako systemy analityczne zorientowane na urządzenia mobilne są również wygodne z perspektywy programistycznej, ponieważ kod analityczny można łatwo zaimplementować i dostroić w aplikacji mobilnej. Oto systemy:
- Flurry przez Yahoo
- Odpowiedzi Crashlytics
- Amplituda
- Mixpanel
Aby przeanalizować, jak działa What I Eat, używamy dwóch głównych narzędzi, które zapewnia prawie każdy system analityczny: zdarzeń i lejków. Zdarzenia opisują, co użytkownicy robią w aplikacji, a lejki pozwalają na jakościową analizę tych danych. Przyjrzyjmy się, jak każdy z systemów wdraża je w przypadku tego, co jem.
Mixpanel
Mixpanel umożliwia śledzenie zdarzeń niestandardowych. Deweloper może dodawać do zdarzeń parametry niestandardowe i używać tych parametrów do segmentowania ścieżek konwersji.
Zbudowaliśmy lejek, który zawiera dwa zdarzenia: „Zainstaluj” (które wskazuje na pierwsze uruchomienie aplikacji po instalacji) oraz „Dodaj posiłek” (które śledzi każde dodanie posiłku przez użytkownika). Pokazują one, jaki procent użytkowników nie tylko pobrał aplikację, ale także zaczął z niej korzystać. Konwersja szacowana jest na 65%, co oznacza, że na 100 osób, które zainstalowały aplikację, aż 65 zaczęło śledzić posiłki.
Czasami programista potrzebuje, aby zdarzenia pojawiały się w panelu analitycznym w czasie rzeczywistym lub z minimalnym opóźnieniem po ich wystąpieniu w aplikacji. Na przykład programista mógł uruchomić kampanię marketingową w mediach społecznościowych i musi śledzić w czasie rzeczywistym, jak wpływa to na ich aplikację. Mixpanel pokazuje wydarzenia niemal w czasie rzeczywistym. Nowo utworzone lejki są obliczane i wizualizowane niemal natychmiast.
Amplituda
Zaraz po tym, jak programista doda zestaw programistyczny Amplitude (SDK) do swojego projektu i bez dalszej konfiguracji zdarzeń lub ścieżek, oprogramowanie zaczyna śledzić dzienne i miesięczne dane aktywnych użytkowników (DAU i MAU). Często korzystamy z tego w What I Eat, aby zrozumieć, ile osób korzysta z aplikacji każdego dnia.
Podobnie jak Mixpanel, Amplitude zapewnia potężny zestaw narzędzi do pracy ze zdarzeniami i ścieżkami; deweloper może stworzyć lejek i podzielić go według parametrów. W przeciwieństwie do Mixpanel, Amplitude może wizualizować segmenty bezpośrednio na wykresie lejkowym, co jest przydatne, gdy trzeba zrozumieć, jak parametr wpływa na współczynnik konwersji. Poniższy wykres pokazuje, jak konwersja z „Zainstaluj” na „Dodaj posiłek” różni się w zależności od języka interfejsu.
Jak widać, rosyjski interfejs wykazuje lepszą konwersję niż angielski (83% kontra 66%). Dlatego wraz z kolejnymi aktualizacjami aplikacji być może będziemy musieli dokładniej przyjrzeć się naszym odbiorcom spoza Rosji.
Odpowiedzi Crashlytics
Podobnie jak w przypadku Amplitude, po dodaniu pakietu Answers SDK do projektu aplikacji rozpoczyna śledzenie danych. Bez prawie żadnego wysiłku ze strony programisty Answers zapewnia przejrzysty widok niektórych kluczowych wskaźników wydajności (KPI) aplikacji mobilnej: MAU, DAU, codziennych nowych użytkowników i sesji.
Deweloper może zdefiniować i śledzić niestandardowe KPI jako zdarzenia, a Answers będzie je wizualizować w ten sam sposób.
Odpowiedzi dostarczają również informacji o tym, jak aktywni są Twoi odbiorcy i ile czasu spędzają w aplikacji.
Analityka odpowiedzi przechowuje dane z ostatnich 30 dni i nie ma lejków. Dlatego działa tylko w przypadku prostej i krótkoterminowej analizy wydajności aplikacji.
Flurry przez Yahoo
Flurry nie jest tak przydatny jak Mixpanel czy Amplitude, gdy trzeba budować lejki i przeprowadzać analizę kohortową.
Użytkownicy Flurry mogą utworzyć do 10 segmentów i zastosować je w lejku. Dodanie nowego segmentu do istniejącej ścieżki wymaga jego ponownego obliczenia, co może zająć około jednego dnia. Użytkownicy nie mogą utworzyć więcej niż 10 segmentów do zastosowania w swoich ścieżkach. Obliczenia nowo utworzonych lejków mogą potrwać do trzech dni.
Nie stwierdziliśmy, że zdarzenia i lejki Flurry są przydatne w przypadku tego, co jem, i najczęściej używaliśmy Mixpanel i Amplituda.
Co jeszcze jest ważne?
Chociaż zdarzenia i ścieżki są kluczowymi funkcjami, kilka innych rzeczy wpływa na wybór odpowiedniego systemu analitycznego.
Dane demograficzne
Niektóre usługi analityczne dostarczają danych szczegółowych o odbiorcach aplikacji, nawet jeśli nie są one gromadzone w aplikacji. Robią to, pobierając dane użytkownika ze źródeł innych niż Twoja aplikacja mobilna. Jest to przydatne, gdy musisz zidentyfikować swoich zaawansowanych użytkowników, ale Twoja aplikacja nie zbiera o nich żadnych danych. Na przykład w aplikacji What I Eat użytkownicy nie muszą się rejestrować i nie ma innego sposobu, abyśmy mogli otrzymać dane użytkownika, ale nadal chcielibyśmy wiedzieć, kto ich używa, aby precyzyjnie kierować do nowych użytkowników za pomocą aplikacji aktualizacje.
Odpowiedzi zawierają dane o Twoich odbiorcach, takie jak ich płeć i zainteresowania. Być może zastanawiasz się, jak to się dzieje? Cóż, Answers jest ściśle zintegrowany z Twitterem, a ponieważ Twitter wie prawie wszystko o każdym, kto korzysta z platformy, Answers wykorzystuje te dane osobowe.
Flurry szacuje dane demograficzne, przybliżając informacje o użytkownikach, które otrzymuje z aplikacji, które je udostępniły. Powodem, dla którego programiści udostępniają te informacje, jest to, że otrzymują bardziej precyzyjny zestaw danych o odbiorcach, dostarczając Flurry dane szczegółowe. Flurry pokazuje zainteresowania, przedział wiekowy i płeć użytkowników.
Z pomocą Flurry and Answers jesteśmy w stanie zobaczyć, że odbiorcy What I Eat to głównie kobiety w średnim wieku, zainteresowane zdrowiem i sprawnością fizyczną.
Mixpanel i Amplitude nie dostarczają żadnych danych demograficznych.
Zewnętrzny interfejs API do importowania i eksportowania danych
Analytics pozwala na importowanie i eksportowanie danych przez zewnętrzne API. Eksport umożliwia analizę danych poza pulpitem analitycznym (tj. za pomocą oprogramowania do eksploracji danych innych firm, takiego jak Windrush i DataHero). Importowanie interfejsów API umożliwia wdrażanie danych na platformach analitycznych z takich źródeł, jak serwery zaplecza i systemy śledzenia atrybucji, takie jak AppsFlyer. Sprawdźmy, które usługi analityczne zapewniają takie funkcje:
- Amplitude zapewnia zewnętrzny interfejs API zarówno do importowania, jak i eksportowania zdarzeń.
- Mixpanel umożliwia importowanie i eksportowanie interfejsów API. Obsługuje język zapytań JavaScript, aby umożliwić złożone zapytania eksportowe.
- Odpowiedzi nie mają zewnętrznego interfejsu API. Możesz pobrać dane o zdarzeniach jako plik CSV z pulpitu nawigacyjnego, ale nie zawiera on żadnych parametrów zdarzenia.
- Flurry nie ma interfejsu API do importowania. Możesz eksportować dane tylko za pomocą interfejsu API eksportu.
Cena £
Firmy zajmujące się analityką mobilną eksperymentują z cenami i mogą dość często zmieniać swoje stawki. Poniższe dane pochodzą z lipca 2016 r.:
- Flurry i Answers są całkowicie bezpłatne.
- Bezpłatny plan Amplitudes zapewnia 10 milionów zdarzeń miesięcznie. Jeśli spodziewasz się, że będziesz śledzić więcej, będzie to kosztować 2000 USD miesięcznie. Chociaż używaliśmy Amplitude w wielu projektach, nigdy nie musieliśmy przełączać się na płatny poziom, ponieważ limity bezpłatnego planu są również wysokie.
- Mixpanel ma bezpłatny poziom 25 000 wydarzeń miesięcznie. Milion wydarzeń kosztuje 300 dolarów miesięcznie. Za ponad 10 milionów wydarzeń będziesz musiał zapłacić 1250 USD miesięcznie.
Wskazówki dotyczące implementacji Analytics
Teraz, gdy znamy główne różnice między poszczególnymi systemami analitycznymi, przyjrzyjmy się praktycznym aspektom wdrażania analityki.
Odrób swoją pracę domową
Jeśli zdecydowałeś, że potrzebujesz analityki w swojej aplikacji, kodowanie jej nie jest pierwszą rzeczą, o której powinieneś pomyśleć. Uważamy, że dobry programista powinien zacząć od następujących kroków:
- Zapisz, co musisz śledzić. . Zacznij od ułożenia listy pytań, na które chcesz odpowiedzieć analitykom. Na podstawie tej listy ułóż zdarzenia i parametry, które musisz śledzić, aby odpowiedzieć na pytania. Ze względu na to nie włączaj analiz do aplikacji.
- Przeformułuj to pod kątem swoich analiz. . Po ukończeniu listy wydarzeń sformalizuj ją zgodnie z wybraną platformą analityczną. Na przykład podczas gdy Amplitude dopuszcza zdarzenia z dowolnym zestawem parametrów, Google Analytics ma wstępnie zdefiniowany zestaw parametrów. Weź pod uwagę takie niuanse podczas wdrażania analiz.
- Zrób małe demo. . Dobrym pomysłem byłoby zbudowanie małej aplikacji testowej, śledzenie z jej pomocą kilkunastu zdarzeń, a następnie sprawdzenie, jak te zdarzenia są wizualizowane na wybranej przez Ciebie platformie i jakie narzędzia do eksploracji danych są dostępne. Wykorzystaj tę wiedzę, aby zmaksymalizować funkcjonalność wybranej platformy podczas wdrażania analityki w działającej aplikacji.
Myśl na wielką skalę podczas kodowania
Zaprojektuj kod analityki, aby był niezależny od kodu projektu i SDK analityki. Dlatego umieść kod analityczny w oddzielnym podsystemie lub klasie i zdefiniuj metody interfejsu, które można wywołać z kodu aplikacji. Na przykład, gdy użytkownik naciśnie przycisk menu, kod aplikacji wywoła kod klasy analitycznej. W przypadku aplikacji na iOS napisanej w Swift wyglądałoby to tak:
/** Application code: menu tap handler */ @IBAction func menuButtonPressed(sender: UIButton) { //Showing menu, etc... AnalyticsManager.sharedInstance.userTapMenuButton() }
Ogólna klasa analityczna wywoływana przez kod aplikacji zbiera listę parametrów i wysyła te dane do określonej klasy analitycznej.
/** General analytics class: a bridge between the application code and the specific analytics class */ class AnalyticsManager { static let sharedInstance = AnalyticsManager() private var services: [AnalyticsService] private init() { services = [AmplitudeAnalyticsService()] } func userTapMenuButton() { let name = "MenuTap" let properties: [String: AnyObject] = [/* define your properties */] for service in services { service.trackEvent(withName: name, properties: properties) } } }
Określona klasa analityczna wysyła dane do pakietu SDK analitycznego. W naszym przypadku jest to pakiet SDK firmy Amplitude.
/** Specific analytics class. */ class AmplitudeAnalyticsService: AnalyticsService { func trackEvent(withName name: String, properties: [String : AnyObject]?) { if let propertiesToTrack = properties { Amplitude.instance().logEvent(name, withEventProperties: propertiesToTrack) } else { Amplitude.instance().logEvent(name) } } }
Dzięki takiej strukturze, za każdym razem, gdy zdecydujesz się na migrację do innej platformy analitycznej lub dostosowanie zestawu parametrów do śledzenia, będziesz musiał zmienić tylko kod klasy analitycznej, ale nie kod aplikacji.
Przeanalizuj wszystkie swoje dane
Zbieraj dane ze wszystkich źródeł na wybranej platformie analitycznej. Wysyłaj dane nie tylko z aplikacji mobilnej, ale także z zaplecza, korzystając z zewnętrznego API. Jeśli prowadzisz kampanię reklamową, użyj systemu śledzenia instalacji, takiego jak AppsFlyer lub Adjust, aby zmierzyć jego skuteczność i zrozumieć, skąd pochodzą Twoi użytkownicy. Wybierz z góry system śledzenia instalacji, którego będziesz używać, aby upewnić się, że będzie dobrze współpracował z Twoją platformą analityczną.
Kontroluj liczbę pakietów SDK
Spróbuj użyć SDK platform analitycznych, które są już w aplikacji. Jeśli śledzisz awarie za pomocą Crashlytics, możesz korzystać z analityki Answers bez dodatkowego kodu, ponieważ zarówno Crashlytics, jak i Answers są zawarte w Fabric SDK. Jeśli Twoja aplikacja umożliwia rejestrację na Facebooku, to ma już pakiet SDK, który implementuje analitykę mobilną Facebooka, więc równie dobrze możesz jej użyć.
Spróbuj połączyć różne systemy analityczne, ale nie przytłaczaj pliku binarnego aplikacji zbyt dużą liczbą pakietów SDK.
Udokumentuj to
Na koniec, równolegle z wdrażaniem analityki dla swojej aplikacji, pracuj nad jej dokumentacją: zapisz, jakie zdarzenia i parametry śledzisz i jak to robisz. W tym celu zwykle używamy pliku Readme.md
, który jest przechowywany w głównym folderze projektu. Każde wydarzenie opisane jest następującymi danymi:
- nazwa zdarzenia (na przykład „Rejestracja użytkownika”);
- po śledzeniu (na przykład „Po pomyślnej rejestracji nowego użytkownika”);
- parametry (na przykład „E-mail/ciąg”);
- kontroler, w którym wywoływany jest kod śledzenia (na przykład „SignInController”).
Takie szczegóły łatwo zapomnieć, ale stają się one krytyczne, gdy chcesz zmienić zestaw danych do śledzenia lub gdy chcesz przeprowadzić migrację na inną platformę analityczną.
Podsumowując
Żadna usługa analityczna nie jest idealna; każdy ma swoje plusy i minusy. Wybierając jedną, należy rozważyć takie czynniki, jak typ aplikacji, interfejs pulpitu analitycznego, budżet i tak dalej. Możesz nawet chcieć skorzystać z rozwiązań niszowych, takich jak analityka gier, które zostały stworzone do analizowania nieliniowych doświadczeń użytkowników (na przykład GameAnalytics) lub analityki zorientowanej na programistę (na przykład Keen IO).
Znaleźliśmy połączenie odpowiedzi i amplitudy, które idealnie współpracuje z tym, co jem, i zapewnia wszystkie niezbędne analizy dla aplikacji. Chociaż aplikacja Answers jest bezpłatna i pokazuje dane demograficzne oraz kluczowe wskaźniki wydajności aplikacji, Amplitude umożliwia bardziej złożoną analizę behawioralną kohorty. Śledzimy również awarie aplikacji za pomocą pakietu Answers' Fabric SDK.
Chcielibyśmy usłyszeć o zestawie narzędzi analitycznych, którego używasz w swojej aplikacji mobilnej. Podziel się swoimi pomysłami w komentarzach.