Redisを使用してリアルタイムA/Bテストツールを構築する方法
A / Bテストは、今日のデジタル経済で競争しているマーケターやWebサイト所有者にとって不可欠な資産になっています。これにより、ユーザーは既存のアイデアをテストし、新しいアイデアを試し、何が機能し、何が機能しないかを強調することができます。
この情報がないと、Webページを最適化しようとすると、イライラして時間のかかるプロセスになる可能性があります。しかし残念ながら、A / Bテストソフトウェアは高価である可能性があり、多くの人がその利点にアクセスできなくなります。
しかし、Redisを使用すると、プログラマーのThiago Camargoは、リアルタイムで動作できるオープンA / Bテストツールを作成することで、これらの障壁を取り除くことができました。 Redisの強力なデータ処理機能により、ユーザーは選択した変数を試して、Webページを最適化するための最も効果的な方法を見つけることができます。
Thiagoがこのアプリケーションをどのようにまとめることができたかを見てみましょう。ただし、先に進む前に、RedisLaunchpadで発見できるさまざまな革新的なアプリケーションがあることを指摘しておきます。
したがって、この投稿の後に必ず参照してください!
- 何を構築しますか?
- 何が必要ですか?
- アーキテクチャ
- はじめに
- 仕組み
1。 何を構築しますか?
スケーラブルでリアルタイムに動作する、強力でありながらシンプルなA/Bテストツールを構築します。以下では、このアプリケーションをボトムアップで構築する方法を示し、必要なコンポーネントとその機能を強調します。
2。 何が必要ですか?
- コトリン : オープンソースのプログラミング言語として使用され、GoogleがAndroidアプリの開発にも使用しています。
- Gradle : 多言語ソフトウェア開発のビルド自動化ツールとして使用されます。
- レタス : ノンブロッキングリアクティブアプリケーションを構築します
- RedisGraph : 行列をスパースしてグラフの隣接行列を表し、線形代数を使用してグラフをクエリします
- RedisTimeSeries : 何百万ものサンプルやイベントを高効率で取り込み、クエリすることができます。
- RedisJSON : RedisキーからのJSON値の保存、更新、フェッチを可能にします
3。 アーキテクチャ
Webサイトでテストする変数に基づいて、Swaggerで実験が作成されます。このユーザーは、さまざまな色が売上にどのような影響を与えるかをテストすることを選択しました。A / Bテストとは何ですか?
分割テストとも呼ばれるA/Bテストは、変数の2つ以上のバージョンがウェブサイトの訪問者に表示され、どちらがコンバージョンに大きな影響を与えるかを判断する系統的な実験プロセスを指します。
ブランド、製品、サービスを市場でより効果的に位置付ける方法を明確にするように設計されています。
たとえば、販売しようとしている商品がウェブサイトにあるとします。実験できる変数の1つは、製品の横にある召喚状(CTA)ボタンです。 CTAをA/Bテストするには、次のようなさまざまな方法があります。
- 配置
- デザイン
- 色
- サイズ
- コピーライティング
これらの変数を分割テストすることで、コンバージョンを促進するのに最適なCTAのバージョンを見つけることができます。
4。 はじめに
前提条件
- Docker
- Gradle7.2をインストールする
- Maven 3.8.1
- OpenJDKをインストールする
- SwaggerAPIドキュメント
ステップ1:リポジトリのクローンを作成する
ステップ2.ビルドタスクの実行
ステップ3:Redisモジュールをセットアップする
Dockerデスクトップを使用している場合は、ボリュームマウントに対してファイル共有オプションが有効になっていることを確認してください。以下のコードを使用してRedisを設定します:
ステップ4.アプリケーションの実行
以下のコードを使用して、Dockerを起動します。
仕組み
実験API
ここでは、トリガーベースの加重登録を使用してスケーラブルなA/Bテスト実験を作成する方法を紹介します。
実験の作成方法
このステップでは、さまざまな変数をA/Bテストできる実験を作成する方法を示します。さまざまな画面の色を分割テストして、売上にどのような影響があるかを確認しようとしているマーケティング担当者の立場になります。
開始するには、以下のコードを使用してください。
上部の「goalIds」を「purchase」に変更して、各画面の色からの売上数を測定したことは注目に値します。その下に、実験の「id」を「subscription1」にしました。
トリガーイベントを決定するために、「user-plan-screen-view」を挿入しました。これは、イベントがトリガーされると、ユーザーが自動的にテストに登録されることを意味します。
次に、A / Bテストを行う2つの変数であるため、バリアントを「赤」と「青」として識別しました。
実験を取得する方法
応答。
リモート構成API
ここでは、動的でスケーラブルなリモートクライアント構成サービス(FirebaseReplacement)を作成する方法を紹介します。
リモート設定を更新する方法
リモート設定を取得する方法
応答
イベントAPI
このステップには、時系列イベントのインデックス作成が含まれます。
イベントをプッシュする方法
Summary API – Generic Summary Service
これは、複数の種類のアプリケーションの概要を保持および維持できる、シンプルで柔軟な概要サービスです。これらには、ゲームのスコアボード、製品の評価、ユーザーの評価、増分メトリックなどが含まれます。
概要の更新
概要の取得
応答:
ドロワーAPI–汎用キー/バリューサービス
柔軟な資産保管
ドロワーの更新
引き出しを入手する
応答:
使用済みのRedisクエリの一部
以下で使用されるコマンドのほとんどは、LettuceRedisコマンドアノテーションを使用して実装されています。
グラフ
- enrollEmitterOnExperiment
- fetchParticipantsOnExperiment
- graphQuery
時系列
- pushEvent
JSON
- setObject
- getObject
- setPathValue
- getPathValue
コア
- HSET
- HGET / HGETALL
- HEXISTS
- …
結論:A/Bテストを誰もが利用できるようにする
A / Bテストは、今日のデジタルプレイグラウンドで競合するマーケティング担当者にとって不可欠なものになっています。しかし、このソフトウェアの入手には費用がかかる可能性があり、多くの人が次善のWebサイトで運用することを余儀なくされています。さらにこれをさらに複雑にするために、分割テストソフトウェアの作成には独自のプログラミング上の問題があります。
このようなアプリケーションを作成するには、コンポーネント間でデータを効率的に送信できる、用途が広く強力なデータベースが必要です。これらの障害にもかかわらず、Redisはこれらの障害をすべて取り除きました。
ラップトップでRedisを使用するだけで、Webサイト上の任意の変数をA / Bテストして、ターゲット市場に近づくことができます。このアプリケーションがどのように作成されたかについて詳しく知りたい場合は、このYouTubeビデオを必ずご覧ください。
これらの要求にもかかわらず、Redisの高度なデータ処理機能により、コンポーネント間のデータ伝送が非常に効率的かつ信頼性の高いものになり、応答性の高いアプリケーションが作成されました。
これは、遅延、遅延、およびユーザーとアプリケーション間の摩擦の原因がないことを意味しました。ラップトップでRedisを使用するだけで、Webサイト上の任意の変数をA / Bテストして、ターゲット市場に近づくことができます。
このアプリケーションがどのように作成されたかについて詳しく知りたい場合は、このYouTubeビデオを必ずご覧ください。
この投稿を楽しんだら、RedisLaunchpadでさらに多くのことを発見できます。リアルタイムの車両追跡システムの作成から、発展途上国の作物保険会社を保護するための強力なドローンシステムの構築まで、Redisは世界中のプログラマーによって日常生活を改善するために活用されてきました。
Redisで何ができますか?
アプリを作成したのは誰ですか?チアゴカマルゴ
このアプリケーションを楽しんだ場合は、ThiagoのGitHubページにアクセスして、彼が関わったすべてのプロジェクトの最新情報を入手してください。
-
Redis PERSIST –Redisでキーの有効期限を削除する方法
このチュートリアルでは、コマンド– PERSIST を使用して、redisデータストアに保存されているキーの有効期限(タイムアウト)を削除する方法について学習します。 redis-cliで。 EXPIRE/PEXPIREまたはEXPIREAT/PEXPIREATを使用してキーに有効期限を設定すると、その状態は揮発性になります。 (有効期限が設定されたキー)。 PERSISTコマンドは、その状態を永続化に変更します それに関連付けられた有効期限を削除することによって状態。 redis PERSISTコマンドの構文は次のとおりです:- 構文:- redis host:post> PER
-
Redis Jedis pubsub-jedisライブラリを使用してpub/subシステムを実装する方法
このチュートリアルでは、Jedisライブラリを使用してredispubサブシステムを実装する方法について学習します。 ジェダイライブラリ Jedisは、redisデータストア用のJavaクライアントライブラリです。小さくて非常に使いやすく、redis 2.8.x、3.x.x以降のデータストアと完全に互換性があります。 jedisライブラリの詳細についてはこちらをご覧ください。 Redis Pub / Sub System Redisは、パブリッシュ/サブスクライブメッセージングパラダイムを実装します。このメッセージングパラダイムによれば、メッセージの送信者(発行者)は、メッセージ