Dela via


Experimentering (förhandsversion)

Experimentering är en process för att systematiskt testa hypoteser eller ändringar för att förbättra användarupplevelsen eller programvarufunktionerna. Den här definitionen gäller även för de flesta vetenskapliga områden, inklusive teknik, där alla experiment har fyra vanliga steg:

  • Utveckla en hypotes för att dokumentera syftet med det här experimentet,
  • Beskriva en metod för att utföra experimentet, inklusive installation, vad som mäts och hur,
  • Observation av resultaten som mättes med måtten som definierades i föregående steg,
  • Dra en slutsats om huruvida hypotesen har verifierats eller ogiltigförklarats.

I den här videon får du en snabb demonstration av experimentering i appkonfigurationen och markera användningsfallet för användarupplevelseoptimering för att öka dina affärsmått.

Experimentering i Azure App Configuration (förhandsversion)

I Azure App Configuration gör experimentfunktionen att utvecklare enkelt kan testa olika varianter av en funktion och övervaka effekten på funktionsnivå. När de har konfigurerats kan användarna analysera nya funktioner, jämföra olika varianter av en funktion och snabbt utvärdera relevanta mått för nya produktändringar. Den här funktionen ger utvecklingsteam mätbara insikter, vilket underlättar snabbare och säkrare produktdistributioner. Microsoft samarbetar med Split Software för att leverera experimenteringsfunktionen i Azure App Configuration. Arbetsytan Split Experimentation (förhandsversion) är en Azure Native ISV-resurs för integreringen mellan Microsoft och Split Software.

Dataflöde på hög nivå för experimentering i Azure.

Diagram över dataflöde för experimentering i Azure.

För att starta ett experiment måste du först identifiera funktionen och dess variationer som du vill experimentera med. Härnäst är de mått som utgör grunden för funktionsutvärderingen. Kom igång med ditt första experiment i Azure genom att följa stegen som beskrivs i den här självstudien.

  • Variantfunktionsflaggor: Representerar olika versioner eller konfigurationer av en funktion. I ett experiment jämförs de variantfunktionsflaggor som är relevanta för de mått som du är intresserad av och den trafik som allokeras för programpubliken.

  • Telemetri: Telemetri är data för varianter av en funktion och relaterade mått för att utvärdera funktionen. För konfigurationen i Azure flödar funktionsflaggans utvärderings-/tilldelningsdata till telemetriprovidern. Application Insights är telemetriprovidern för experimenteringskonfigurationen. Data för de definierade måtten flödar också till samma Application Insights-instans.

  • A/B-testning: A/B-testning, även kallat delningstestning, är en branschstandardmetod för att utvärdera effekten av potentiella ändringar i en teknikstack.

  • Samplingsstorlek: Samplingsstorleken är storleken på urvalet av användare under experiment. Det är antalet händelser som skickas för någon variant av funktionen som du experimenterar med.

  • Minsta samplingsstorlek: är det minsta antal händelser som krävs per variant av funktionen för experimentet för att visa statistiskt signifikanta resultat. Ju större urvalsstorlek, desto bättre statistisk signifikans för experimentets resultat.

Tänk på följande exempel: du vill se om kunder på din e-handelswebbplats är mer benägna att klicka på utcheckningsknappen om den är gul i färg (variant A) eller blå i färg (variant B). För att konfigurera den här jämförelsen kan du dela trafik mellan de två varianterna av funktionsflaggan och använda antalet klick som mått för att mäta deras prestanda. Det är osannolikt att alla dina funktioner är så enkla att mäta och omedelbart utvärdera, och det är där experimentet kommer in. När du kör ett experiment måste du konfigurera en tidslinje för den här processen för att jämföra prestanda för varje variant som är relevant för de mått som du är intresserad av. Termerna "A/B-testning" och "experimentering" används ofta omväxlande, där experimentering i huvudsak är ett utökat A/B-test där du systematiskt testar hypoteser.

Konfigurera experimentet

