Computer >> 컴퓨터 >  >> 프로그램 작성 >> Redis

Redis를 사용하여 실시간 A/B 테스트 도구를 구축하는 방법

A/B 테스트는 오늘날의 디지털 경제에서 경쟁하는 마케터와 웹사이트 소유자에게 없어서는 안될 자산이 되었습니다. 이를 통해 사용자는 기존 아이디어를 테스트하고 새로운 아이디어를 실험하며 효과가 있는 것과 그렇지 않은 것을 강조할 수 있습니다.

이 정보가 없으면 웹 페이지를 최적화하려는 시도가 답답하고 시간 소모적인 프로세스가 될 수 있습니다. 그러나 불행히도 A/B 테스트 소프트웨어는 비용이 많이 들 수 있어 많은 사람들이 그 이점을 누리지 못합니다.

그러나 Redis를 통해 프로그래머 Thiago Camargo는 실시간으로 작동할 수 있는 개방형 A/B 테스트 도구를 만들어 이러한 장벽을 제거할 수 있었습니다. Redis의 강력한 데이터 처리 기능을 통해 사용자는 선택한 변수를 실험하고 웹 페이지를 최적화하는 가장 효과적인 방법을 찾을 수 있습니다.

Thiago가 어떻게 이 애플리케이션을 만들 수 있었는지 살펴보겠습니다. 그러나 더 진행하기 전에 Redis Launchpad에서 발견할 수 있는 다양한 혁신적인 애플리케이션이 있다는 점을 말씀드리고 싶습니다.

따라서 이 게시물 이후에 찾아보세요!

  1. 무엇을 만들 것인가?
  2. 무엇이 필요합니까?
  3. 건축물
  4. 시작하기
  5. 작동 방식

1. 무엇을 만들 것인가?

확장 가능하고 실시간으로 작동하는 강력하면서도 간단한 A/B 테스트 도구를 구축하게 됩니다. 아래에서는 이 응용 프로그램을 아래에서 위로 빌드하는 방법을 보여 주며 기능과 함께 필요한 구성 요소를 강조 표시합니다.

2. 무엇이 필요합니까?

  • 코틀린 : Google에서 Android 앱을 개발하는 데 사용하는 오픈 소스 프로그래밍 언어로 사용됩니다.
  • Gradle : 다국어 소프트웨어 개발을 위한 빌드 자동화 도구로 사용됩니다.
  • 상추 : 비차단 반응 애플리케이션 구축
  • 레디스그래프 : 그래프에서 인접 행렬을 나타내는 희소 행렬과 그래프를 쿼리하는 선형 대수
  • RedisTimeSeries : 수백만 개의 샘플과 이벤트를 매우 효율적으로 수집하고 쿼리할 수 있습니다.
  • RedisJSON : Redis 키에서 JSON 값 저장, 업데이트 및 가져오기 허용

3. 아키텍처

