Eksperymentowanie (wersja zapoznawcza)

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.

Zapoznaj się z tym filmem wideo , aby zapoznać się z szybkim pokazem eksperymentowania w usłudze App Configuration, podkreślając przypadek użycia optymalizacji środowiska użytkownika w celu zwiększenia metryk biznesowych.

Eksperymentowanie w konfiguracji aplikacja systemu Azure (wersja zapoznawcza)

W aplikacja systemu Azure Konfiguracji funkcja eksperymentowania umożliwia deweloperom łatwe testowanie różnych wariantów funkcji i monitorowanie wpływu na poziomie funkcji. Po skonfigurowaniu użytkownicy mogą analizować nowe funkcje, porównywać różne warianty funkcji i szybko oceniać odpowiednie metryki pod kątem nowych zmian produktu. Ta funkcja umożliwia zespołom deweloperów uzyskiwanie mierzalnych szczegółowych informacji, ułatwianie szybszych i bezpieczniejszych wdrożeń produktów. Partnerzy firmy Microsoft z Split Software w celu dostarczania funkcji eksperymentowania w usłudze aplikacja systemu Azure Configuration. Split Experimentation Workspace (wersja zapoznawcza) to natywny zasób niezależnego dostawcy oprogramowania platformy Azure na potrzeby integracji między firmą Microsoft i split Software.

Ogólny przepływ danych na potrzeby eksperymentowania na platformie Azure.

Diagram przepływu danych na potrzeby eksperymentowania na platformie Azure.

Aby rozpocząć eksperymentowanie, najpierw należy zidentyfikować funkcję i jej odmiany, na których chcesz eksperymentować. Poniżej przedstawiono metryki, które stanowią podstawę oceny funkcji. Aby rozpocząć pierwszy eksperyment na platformie Azure, wykonaj kroki opisane w tym samouczku.

  • 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. W przypadku konfiguracji na platformie Azure dane oceny/przypisania flag funkcji są przepływa do dostawcy telemetrii. Usługa Application Insights jest dostawcą telemetrii dla konfiguracji eksperymentowania. Dane dla zdefiniowanych metryk również przepływają do tego samego wystąpienia usługi Application Insights.

  • Testowanie A/B: Testowanie A/B, znane również jako testowanie podzielone, jest standardową metodą oceny wpływu potencjalnych zmian w stosie technologii.

  • Rozmiar próbkowania: rozmiar próbkowania to rozmiar próbki użytkowników w ramach eksperymentu. Jest to liczba zdarzeń wysyłanych dla każdej odmiany funkcji, nad którą eksperymentujesz.

  • 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 interfejsu użytkownika i określając najbardziej efektywny projekt.

Podejście: Przeprowadzanie testów A/B przy użyciu eksperymentowania w celu testowania elementów interfejsu użytkownika, mierzenia interakcji użytkowników i analizowania metryk wydajności.

Korzyści:

  • Poprawia środowisko użytkownika, implementując zmiany interfejsu użytkownika na podstawie dowodów empirycznych.
  • 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.

Operacje eksperymentów

  • Tworzenie eksperymentu: eksperyment można utworzyć na flagi funkcji wariantu emitujące dane telemetryczne. Po utworzeniu eksperymentu zostanie również utworzona wersja eksperymentu z eksperymentem. Wszelkie dalsze edycje flagi funkcji powodują utworzenie nowej wersji eksperymentu dla tego eksperymentu.

  • Eksperyment archiwum: archiwizowanie eksperymentu umieszcza go w stanie zarchiwizowanym. Podczas gdy eksperyment jest zarchiwizowany, nie są wykonywane żadne obliczenia w eksperymencie. Zawsze możesz przywrócić eksperyment później, aby wznowić obliczenia i wrócić do stanu aktywnego.

  • Odzyskiwanie eksperymentu: Odzyskiwanie eksperymentu powoduje zarchiwizowanie eksperymentu w stanie aktywnym, a obliczenia są wznawiane dla eksperymentu.

  • Usuń eksperyment: usunięcie eksperymentu powoduje usunięcie eksperymentu w obszarze Podział i wszystkie powiązane z nimi dane. Jest to operacja nieodwracalna, więc nie ma przywracania po usunięciu.

  • Sprawdź wyniki eksperymentu: Sprawdzanie wyników aktywnego eksperymentu pozwala zobaczyć, jak działa każdy wariant eksperymentu.

Wymagania dotyczące dostępu do operacji eksperymentu

W poniższych sekcjach szczegółowo opisano role wymagane do wykonywania operacji związanych z eksperymentami za pomocą identyfikatora Entra firmy Microsoft.

Konfigurowanie eksperymentów

Aby skonfigurować eksperymentowanie z wymaganymi zasobami, w tym z podziałem obszaru roboczego eksperymentowania, wymagana jest rola Właściciel subskrypcji platformy Azure lub kombinacja ról Współautor subskrypcji i Administrator dostępu użytkowników.

Tworzenie lub aktualizowanie eksperymentu

Aby utworzyć, zaktualizować, zarchiwizować lub usunąć eksperyment, musisz mieć rolę Właściciela danych konfiguracji aplikacji w magazynie App Configuration. Wymaga to również roli ExperimentationDataOwner w aplikacji Enterprise zarządzającej dostępem danych do połączonego obszaru roboczego podzielonego eksperymentowania.

Odczytywanie wyników eksperymentu

Aby sprawdzić eksperymenty, ich wersje i wyniki, musisz mieć rolę Czytelnik danych konfiguracji aplikacji w magazynie App Configuration. Wymaga również roli ExperimentationDataReader lub ExperimentationDataOwner w aplikacji Enterprise zarządzającej dostępem danych do połączonego obszaru roboczego Podzielone eksperymentowanie.

Zagadnienia i limity dotyczące rozliczeń

Usługa App Configuration nie rozlicza się specjalnie dla eksperymentów. Eksperymentowanie jest udostępniane za pośrednictwem integracji z podzielonym obszarem roboczym eksperymentowania (wersja zapoznawcza). Zapoznaj się z planem cenowym Split Experimentation for aplikacja systemu Azure Configuration (Podział eksperymentów dla konfiguracji aplikacja systemu Azure).

Minimalny rozmiar próbki wymagany do dzielenia eksperymentów wynosi 30 na wariant. Eksperyment musi mieć minimalny rozmiar próbki, aby uzyskać wyniki eksperymentu lub wyniki pokazują wartość "Brak danych" w wyniku.

Następne kroki