Udostępnij za pośrednictwem


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

  • Inteligentne aplikacje (np. funkcje oparte na sztucznej inteligencji) przyspieszają wdrażanie ogólnych rozwiązań sztucznej inteligencji (Gen AI) i optymalizowanie modeli sztucznej inteligencji oraz przypadków użycia za pomocą szybkiego eksperymentowania. Użyj eksperymentowania, aby szybko iterować modele sztucznej inteligencji, testować różne scenariusze i określać skuteczne podejścia. Pomaga to zwiększyć elastyczność w dostosowywaniu rozwiązań sztucznej inteligencji do zmieniających się potrzeb użytkowników i trendów rynkowych oraz ułatwia zrozumienie najbardziej skutecznych metod skalowania inicjatyw sztucznej inteligencji.

  • Ciągła integracja, ciągłe wdrażanie i ciągłe wdrażanie funkcji (stopniowe wdrażanie funkcji i aktualizacje wersji) Zapewnij bezproblemowe przejścia i konserwuj lub ulepszaj kluczowe metryki przy każdej aktualizacji wersji podczas zarządzania wydaniami funkcji. Korzystaj z eksperymentów, aby stopniowo wdrażać nowe funkcje w podzestawach użytkowników przy użyciu flag funkcji, monitorować metryki wydajności i zbierać opinie na temat ulepszeń iteracyjnych. Korzystne jest zmniejszenie ryzyka wprowadzenia usterek lub problemów z wydajnością do całej bazy użytkowników. Umożliwia podejmowanie decyzji opartych na danych podczas wdrażania wersji i zarządzania flagami funkcji, co prowadzi do poprawy jakości produktu i zadowolenia użytkowników.

  • Optymalizacja środowiska użytkownika (testowanie interfejsu użytkownika A/B) Optymalizuj metryki biznesowe, porównując różne odmiany interfejsu użytkownika i określając najbardziej efektywny projekt. Przeprowadź testy A/B przy użyciu eksperymentowania, aby przetestować elementy interfejsu użytkownika, mierzyć interakcje użytkowników i analizować metryki wydajności. Najlepszy powrót w tym miejscu ulepszone środowisko użytkownika przez zaimplementowanie zmian interfejsu użytkownika w oparciu o dowody empiryczne.

  • Personalizacja i ukierunkowanie eksperymentów dostarcza spersonalizowaną zawartość i środowiska dostosowane do preferencji i zachowań użytkownika. Eksperymentowanie służy do testowania spersonalizowanej zawartości, mierzenia zaangażowania i iterowania strategii personalizacji. Wyniki są zwiększone zaangażowanie użytkowników, współczynniki konwersji i lojalność klientów dzięki odpowiednim i spersonalizowanym środowisku. Wyniki te z kolei prowadzą do wzrostu przychodów i utrzymania klientów, kierując odbiorców do dostosowanych wiadomości i ofert.

  • Eksperymenty optymalizacji wydajności Zwiększają wydajność aplikacji i zapewniają wydajne środowisko użytkownika dzięki eksperymentom optymalizacji wydajności. Przeprowadź eksperymenty w celu przetestowania ulepszeń wydajności, mierzenia kluczowych metryk i implementowania pomyślnych optymalizacji. W tym miejscu eksperymentowanie zwiększa skalowalność, niezawodność i czas reakcji aplikacji dzięki proaktywnym ulepszeniom wydajności. Optymalizuje ona 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