Innan du börjar bör du överväga följande frågor i din hypotesidentifieringsfas: Vilka frågor försöker du besvara genom att köra ett experiment? Vad ska du köra ett experiment på? Varför? Var börjar du ens? Vilka är några strategier att följa efter dina affärsbehov? Kommer det här experimentet att hjälpa dig att göra omedelbara förbättringar av programmets eller ditt företags prestanda?

Identifiera vad du hoppas uppnå genom att köra ett experiment före en fullständig version, du bör dokumentera din plan i det här skedet. Vilka är varianterna av den funktion eller funktion som du vill experimentera med? Vilka mått är du intresserad av? Vilka händelser av användar- eller systeminteraktion kan användas för att samla in data för att driva dessa mått för mått?

Experimentet är bara lika bra som de data du samlar in för det. Innan du påbörjar experimentet måste du avgöra vilken variant du tänker använda som kontroll (baslinjevariant) och vilken som du tänker se ändringar i (jämförelsevariant).

Dra en slutsats från experimentet

Att dra en slutsats (eller flera slutsatser om det behövs) är det sista steget i experimenteringscykeln. Du kan kontrollera experimentresultatet, som visar resultatet och effekten av jämförelsevarianten mot kontrollvarianten. Resultaten visar också deras statistiska betydelse. Statsig-måttet beror på telemetridata och exempelstorlek.

Resultaten hjälper dig att slutföra de lärdomar och resultat i användbara objekt som du omedelbart kan implementera i produktion. Experimentering är dock en kontinuerlig process. Påbörja nya experiment för att kontinuerligt förbättra din produkt.

Scenarier för att använda experimentering

Frisläpp försvar

Mål: Säkerställa smidiga övergångar och underhålla eller förbättra viktiga mått för varje version.

Metod: Använda experimentering för att gradvis distribuera nya funktioner, övervaka prestandamått och samla in feedback för iterativa förbättringar.

Fördelar:

  • Minimerar risken för omfattande problem med hjälp av skyddsräckesmått för att identifiera och åtgärda problem tidigt i distributionen.
  • Hjälper till att underhålla eller förbättra viktiga prestanda- och användarnöjdhetsmått genom att fatta välgrundade beslut baserat på realtidsdata.

Testa hypoteser

Mål: Validera antaganden och hypoteser för att fatta välgrundade beslut om produktfunktioner, användarbeteenden eller affärsstrategier.

Metod: Använd experimentering för att testa specifika hypoteser genom att skapa olika funktionsversioner eller scenarier och sedan analysera användarinteraktioner och prestandamått för att fastställa resultat.

Fördelar:

  • Ger evidensbaserade insikter som minskar osäkerheten och vägleder strategiskt beslutsfattande.
  • Möjliggör snabbare iteration och innovation genom att bekräfta eller motbevisa hypoteser med verkliga användardata.
  • Förbättrar produktutveckling genom att fokusera på idéer som har visat sig fungera, vilket i slutändan leder till mer framgångsrika och användaranpassade funktioner.

A/B-testning

Mål: Optimera affärsmått genom att jämföra olika gränssnittsvariationer och fastställa den mest effektiva designen.

Metod: Utför A/B-tester med experimentering för att testa användargränssnittselement, mäta användarinteraktioner och analysera prestandamått.

Fördelar:

  • Förbättrar användarupplevelsen genom att implementera ändringar i användargränssnittet baserat på empiriska bevis.
  • Ökar konverteringsfrekvensen, engagemangsnivåer och den övergripande effektiviteten hos digitala produkter eller tjänster.

För intelligenta program (till exempel AI-baserade funktioner)

Mål: Påskynda generativ AI-implementering (Gen AI) och optimera AI-modeller och användningsfall genom snabba experiment.

Metod: Använd experimentering för att iterera snabbt på AI-modeller, testa olika scenarier och fastställa effektiva metoder.