Redis를 사용하여 실시간 A/B 테스트 도구를 구축하는 방법웹사이트에서 테스트하려는 변수를 기반으로 Swagger에서 실험이 생성됩니다. 이 사용자는 다양한 색상이 판매에 미치는 영향을 테스트하기 위해 선택했습니다.
  • 트리거 이벤트는 실험에 자동으로 등록될 사용자를 결정합니다.
  • 구독에 가입한 사용자는 트리거 이벤트(전환)로 기록됩니다. 각 트리거 이벤트가 결과를 측정하기 위해 기록될 위치의 색상입니다.
  • A/B 테스트란 무엇입니까?

    분할 테스트라고도 하는 A/B 테스트는 둘 이상의 변수 버전이 웹사이트 방문자에게 표시되어 어느 버전이 전환에 더 큰 영향을 미치는지 결정하는 체계적인 실험 프로세스를 말합니다.

    시장에서 브랜드, 제품 및 서비스를 보다 효과적으로 포지셔닝할 수 있는 방법에 대한 명확성을 추가하도록 설계되었습니다.

    예를 들어 웹사이트에 판매하려는 제품이 있다고 가정해 보겠습니다. 실험할 수 있는 변수 중 하나는 제품 옆에 있는 클릭 유도문안(CTA) 버튼입니다. 다음을 포함하여 CTA를 A/B 테스트할 수 있는 다양한 방법이 있습니다.

    1. 배치
    2. 디자인
    3. 색상 
    4. 크기
    5. 카피라이팅

    이러한 변수를 분할 테스트하면 전환 유도에 가장 적합한 CTA 버전을 찾을 수 있습니다.

    4. 시작하기 

    전제조건

    • 도커 
    • Gradle 7.2 설치
    • 메이븐 3.8.1
    • OpenJDK 설치
    • Swagger API 문서 

    1단계:저장소 복제

    2단계. 빌드 작업 수행

    3단계:Redis 모듈 설정

    Docker 데스크탑을 사용하는 경우 볼륨 마운트에 대해 파일 공유 옵션이 활성화되어 있는지 확인하십시오. 아래 코드를 사용하여 Redis를 설정하세요.

    4단계. 애플리케이션 실행

    아래 코드를 사용하여 도커를 시작하세요.

    작동 방식

    실험 API

    여기에서는 트리거 기반 가중치 등록을 사용하여 확장 가능한 A/B 테스트 실험을 만드는 방법을 보여 드리겠습니다.

    실험을 만드는 방법

    이 단계에서는 다양한 변수를 A/B 테스트할 수 있는 실험을 만드는 방법을 보여줍니다. 다양한 화면 색상이 판매에 어떤 영향을 미치는지 알아보기 위해 분할 테스트를 하려는 마케터의 입장이 되어 보겠습니다.

    시작하려면 아래 코드를 사용하세요.

    각 화면 색상에서 발생한 판매량을 측정하기 위해 상단의 'goalIds'를 'purchase'로 변경했다는 점은 주목할 가치가 있습니다. 그 아래에 실험의 'id'를 'subscription1'로 만들었습니다. 

    트리거 이벤트를 결정하기 위해 'user-plan-screen-view'를 삽입했습니다. 즉, 이벤트가 트리거되면 사용자가 자동으로 실험에 등록된다는 의미입니다.

    다음으로 A/B 테스트할 두 변수이기 때문에 변종을 '빨간색'과 '파란색'으로 식별했습니다.

    실험 검색 방법 

    응답.

    원격 구성 API

    여기에서는 동적이고 확장 가능한 원격 클라이언트 구성 서비스(Firebase 교체)를 만드는 방법을 보여줍니다.

    원격 구성을 업데이트하는 방법

    원격 구성을 검색하는 방법

    응답

    이벤트 API

    이 단계에는 시계열 이벤트 인덱싱이 포함됩니다.

    이벤트 푸시 방법

    요약 API – 일반 요약 서비스

    다음은 여러 유형의 애플리케이션에 대한 요약을 유지하고 유지할 수 있는 간단하고 유연한 요약 서비스입니다. 여기에는 게임 스코어보드, 제품 평가, 사용자 평가, 증분 측정항목 등이 포함됩니다.

    요약 업데이트

    요약 얻기

    응답:

    Drawer API – 일반 키/값 서비스

    유연한 자산 보관

    서랍 업데이트

    서랍 얻기

    응답:

    일부 Redis 쿼리 사용

    아래에 사용된 대부분의 명령은 Lettuce Redis Command Annotation을 사용하여 구현됩니다.

    그래프

    • EmitterOnExperiment 등록
    • fetchParticipantsOnExperiment
    • 그래프 쿼리

    TimeSeries

    • 푸시 이벤트

    JSON

    • setObject
    • getObject
    • setPathValue
    • getPathValue

    핵심

    • HSET
    • HGET / HGETALL
    • 헥시스트

    결론:모든 사람이 A/B 테스트에 액세스할 수 있도록 하기

    A/B 테스트는 오늘날의 디지털 놀이터에서 경쟁하는 모든 마케터에게 필수 요소가 되었습니다. 그러나 이 소프트웨어를 구하는 데 비용이 많이 들 수 있으므로 많은 사람들이 차선의 웹사이트로 운영해야 합니다. 그리고 이것을 더욱 복잡하게 만드는 것은 분할 테스트 소프트웨어를 만드는 데 고유한 프로그래밍 문제가 있다는 것입니다.

    이러한 응용 프로그램을 만들려면 구성 요소 간에 데이터를 효율적으로 전송할 수 있는 다재다능하고 강력한 데이터베이스가 필요합니다. 그러나 이러한 장애물에도 불구하고 Redis는 이러한 장애물을 모두 제거했습니다.

    노트북에서 Redis를 사용하는 것만으로도 웹사이트의 모든 변수를 A/B 테스트하고 목표 시장에 더 가까이 다가갈 수 있습니다. 이 애플리케이션이 어떻게 만들어졌는지 자세히 알고 싶다면 이 YouTube 동영상을 시청하세요.

    그러나 이러한 요구에도 불구하고 Redis의 고급 데이터 처리 기능은 구성 요소 간의 데이터 전송을 매우 효율적이고 안정적으로 만들어 응답성이 뛰어난 애플리케이션을 생성했습니다.

    이는 지연, 지연 및 사용자와 응용 프로그램 간의 마찰의 원인이 없음을 의미합니다. 노트북에서 Redis를 사용하는 것만으로도 웹사이트의 모든 변수를 A/B 테스트하고 목표 시장에 더 가까이 다가갈 수 있습니다.

    이 애플리케이션이 어떻게 만들어졌는지 자세히 알고 싶다면 이 YouTube 동영상을 시청하세요.

    이 게시물이 마음에 들었다면 Redis Launchpad에서 더 많은 것을 발견할 수 있습니다. 실시간 차량 추적 시스템 생성부터 개발도상국의 농작물 보험사를 보호하기 위한 강력한 드론 시스템 구축에 이르기까지 Redis는 일상 생활을 개선하기 위해 전 세계의 프로그래머들에 의해 활용되었습니다.

    Redis로 무엇을 할 수 있나요?

    티아고 카마르고

    이 애플리케이션이 마음에 들었다면 Thiago의 GitHub 페이지를 방문하여 그가 참여한 모든 프로젝트에 대한 최신 정보를 확인하십시오.