Eksperymentowanie (wersja zapoznawcza)
Uwaga
Doceniamy opinie, które otrzymaliśmy w fazie zapoznawczej eksperymentowania na aplikacja systemu Azure Konfiguracji, a nasze zespoły używają ich do aktualizowania funkcji. W tym czasie obszar roboczy eksperymentowania będzie tymczasowo niedostępny.
Eksperymentowanie to proces systematycznego testowania hipotez lub zmian w celu poprawy środowiska użytkownika lub funkcjonalności oprogramowania. Ta definicja dotyczy również większości dziedzin naukowych, w tym technologii, gdzie wszystkie eksperymenty mają cztery typowe kroki:
- Opracowanie hipotezy w celu udokumentowania celu tego eksperymentu,
- Przedstawiając metodę przeprowadzania eksperymentu, w tym konfigurację, pomiar i sposób,
- Obserwacja wyników mierzonych przez metryki zdefiniowane w poprzednim kroku,
- Wyciągając wniosek dotyczący tego, czy hipoteza została zweryfikowana, czy unieważniona.
Pojęcia związane z eksperymentami
Flagi funkcji wariantu: reprezentują różne wersje lub konfiguracje funkcji. W eksperymencie flagi funkcji wariantu są porównywane z metrykami, które cię interesują, oraz ruchem przydzielonym dla odbiorców aplikacji.
Telemetria: Dane telemetryczne to dane dotyczące odmian funkcji i powiązanych metryk do oceny funkcji.
Testowanie A/B: Testowanie A/B, znane również jako eksperymentowanie, jest standardową metodą oceny wpływu potencjalnych zmian w stosie technologii.
Minimalny rozmiar próbkowania: to minimalna liczba zdarzeń wymaganych na odmianę funkcji eksperymentu w celu wyświetlenia statystycznie znaczących wyników. Większy rozmiar próbki, lepiej statystycznie istotność wyników eksperymentu.
Rozważmy następujący przykład: chcesz sprawdzić, czy klienci witryny internetowej handlu elektronicznego będą bardziej skłonni kliknąć przycisk wyewidencjonowania, jeśli jest żółty w kolorze (wariant A) lub niebieskim (wariant B). Aby skonfigurować to porównanie, prawdopodobnie podzielisz ruch między dwoma wariantami flagi funkcji i użyjesz liczby kliknięć jako metryki, aby zmierzyć ich wydajność. Jest mało prawdopodobne, że wszystkie funkcje są tak proste, aby zmierzyć i natychmiast ocenić, i to jest miejsce, w którym następuje eksperymentowanie. Uruchomienie eksperymentu obejmuje skonfigurowanie osi czasu dla tego procesu porównywania wydajności każdego wariantu istotnego dla interesujących Cię metryk. Terminy "Testowanie A/B" i "eksperymentowanie" są często używane zamiennie, gdzie eksperymentowanie jest zasadniczo rozszerzonym testem A/B, w którym systematycznie testujesz hipotezy.
Konfigurowanie eksperymentu
Przed rozpoczęciem rozważ następujące pytania na etapie odnajdywania hipotez: Jakie pytania próbujesz odpowiedzieć, uruchamiając eksperyment? Co należy uruchomić eksperyment? Dlaczego? Gdzie nawet zaczynasz? Jakie są niektóre strategie, które należy przestrzegać zgodnie z potrzebami biznesowymi? Czy ten eksperyment pomoże Ci wprowadzić natychmiastowe ulepszenia wydajności aplikacji lub firmy?
Zidentyfikuj, co chcesz osiągnąć, uruchamiając eksperyment przed pełnym wydaniem, należy udokumentować plan na tym etapie. Jakie są odmiany funkcji lub funkcji, na których chcesz eksperymentować? Jakie są interesujące Cię metryki? Jakie zdarzenia interakcji użytkownika lub systemu mogą służyć do przechwytywania danych w celu podsycania tych metryk w celu mierzenia?
Twój eksperyment jest tak dobry, jak zbierane dane. Przed rozpoczęciem eksperymentu musisz określić, który wariant ma być używany jako kontrolka (wariant punktu odniesienia) i który z nich zamierzasz zobaczyć zmiany w (wariant porównawczy).
Rysunek wniosku z eksperymentu
Rysunek wniosku (lub wiele wniosków, jeśli jest to konieczne) jest ostatnim etapem cyklu eksperymentowania. Możesz sprawdzić wyniki eksperymentu, które pokazują wynik i wpływ wariantu porównania na wariant kontrolny. Wyniki pokazują również ich znaczenie statystyczne. Miara Statsig zależy od danych telemetrycznych i rozmiaru próbki.
Wyniki ułatwiają zakończenie nauki i wyników w elementach, które można natychmiast zaimplementować w środowisku produkcyjnym. Jednak eksperymentowanie jest procesem ciągłym. Rozpocznij nowe eksperymenty, aby stale ulepszać produkt.
Scenariusze korzystania z eksperymentów
Ochrona wersji
Cel: Zapewnij bezproblemowe przejścia i zachowaj lub ulepsz kluczowe metryki w każdej wersji.
Podejście: Zastosuj eksperymentowanie, aby stopniowo wdrażać nowe funkcje, monitorować metryki wydajności i zbierać opinie na temat ulepszeń iteracyjnych.
Korzyści:
- Minimalizuje ryzyko występowania powszechnych problemów przy użyciu metryk bariery ochronnej w celu wykrywania i rozwiązywania problemów na wczesnym etapie wdrażania.
- Pomaga zachować lub poprawić kluczowe metryki wydajności i zadowolenia użytkowników, podejmując świadome decyzje na podstawie danych w czasie rzeczywistym.
Hipotezy testowe
Cel: Zweryfikuj założenia i hipotezy, aby podejmować świadome decyzje dotyczące funkcji produktów, zachowań użytkowników lub strategii biznesowych.
Podejście: Użyj eksperymentowania, aby przetestować konkretne hipotezy, tworząc różne wersje funkcji lub scenariusze, a następnie analizuj interakcje użytkowników i metryki wydajności, aby określić wyniki.
Korzyści:
- Dostarcza oparte na dowodach szczegółowe informacje, które zmniejszają niepewność i kierują strategicznym podejmowaniem decyzji.
- Umożliwia szybszą iterację i innowacje, potwierdzając lub obalając hipotezy z rzeczywistymi danymi użytkownika.
- Zwiększa rozwój produktu, koncentrując się na wysiłkach związanych z pomysłami, które okazały się działać, co ostatecznie prowadzi do bardziej udanych i dostosowanych do użytkownika funkcji.
Testowanie A/B:
Cel: Zoptymalizuj metryki biznesowe, porównując różne odmiany środowiska użytkownika i określając najbardziej efektywny projekt.
Podejście: Przeprowadzanie testów A/B przy użyciu eksperymentów z różnymi środowiskami użytkownika, mierzenie interakcji użytkowników i analizowanie metryk wydajności.
Korzyści:
- Poprawia środowisko użytkownika, implementując zmiany środowiska użytkownika w oparciu o dowody empiryczne.
- Zwiększa współczynniki konwersji, poziomy zaangażowania i ogólną skuteczność produktów cyfrowych lub usług.
W przypadku inteligentnych aplikacji (na przykład funkcji opartych na sztucznej inteligencji)
Cel: Przyspieszanie wdrażania sztucznej inteligencji (Gen AI) i optymalizowanie modeli sztucznej inteligencji oraz przypadków użycia dzięki szybkiemu eksperymentowaniu.
Podejście: użyj eksperymentów, aby szybko iterować modele sztucznej inteligencji, testować różne scenariusze i określać skuteczne podejścia.
Korzyści:
- Zwiększa elastyczność w dostosowywaniu rozwiązań sztucznej inteligencji do zmieniających się potrzeb użytkowników i trendów rynkowych.
- Ułatwia zrozumienie najbardziej skutecznych metod skalowania inicjatyw sztucznej inteligencji.
- Zwiększa dokładność i wydajność modeli sztucznej inteligencji na podstawie rzeczywistych danych i opinii.
Personalizacja i kierowanie eksperymentów
Cel: dostarczanie spersonalizowanej zawartości i środowisk dostosowanych do preferencji i zachowań użytkownika.
Podejście: Wykorzystanie eksperymentów w celu przetestowania spersonalizowanej zawartości, mierzenia zaangażowania i iterowania strategii personalizacji.
Korzyści:
- Zwiększa zaangażowanie użytkowników, współczynniki konwersji i lojalność klientów dzięki odpowiednim i spersonalizowanym środowisku.
- Zwiększa wzrost przychodów i utrzymanie klientów, kierując odbiorców do dostosowanych wiadomości i ofert.
Eksperymenty optymalizacji wydajności
Cel: Zwiększanie wydajności aplikacji i środowiska użytkownika za pomocą eksperymentów optymalizacji wydajności.
Podejście: Przeprowadź eksperymenty w celu przetestowania ulepszeń wydajności, mierzenia kluczowych metryk i implementowania pomyślnych optymalizacji.
Korzyści:
- Zwiększa skalowalność, niezawodność i czas odpowiedzi aplikacji dzięki proaktywnym ulepszeniom wydajności.
- Optymalizuje wykorzystanie zasobów i koszty infrastruktury, implementując wydajne optymalizacje.