2013-04-24 13 views
11

Istnieją dwie główne szkoły myślenia o robić A/B (Split) Testowanie:Django A/B Split badania opakowań (Brak Znalazłem są dobrze udokumentowane i up-to-date.)

  • Rozwiązania oparte na języku JavaScript, takie jak Optimizely, Eksperymentowanie z treścią Google Analytics.
  • Rozwiązania po stronie serwera, takie jak Django-AB, Splango i django-lean. (Również, pisząc własne.)

Rozumiem, że rozwiązania oparte na Javascript są spektakularne w przypadku "które przyciski wyboru kolorów lepiej się konwertują", ale nie są zbyt dobre do wyłączania całych układów stron i całkowicie nie nadają się do wypróbowania duże zmiany funkcjonalne, takie jak kolejność stron na ścieżce.

To prowadzi mnie do rozwiązania po stronie serwera. Nie szaleję za kodowaniem własnego i zrobię to tylko wtedy, gdy nie będzie innej opcji. Próbuję dodać wartość, poprawiając podstawową funkcjonalność mojej witryny, a nie tworząc lepszą strukturę do dzielenia testów.

Aplikacje Django, które znalazłem dla testów podzielonych, to różne mieszanki nieopancerzonych, nieudokumentowanych, udokumentowanych niepoprawnie i niezgodnych z Django 1.5. To mnie zaskakuje, ponieważ społeczności Django i Pythona wydają się mocno skupiać na dobrej dokumentacji. Jestem również bardzo zaskoczony, że żadna z testowanych frameworków nie była kompatybilna z Django 1.5 - czy testowanie nie jest częścią filozofii w świecie Django/Python, tak jak w Railsach?

Oto co znalazłem:

  • Splango https://github.com/shimon/Splango - Nie kompatybilne z Django 1.5 (choć większość błędów kompatybilności znalazłem były trywialne naprawić). W dużej mierze niezmieniona od października 2010 r., Z wyjątkiem poprawki z sierpnia 2012 r., Która twierdzi, że szablony są uwzględniane w instalacji. Ponieważ szablony nie są dołączane do instalacji, gdy Splango jest instalowany przez PyPI, poprawka nie działa lub nie została przesłana do PyPI. Dokumentacja jest w dużej mierze dokładna, ale nie obejmuje w pełni sposobu konfigurowania testów i otrzymywania raportów. Mówi ci, jak skonfigurować szablon do gromadzenia danych, ale wydaje się, że potrzebne są dodatkowe kroki w interfejsie administratora, które są całkowicie nieudokumentowane i nie jestem pewien, czy zrobiłem je poprawnie.

  • Django-lean. Oryginał pod numerem https://bitbucket.org/akoha/django-lean nie był aktualizowany od lipca 2010 r. Widoczny jest "błogosławiony" widelec pod numerem https://github.com/anandhenry2002/django-lean, który nie został zmieniony od maja 2012 r., Kiedy został skopiowany z oryginału. Dokumentacja oryginału jest niepoprawna w sposób uniemożliwiający wykonanie poniższych przykładów. (Chociaż prawdopodobnie możesz się w to wmieszać, tak jak ja.) Dokumentacja nowej wersji ma problemy z formatowaniem, które utrudniają czytanie na githubie. (Wygląda na to, że jest to niezmieniona dokumentacja ze starego projektu, a składnia BitBucket nie działa na Githubie.) Grupa dyskusyjna Google django nie otrzymała wiadomości od lipca 2012.

  • django-mini- szczupła https://github.com/DanAncona/django-mini-lean - Zaktualizowana jeszcze w lutym 2013 r., ale nieudokumentowana.

  • Leaner - https://bitbucket.org/brianjinwright/leaner - Ostatnia aktualizacja lipca 2012 r. I brak dokumentów.

  • Django-AB - Ostatnia aktualizacja maj 2009 r. Nie jest pakietem i nie można go zainstalować przez PIP lub PyPI. Po umieszczeniu kasy w moim folderze aplikacji Django (i zmianie nazwy folderu na ab) oraz postępowaniu zgodnie z instrukcjami instalacji, pojawia się błąd podczas ładowania programu ładującego szablon, którego nie śledziłem dalej.

Dotychczas Splango wydaje się być zwycięzcą, a ja rzeczywiście udało się dostać pracy bardziej lub mniej (przez ręczne instalowanie szablonów, a następnie edytować je naprawić Django 1.5 niezgodności).

Czy ktoś może wskazać mi wszystko, co przegapiłem?

+0

Czy mogę się dowiedzieć, z której struktury ostatecznie skorzystałeś? Czy użyłeś tego w odpowiedziach? Szukam prostego modułu, w którym mogę losowo przypisać użytkowników do kontroli eksperymentalnej, a następnie ukryć funkcje oparte na tym ... jakiekolwiek wskazówki? –

Odpowiedz

4

A jeszcze wafel: http://waffle.readthedocs.org/

To proste, odnowione, utrzymane, ale nie bardzo funkcjonalny, nie ma żadnego analytics/rzeczy raportowania zintegrowany. Ale znowu, google analytics lub rodzaj usługi mixpanel jest lepszy.

2

Po raz pierwszy spojrzałam na Django-AB i to było prawie to, co chciałem, ale nie mogłem go również uruchomić. Po zapoznaniu się z eksperymentami django i podjęciu decyzji, że nie chcę jeszcze mieszać z redis, postanowiłem rzucić własną. Próbowałem go ładnie spakować i ułatwić korzystanie z niego początkującym użytkownikom. To jest super podstawowe.

https://github.com/crobertsbmw/RobertsAB

1

Można zamienić się całkowicie różne układy stron z eksperymentami Google Analytics (ich ustawienie domyślne eksperyment będzie przekierowywać użytkowników na inny adres URL dla każdej zmiany trzeba), choć w ogóle jej o wiele łatwiej zinterpretować dlaczego coś jest bardziej skuteczny, jeśli testujesz mniejsze rzeczy przeciwko sobie.

Masz rację, że testowanie różnych ścieżek i przepływów użytkowników względem siebie za pomocą Google Analytics wymagałoby część konfiguracji ręcznej; chociaż teoretycznie możesz to zrobić, zamieniając różne linki i śledząc użytkowników za pomocą kampanii UTM.

W przypadku mniejszych testów A/B na tej samej stronie, wykorzystałem eksperymenty Google Analytics i napisałem niestandardową wtyczkę Django CMS do dodania kilku opcji wariantowych do szablonu, który wysyła zapytania do interfejsu API Google Analytics i wyświetla odpowiedni wariant używając Javascript.

+0

byłoby interesujące zobaczyć twój kod dla tej ostatniej części, jeśli nie masz nic przeciwko –