Reallocate ad budget across campaigns and channels using ROAS and marginal return analysis
日本語の概要は準備中です。原文の説明を表示しています。
Analyze A/B test results for statistical significance with ship, extend, or kill recommendations
インストールする前に、エージェントに与えられる指示の中身を確認できます。
Analyzes A/B test results for statistical significance. Takes variant data (visitors and conversions), calculates conversion rates, lift, p-value, confidence interval, statistical power, and required sample size. Provides a clear recommendation to ship, extend, or kill the test based on rigorous statistical analysis.
agency.config.json at repo root (for context on business goals and CRO service framing)agency.config.json from the project root.services[] -- CRO context for framing recommendationscase_studies[] -- benchmark conversion data if relevanttest_name -- descriptive name for the testcontrol -- control variant data: { "name": "Control", "visitors": N, "conversions": N }variants -- array of variant data: [{ "name": "Variant B", "visitors": N, "conversions": N }]test_type -- what is being tested: headline | cta | layout | pricing | image | copy | color | other (default: other)page -- which page the test runs on (default: unknown)confidence_level -- desired confidence threshold (default: 0.95 for 95%)minimum_detectable_effect -- smallest meaningful lift % (default: 5%)daily_traffic -- average daily visitors to the test page (for duration estimates)revenue_per_conversion -- average value per conversion (for revenue impact)test_duration_days -- how long the test has been running (for novelty effect check)conversion_rate = conversions / visitors
standard_error = sqrt(conversion_rate * (1 - conversion_rate) / visitors)
confidence_interval_95 = [conversion_rate - 1.96 * SE, conversion_rate + 1.96 * SE]
absolute_lift = variant_rate - control_rate
relative_lift = (variant_rate - control_rate) / control_rate * 100
pooled_rate = (control_conversions + variant_conversions) / (control_visitors + variant_visitors)
pooled_SE = sqrt(pooled_rate * (1 - pooled_rate) * (1/control_visitors + 1/variant_visitors))
z_score = (variant_rate - control_rate) / pooled_SE
p_value = 2 * (1 - normal_cdf(abs(z_score))) // two-tailed test
p_value < (1 - confidence_level)effect_size = abs(variant_rate - control_rate)
power = probability of detecting this effect size given sample sizes
Estimate power using:
For the specified minimum_detectable_effect:
required_per_variant = (z_alpha + z_beta)^2 * 2 * p * (1-p) / delta^2
where:
z_alpha = 1.96 (for 95% confidence)
z_beta = 0.84 (for 80% power)
p = control_rate
delta = control_rate * minimum_detectable_effect / 100
remaining = max(0, required_per_variant - min(control_visitors, variant_visitors))
days_remaining = remaining / (daily_traffic / num_variants)
Run checks to ensure results are trustworthy:
expected_ratio = 1 / num_variants // assuming equal split
actual_ratio = variant_visitors / total_visitors
chi_squared = sum((observed - expected)^2 / expected)
srm_p_value = chi_squared_test(chi_squared, df=num_variants-1)
test_duration_days < 7: CAUTION -- possible novelty effect inflating variant performance.test_duration_days < 14: NOTE -- consider running through at least one full business cycle.If more than 2 variants total (control + 2+ variants):
If revenue_per_conversion is provided:
{
"current_revenue_per_1000_visitors": "control_rate * 1000 * revenue_per_conversion",
"projected_revenue_per_1000_visitors": "variant_rate * 1000 * revenue_per_conversion",
"monthly_revenue_impact": "lift * monthly_traffic * revenue_per_conversion",
"annualized_revenue_impact": "monthly_impact * 12",
"confidence_interval_revenue": "[low_lift * traffic * rpv, high_lift * traffic * rpv]"
}
Based on all calculations, issue one of three recommendations:
Conditions:
Conditions:
Provide: estimated days/visitors needed to reach significance.
Conditions:
Return structured analysis:
{
"test_summary": {
"test_name": "Homepage hero CTA test",
"test_type": "cta",
"page": "Homepage",
"confidence_level": 0.95,
"total_visitors": 5000,
"total_conversions": 250,
"test_duration_days": 14,
"recommendation": "SHIP | EXTEND | KILL"
},
"variants": [
{
"name": "Control",
"visitors": 2500,
"conversions": 100,
"conversion_rate": 0.04,
"conversion_rate_pct": "4.00%",
"confidence_interval": ["3.23%", "4.77%"],
"is_control": true
},
{
"name": "Variant B",
"visitors": 2500,
"conversions": 150,
"conversion_rate": 0.06,
"conversion_rate_pct": "6.00%",
"confidence_interval": ["5.07%", "6.93%"],
"is_control": false,
"vs_control": {
"absolute_lift": "+2.00%",
"relative_lift": "+50.0%",
"z_score": 3.21,
"p_value": 0.0013,
"significant": true,
"direction": "WINNER"
}
}
],
"statistical_analysis": {
"p_value": 0.0013,
"z_score": 3.21,
"confidence_level": 0.95,
"is_significant": true,
"statistical_power": 0.92,
"sample_size_required_per_variant": 1537,
"current_sample_sufficient": true,
"srm_check": "PASS",
"novelty_check": "PASS",
"multiple_comparison_correction": "N/A"
},
"revenue_impact": {
"monthly_uplift": "Rs 75,000",
"annualized_uplift": "Rs 900,000",
"confidence_interval": ["Rs 40,000", "Rs 110,000"]
},
"validity_warnings": [],
"recommendation": {
"action": "SHIP",
"confidence": "HIGH",
"reasoning": "Variant B shows a statistically significant 50% relative lift (p=0.0013) with adequate power (0.92). No SRM detected. Test has run 14 days through multiple business cycles.",
"next_steps": [
"Implement Variant B as the new default",
"Monitor for 2 weeks post-implementation to confirm lift holds",
"Plan next test: test button color or placement"
]
}
}
Present formatted summary:
A/B TEST RESULTS: {test_name}
Page: {page} | Type: {test_type} | Duration: {days} days
VARIANTS:
Control: {rate}% ({conversions}/{visitors}) [CI: {low}-{high}]
Variant B: {rate}% ({conversions}/{visitors}) [CI: {low}-{high}]
LIFT: {relative_lift}% ({absolute_lift} absolute)
P-VALUE: {p_value} ({significant ? "SIGNIFICANT" : "NOT SIGNIFICANT"} at {confidence_level}%)
POWER: {power}%
VALIDITY CHECKS:
Sample ratio mismatch: {PASS/FAIL}
Minimum sample: {PASS/FAIL}
Novelty effect: {PASS/CAUTION}
Multiple comparisons: {N/A/PASS}
RECOMMENDATION: {SHIP | EXTEND | KILL}
{reasoning}
{if EXTEND}
Estimated visitors needed: {N} more per variant
Estimated days remaining: {N} days at current traffic
{/if}
REVENUE IMPACT (if shipped):
Monthly: {amount}
Annual: {amount}
Range: [{low}, {high}]
NEXT STEPS:
1. {step}
2. {step}
Trigger phrases:
User: Analyze this test -- Control: 2500 visitors, 100 conversions. Variant B: 2500 visitors, 150 conversions. AOV is Rs 2500.
Assistant: [calculates conversion rates, lift, p-value, power, CI, revenue impact; runs validity checks; recommends SHIP/EXTEND/KILL with reasoning]
User: We've been running a test for 3 days. Control: 500 visitors, 20 conversions. Variant: 500 visitors, 30 conversions. Should we call it?
Assistant: [calculates stats, flags insufficient duration and sample size, recommends EXTEND with estimate of remaining days needed]
まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Reallocate ad budget across campaigns and channels using ROAS and marginal return analysis
日本語の概要は準備中です。原文の説明を表示しています。
Generate structured creative briefs for ad designers with brand-consistent direction
日本語の概要は準備中です。原文の説明を表示しています。
Mine winning ad angles, hooks, and creative patterns from top-performing ads
日本語の概要は準備中です。原文の説明を表示しています。
Monitor competitor ads across Meta, Google, and LinkedIn with strategic analysis
日本語の概要は準備中です。原文の説明を表示しています。
Interactive onboarding wizard that generates agency.config.json for any B2B agency. Asks structured questions about the agency, services, ICP, tools, outreach preferences, and CRM setup. Outputs a complete config file.
日本語の概要は準備中です。原文の説明を表示しています。
Two-phase Apollo.io prospecting: free People Search to discover ICP-matching leads, then selective enrichment to reveal emails/phones (credits per contact). Deduplicates against CRM (Google Sheets). Supports Apollo API and MCP tools.
日本語の概要は準備中です。原文の説明を表示しています。