Market research. Dlaczego warto wykorzystywać R w badaniach rynku
W ostatnich kilku latach nastąpiła eksplozja zainteresowania szeroko pojętą analizą danych. Pojęcia takie jak data science, big data, machine learning pojawiają się bez przerwy w najróżniejszych kontekstach w mediach, a zawody związane z analizą danych jawią się jako bardzo atrakcyjne na rynku pracy. Równolegle coraz więcej firm zwraca uwagę na potencjalne korzyści związane z wykorzystaniem zaawansowanej analityki przy podejmowaniu decyzji biznesowych.
Bardzo często mówi się o analizie danych w kontekście przetwarzania dużych wolumenów danych pochodzących z Internetu lub zaawansowanych algorytmów rozpoznawania obrazów, czy też przetwarzania języka naturalnego, natomiast zapomina się o sektorze, w którym tradycyjnie wykorzystuje się statystyczną analizę danych od dziesięcioleci, tj. badaniach rynku.
W tym krótkim artykule postaram się zachęcić osoby związane z lub zainteresowane branżą badań rynku do wykorzystywania w pracy języka programowania R. Chciałbym zauważyć, że dane pochodzące z badań rynku są dość specyficzne. To, co je charakteryzuje to zwykle stosunkowo niewielka liczba obserwacji oraz duża liczba zmiennych, wśród których dominują zmienne kategorialne lub porządkowe.
Do niedawna narzędziem pierwszego wyboru dla osób pracujących przy analizie danych z badań rynku były komercyjne pakiety statystycznie takie, jak SPSS lub SAS. Szczególnie SPSS jest bardzo mocno związany z szeroko pojętymi badaniami społecznymi, psychometrią, socjologią itp. Jednak w ostatnich latach rozwój języków programowania typu open-source wykorzystywanych w analizie danych takich, jak R lub Python, zmienił reguły gry. Coraz więcej specjalistów (z autorem tego artykułu włącznie) podjęło świadomą decyzję o przesiadce do R. Oto najważniejsze z czynników stymulujących ten trend:
- cena – może dziwić, że umieściłem to na pierwszym miejscu, ale jest to dość istotny czynnik zarówno z punktu widzenia przedsiębiorstwa, jak i osoby, która chciałaby się nauczyć pracy z narzędziem samodzielnie. O ile będąc studentem ma się często darmowy dostęp do oprogramowania komercyjnego, o tyle później jest z tym bardzo trudno. W związku z tym, że R jest całkowicie darmowym oprogramowaniem jego cena wynosi 0, z czym bardzo trudno konkurować. Co więcej, w przypadku rozwiązań komercyjnych bardzo często płaci się za moduły. W związku z tym bardzo bogata wersja SPSS lub SAS może być naprawdę droga, mimo że z pewnych technik będziemy korzystać sporadycznie.
- uniwersalność na rynku pracy – każdy z nas chciałby mieć poczucie, że umiejętności, które posiada mają charakter na tyle uniwersalny, że w przypadku konieczności zmiany pracodawcy, rynek przyjmie nas z otwartymi rękami. Obecnie firmy szukające analityków (bez względu na branżę) stawiają zwykle na znajomość R lub Python’a, w związku z czym jest to racjonalna decyzja, aby rozwijać się raczej w tym kierunku. Dodatkowo R stał się bardzo popularnym językiem w środowisku naukowym, co też nie jest bez znaczenia.
- dostępność materiałów do nauki – chcąc się nauczyć analizy danych samodzielnie mamy w Internecie ogromną liczbę wysokiej jakości zasobów. Jednak tak się składa, że wśród kursów na takich platformach jak edx, Coursera lub datacamp można się nauczyć analityki głównie w oparciu o R/Python.
- charakter open-source – R jest narzędziem tworzonym przez jego użytkowników, dla jego użytkowników. Rozwój R odbywa się poprzez tworzenie nowych pakietów oraz utrzymywanie starych. W konsekwencji, jeśli musimy rozwiązać jakiś problem, to jest bardzo prawdopodobne, że ktoś już kiedyś był takiej sytuacji i jego rozwiązanie znajduje się gdzieś w sieci, bądź w postaci kodu lub pakietu funkcji, które możemy wykorzystać. Komercyjne pakiety statystyczne z pewnością są rozwijane przez świetnych fachowców, ale raczej nie są oni w stanie reagować na zmiany równie szybko, jak społeczność użytkowników R. Do pakietów szczególnie intensywnie używanych w badaniach rynku jeszcze przejdę.
- społeczność – związku z tym, że wokół R jest duża społeczność użytkowników, jest stosunkowo łatwo znaleźć lokalną grupę, od której można się uczyć i wymieniać doświadczenia (np. PAZUR w Poznaniu). Jest też sporo konferencji skupionych wokół R (np. useR) oraz osób, które rozwiązują problemy (np. na StackOverFlow).
- RStudio – R posiada bardzo fajne środowisko deweloperskie, które sprawia, że praca z danymi staje się przyjemna. Czytelny podział na skrypt, konsole, obiekty i grafikę, plus dużo dodatkowych funkcji sprawią, że nie chce się już wracać do swoich dawnych programów.
No dobrze, ale powody wymienione do tej pory są na dość wysokim poziomie ogólności, dlatego poniżej przedstawię kilka tez odnoszących się do wykorzystywania R w praktyce.
- przetwarzanie danych – w R mamy do dyspozycji wiele różnych podejść do tego tematu. Osobiście używam pakietów z grupy tidyverse, takich jak dplyr, tidyr, stringr, forcats, lubridate (itd.). Dzięki tym narzędziom wykonywanie większości operacji na danych jest szybkie i intuicyjne. Imputacja braków danych? Do wykorzystania mamy pakiet simputation. Dodatkowo w SPSS zawsze irytowało mnie pracowanie na kilku zbiorach danych jednocześnie – w R w ogóle nie ma z tym problemu.
- wizualizowanie danych – pakiet ggplot2 oferuje doskonałą elastyczność przy tworzeniu wizualizacji (w oparciu o tzw. Grammar of graphics). Możliwości są naprawdę szerokie, a otrzymywanie wykresy są naprawdę eleganckie i nadają się zarówno do publikacji naukowych, jak i prezentacji biznesowych. Opisywany pakiet jest tak dobry, że niektórzy użytkownicy Pythona uczą się R tylko po to, aby robić w nim wykresy. Dodatkowo pakiet officer umożliwia eksport wykresów z R do Power Pointa i ich późniejszą edycję przez odbiorcę raportu.
- importowanie danych – nie ma najmniejszego problemu, aby zaimportować dane z plików tekstowych (np. .csv), Excela (pakiet xlsx), plików SPSS lub SAS (pakiet Haven), czy też baz SQL (pakiet RODBC).
- tworzenie dashboardów i raportowanie – pakiet Shiny pozwala analitykowi stworzyć złożone aplikacje webowe. Co więcej, jest to możliwe nawet bez najmniejszej znajomości technologii wykorzystywanych do tworzenia stron internetowych. Jest też pakiet rmarkdown umożliwiający zautomatyzowanie pracy przy tworzeniu raportów statycznych (np. do PDF lub html).
- typowe analizy w badaniach rynku – jeśli chcemy użyć regresji Shapleya, to mamy pakiet relaimpo. Redukcja wielowymiarowości (PCA, CA) i mapy percepcji? Proszę bardzo: pakiety FactoMineR i factoextra. Analiza czynnikowa, alfa Crombacha i inne techniki psychometryczne? Pakiet psych. Jeśli chcemy analizować dane przy wykorzystaniu modelu Hierarchical Bayes? Wtedy powinniśmy zainstalować pakiet bayesm.
- machine learning – jeśli masz ochotę użyć, któregoś z popularnych algorytmów takich, jak SVM, random forest, naive bayes, KNN (itd. Itp.) – bez obaw, wszystko to i dużo więcej jest zaimplementowane w R.
Tak więc, jeśli chcesz analizować dane w branży badań rynku i zastanawiasz się nad odpowiednim oprogramowaniem lub jeśli z jakiś powodów chcesz porzucić swoje dotychczasowe pakiety statystyczne: spróbuj swoich sił z R!
Zdjęcie główne artykułu pochodzi z stocksnap.io.