실험(미리 보기)
참고 항목
Azure 앱 구성에 대한 실험의 미리 보기 단계에서 받은 피드백에 감사드리며, 팀에서 이 기능을 업데이트하는 데 사용하고 있습니다. 이 시간 동안 실험 작업 영역을 일시적으로 사용할 수 없게 됩니다.
실험은 사용자 환경 또는 소프트웨어 기능을 개선하기 위해 가설 또는 변경 내용을 체계적으로 테스트하는 프로세스입니다. 이 정의는 모든 실험에 네 가지 공통 단계가 있는 기술을 포함한 대부분의 과학 분야에도 적용됩니다.
- 이 실험의 목적을 문서화하는 가설 개발,
- 설정, 측정되는 내용 및 방법을 포함하여 실험을 수행하는 방법 개요 설명,
- 이전 단계에서 정의한 메트릭으로 측정된 결과의 관찰,
- 가설의 유효성을 검사했는지 아니면 가설이 무효화되었는지에 대한 결론 도출.
실험과 관련된 개념
변형 기능 플래그: 기능의 다른 버전 또는 구성을 나타냅니다. 실험에서 변형 기능 플래그는 관심 있는 메트릭 및 애플리케이션 대상 그룹에 할당된 트래픽과 관련이 있습니다.
원격 분석: 원격 분석은 기능을 평가하기 위한 기능 및 관련 메트릭의 변형에 대한 데이터입니다.
A/B 테스트: 실험이라고도 하는 A/B 테스트는 기술 스택 내에서 잠재적인 변경이 미치는 영향을 평가하기 위한 업계 표준 방법입니다.
최소 샘플링 크기: 통계적으로 유의한 결과를 표시하기 위해 실험 기능의 변형당 필요한 최소 이벤트 수입니다. 샘플 크기가 클수록 실험 결과의 통계적 유의성이 향상됩니다.
전자 상거래 웹 사이트의 고객이 결제 버튼의 색상이 노란색(변형 A)일 때와 파란색(변형 B)일 때 중 어느 쪽이 더 클릭할 가능성이 높은지 확인하려는 경우를 예로 들어 보겠습니다. 이 비교를 설정하려면 두 가지 변형 기능 플래그의 트래픽을 나누고 클릭 수를 메트릭으로 사용하여 성과를 측정할 수 있습니다. 모든 기능을 간단하게 측정하고 즉시 평가할 수 있는 것은 아니므로 실험이 필요합니다. 실험을 실행하려면 관심 있는 메트릭과 관련된 각 변형의 성과를 비교하는 이 프로세스를 위한 타임라인을 설정해야 합니다. “A/B 테스트”와 “실험”이라는 용어는 종종 같은 의미로 사용되는데, 실험은 본질적으로 가설을 체계적으로 테스트하는 확장된 A/B 테스트입니다.
실험 설정
시작하기 전에 가설 발견 단계에서 ‘실험을 실행하여 어떤 질문에 답하고자 하는가?’라는 질문을 고려해 봅니다. 무엇을 대상으로 실험을 실행해야 하나요? 이유는 무엇입니까? 어디서부터 시작해야 할까요? 비즈니스 요구에 따라 따라야 할 몇 가지 전략은 무엇인가요? 이 실험을 통해 애플리케이션의 성능 또는 비즈니스 성과를 즉시 개선할 수 있나요?
전체 릴리스 전에 실험을 실행하여 달성하려는 작업을 식별합니다. 이 단계에서 계획을 문서화해야 합니다. 실험하려는 기능 또는 기능의 변형은 무엇인가요? 관심 있는 몇 가지 메트릭은 무엇인가요? 이러한 측정 메트릭 위한 데이터를 캡처하려면 사용자 또는 시스템 상호 작용의 어떤 이벤트를 사용하면 될까요?
실험은 수집한 데이터만큼 좋은 결과를 얻을 수 있습니다. 실험을 시작하기 전에 대조군으로 사용할 변형(기준 변형)과 변화를 확인하려는 변형(비교 변형)을 결정해야 합니다.
실험에서 결론 도출
결론(또는 필요한 경우 여러 결론)을 도출하는 것이 실험 주기의 마지막 단계입니다. 실험 결과를 확인하면 비교 변형의 결과와 대조 변형의 영향을 확인할 수 있습니다. 또한 결과에서 통계적 중요성도 확인할 수 있습니다. Statsig 측정값은 원격 분석 데이터 및 샘플 크기에 따라 달라집니다.
결과는 학습한 내용과 결과를 즉시 프로덕션에 구현할 수 있는 실행 가능한 항목으로 결론을 내리는 데 도움이 됩니다. 그러나 실험은 연속적인 프로세스입니다. 제품을 지속적으로 개선하기 위한 새로운 실험을 시작합니다.
실험 사용 시나리오
릴리스 방어
목표: 원활한 전환을 보장하고 각 릴리스마다 주요 메트릭을 유지하거나 개선합니다.
방법: 실험을 통해 새로운 기능을 점진적으로 롤아웃하고, 성능 메트릭을 모니터링하며, 반복적인 개선을 위한 피드백을 수집합니다.
이점:
- 롤아웃 초기에 문제를 검색하고 해결하기 위해 가드 레일 메트릭을 사용하여 문제 분산 위험을 최소화합니다.
- 실시간 데이터를 기반으로 한 합리적 결정을 내려 주요 성능과 사용자 만족도 메트릭을 유지하거나 개선하는 데 도움이 됩니다.
가설 테스트
목표: 제품 기능, 사용자 동작 또는 비즈니스 전략에 대한 합리적 결정을 내리기 위해 가정과 가설의 유효성을 검사합니다.
방법: 실험을 통해 다양한 기능 버전이나 시나리오를 만들어 구체적인 가설을 테스트한 다음, 사용자 상호 작용과 성능 메트릭을 분석하여 결과를 확인합니다.
이점:
- 불확실성을 줄이고 전략적 의사 결정을 안내하는 증거 기반의 인사이트를 제공합니다.
- 실제 사용자 데이터로 가설을 확인하거나 반박함으로써 더 빠른 반복과 혁신이 가능합니다.
- 효과가 입증된 아이디어에 활동을 집중하여 제품 개발을 강화하고, 궁극적으로 더욱 성공적이고 사용자 중심적인 기능을 개발합니다.
A/B 테스트
목표: 다양한 UX 변형을 비교하고 가장 효과적인 디자인을 결정하여 비즈니스 메트릭을 최적화합니다.
접근 방식: 다양한 사용자 환경의 실험을 사용하여 A/B 테스트를 수행하고, 사용자 상호 작용을 측정하고, 성능 메트릭을 분석합니다.
이점:
- 경험적 증거에 따라 UX 변경 내용을 구현하여 사용자 환경을 개선합니다.
- 디지털 제품이나 서비스의 전환율, 참여 수준 및 전반적인 효과가 향상됩니다.
지능형 애플리케이션(예: AI 기반 기능)의 경우
목표: 빠른 실험을 통해 생성형 AI(Gen AI) 도입을 가속화하고 AI 모델과 사용 사례를 최적화합니다.
방법: 실험을 사용하여 AI 모델을 빠르게 반복하고, 다양한 시나리오를 테스트하고, 효과적인 방법을 결정합니다.
이점:
- 변화하는 사용자 요구와 시장 추세에 맞춰 AI 솔루션을 적용하는 민첩성이 향상됩니다.
- AI 이니셔티브의 크기를 조정하는 가장 효과적인 방식에 대한 이해를 지원합니다.
- 실제 데이터와 피드백을 기반으로 AI 모델의 정확도와 성능을 개선합니다.
개인 설정 및 대상 지정 실험
목표: 사용자의 선호도와 동작에 맞춰 개인 설정 콘텐츠와 환경을 제공합니다.
방법: 실험을 활용하여 개인 설정 콘텐츠를 테스트하고, 참여도를 측정하고, 개인 설정 전략을 반복합니다.
이점:
- 관련성 있고 개인 설정 환경을 통해 참여도, 전환율, 고객 로열티를 높입니다.
- 맞춤형 메시지 및 제안으로 대상 그룹을 지정하여 매출을 늘리고 고객 유지율을 높입니다.
성능 최적화 실험
목표: 성능 최적화 실험을 통해 애플리케이션 성능과 사용자 환경을 개선합니다.
방법: 실험을 수행하여 향상된 성능을 테스트하고, 주요 메트릭을 측정하고, 성공적인 최적화를 구현합니다.
이점:
- 자동 관리 성능 개선을 통해 애플리케이션의 확장성, 안정성 및 대응성을 개선합니다.
- 또한 효율적인 최적화를 구현하여 리소스 사용률 및 인프라 비용을 최적화합니다.