A/B testing framework for running experiments across mobile device clusters.
Allows you to run experiments, collect metrics, and perform statistical analysis on dala Elixir nodes.
Examples:
# Define an experiment;
experiment = %{
name: "Cache Strategy Comparison",
variants: ["strategy_a", "strategy_b"],
metric: :response_time,
duration_per_variant: 60_000 # 1 minute per variant
}
# Run the experiment;
{:ok, results} = DalaDev.ABTesting.run(experiment, nodes)
# Analyze results;
{:ok, analysis} = DalaDev.ABTesting.analyze(results)
# Generate report;
DalaDev.ABTesting.generate_report(results, "ab_report.html")
Summary
Functions
Analyze experiment results.
Generate a report from experiment results.
Run an A/B test experiment across nodes.
Types
Functions
Analyze experiment results.
Returns a map with:
:summary- Overall summary:variant_stats- Per-variant statistics:winner- Winning variant (if statistically significant):confidence- Confidence level
Generate a report from experiment results.
Options:
:format- :html (default) or :text:output- Output file path (optional)
Returns the report content or :ok if saved.
@spec run( experiment(), keyword() ) :: {:ok, [result()]} | {:error, term()}
Run an A/B test experiment across nodes.
Options:
:nodes- List of nodes to run experiment on:iterations- Number of iterations per variant (default: 10):warmup- Warmup iterations (default: 3):timeout- RPC timeout in ms (default: 60_000)
Returns a list of result maps.