Fördelar:

  • Förbättrar flexibiliteten när det gäller att anpassa AI-lösningar till föränderliga användarbehov och marknadstrender.
  • Underlättar förståelsen av de mest effektiva metoderna för skalning av AI-initiativ.
  • Förbättrar noggrannheten och prestandan för AI-modeller baserat på verkliga data och feedback.

Anpassnings- och målexperiment

Mål: Leverera personligt innehåll och upplevelser som är skräddarsydda för användarinställningar och beteenden.

Metod: Använd experimentering för att testa personligt innehåll, mäta engagemang och iterera på anpassningsstrategier.

Fördelar:

  • Ökar användarengagemang, konverteringsfrekvenser och kundlojalitet genom relevanta och anpassade upplevelser.
  • Driver intäktstillväxt och kundkvarhållning genom att rikta in sig på målgrupper med skräddarsydda meddelanden och erbjudanden.

Prestandaoptimeringsexperiment

Mål: Förbättra programmets prestanda och användarupplevelse genom prestandaoptimeringsexperiment.

Metod: Utföra experiment för att testa prestandaförbättringar, mäta viktiga mått och implementera lyckade optimeringar.

Fördelar:

  • Förbättrar programmets skalbarhet, tillförlitlighet och svarstider genom proaktiva prestandaförbättringar.
  • Optimerar resursutnyttjande och infrastrukturkostnader genom att implementera effektiva optimeringar.

Experimentåtgärder

  • Skapa experiment: Experiment kan skapas på en variantfunktionsflagga som genererar telemetri. När ett experiment har skapats skapas även en experimentversion med experimentet. Eventuella ytterligare ändringar av funktionsflaggan resulterar i att en ny experimentversion skapas för experimentet.

  • Arkivexperiment: Om du arkiverar ett experiment hamnar det i ett arkiverat tillstånd. Medan ett experiment arkiveras utförs inga beräkningar på experimentet. Du kan alltid återställa experimentet senare för att återuppta beräkningarna och återgå till aktivt tillstånd.

  • Återställningsexperiment: Återställning av ett experiment försätter ett arkiverat experiment i ett aktivt tillstånd och beräkningarna återupptas för experimentet.

  • Ta bort experiment: Om du tar bort ett experiment tas experimentet bort i Split och alla dess relaterade data. Det är en oåterkallelig åtgärd så det finns ingen återställning efter borttagningen.

  • Kontrollera experimentresultat: Om du kontrollerar resultatet av ett aktivt experiment kan du se hur varje variant i experimentet presterar.

Åtkomstkrav för experimentåtgärder

I följande avsnitt beskrivs de roller som krävs för att utföra experimentrelaterade åtgärder med Microsoft Entra-ID.

Konfigurera experimentering

Om du vill konfigurera experimentering med de resurser som krävs, inklusive arbetsytan Dela experimentering, krävs antingen rollen Ägare för Azure-prenumeration eller en kombination av rollen deltagare och administratör för användaråtkomst.

Skapa eller uppdatera experiment

Om du vill skapa, uppdatera, arkivera eller ta bort ett experiment behöver du rollen App Configuration Data Owner i App Configuration Store. Det kräver också rollen ExperimentationDataOwner i Enterprise-appen som hanterar dataåtkomsten till den anslutna arbetsytan Dela experimentering.

Läs experimentresultat

Om du vill kontrollera experiment, deras versioner och resultat behöver du rollen App Configuration Data Reader i App Configuration Store. Det kräver också rollen som en ExperimentationDataReader eller en ExperimentationDataOwner i Enterprise-appen som hanterar dataåtkomsten till den anslutna arbetsytan Dela experimentering.

Överväganden och gränser för fakturering

Appkonfiguration faktureras inte specifikt för experiment. Experimentering tillhandahålls via en integrering med Split Experimentation Workspace (förhandsversion). Kontrollera prisplanen för delningsexperiment för Azure App Configuration.

Minsta urvalsstorlek som krävs för split-experimentering är 30 per variant. Ett experiment krävs för att ha den minsta urvalsstorleken för att få experimentresultatet eller resultaten att visa "Inga data" i resultatet.

Nästa steg