Menu A/B Test Plan — Controlled Launch Template (interactive)
A practical, repeatable interactive test plan to run low-risk A/B experiments on pricing, placement, or recipe changes. Capture hypothesis, metrics, sample-size guidance, POS tagging, staff training notes, rollout and rollback criteria, and a pre-launch checklist — then save the plan for execution and later analysis.
Use this interactive plan to design, record, and store a controlled menu experiment. The form captures the hypothesis, metrics, groups, operational steps, and decision criteria so your culinary and ops teams can run tests that protect revenue and guest experience.
Hints: Prefer one change at a time (price, recipe, portion, or placement). Choose control and test groups that are as similar as possible (same days of week, comparable shifts, or matched locations). Aim to run long enough to see meaningful sales volume and consistent patterns across comparable time periods.
", "SubmitLabel": "Save Test Plan", "SuccessMessage": "Your A/B test plan was saved. Use this record to guide launch, reporting, and the post-test decision.", "DataType": "MenuABTestPlan", "SchemaVersion": "1.0", "Fields": [ { "Key": "test_title", "FieldType": "text", "Label": "Test title", "HelpText": "A short descriptive name (e.g., 'Apr–May 2026: Reduce salmon portion vs ingredient swap').", "Required": true }, { "Key": "hypothesis", "FieldType": "textarea", "Label": "Hypothesis", "HelpText": "Write a simple if‑then hypothesis: 'If we X, then metric Y will change by Z.' Example: 'If we reduce portion of high-cost ingredient by 10%, contribution margin per plate will increase without lowering repeat orders.'", "Required": true }, { "Key": "primary_metric", "FieldType": "select", "Label": "Primary metric (what you'll judge success by)", "HelpText": "Choose the single metric that will decide success (units sold, attach rate, average check, or contribution margin).", "Required": true, "Options": [ {"Value": "units_sold", "Label": "Units sold"}, {"Value": "attach_rate", "Label": "Attach rate (add-ons)"}, {"Value": "avg_check", "Label": "Average check"}, {"Value": "contribution_margin", "Label": "Contribution margin"}, {"Value": "other", "Label": "Other (specify below)"} ] }, { "Key": "primary_metric_other", "FieldType": "text", "Label": "If other, name the primary metric", "HelpText": "Only required if you selected Other above.", "Required": false }, { "Key": "secondary_metrics", "FieldType": "textarea", "Label": "Secondary metrics", "HelpText": "List up to three secondary metrics to monitor (guest satisfaction, remakes, ticket time, labor per cover, waste).", "Required": false }, { "Key": "baseline_estimates", "FieldType": "textarea", "Label": "Baseline values (recent average)", "HelpText": "Provide current values for the metrics you'll measure (e.g., average weekly units sold, current contribution margin per plate). These values help interpret results.", "Required": false }, { "Key": "sample_size_estimate", "FieldType": "number", "Label": "Sample size estimate (per variant)", "HelpText": "Enter target number of sales per variant. Rule of thumb: aim for at least 100–300 sales per variant for simple operational tests; low-volume items may need longer duration. If unknown, leave blank and use duration guidance instead.", "Required": false }, { "Key": "test_duration_days", "FieldType": "number", "Label": "Planned test duration (days)", "HelpText": "Choose a duration that captures normal weekly patterns (minimum often 7–14 days; include full weeks and both weekend/weekday shifts when relevant).", "Required": true }, { "Key": "control_group_type", "FieldType": "radio", "Label": "Control vs test grouping", "HelpText": "Select how you'll split control and test. Pick the method that keeps groups comparable.", "Required": true, "Options": [ {"Value": "time_based", "Label": "Time-based (e.g., alternate days or weeks)"}, {"Value": "location_based", "Label": "Location-based (one location control, another test)"}, {"Value": "server_based", "Label": "Server/shift-based (specific servers or shifts tag test orders)"}, {"Value": "menu_version", "Label": "Menu-version split (different printed/online menus)"} ] }, { "Key": "locations_included", "FieldType": "text", "Label": "Locations or sections included", "HelpText": "List locations, dining rooms, or channels included (comma separated). For single-location tests, note areas or shifts.", "Required": true }, { "Key": "pos_tagging", "FieldType": "text", "Label": "POS tagging code and instructions", "HelpText": "Specify the exact POS modifier or item code to tag test items (e.g., TEST_AB_SALMON). Include who will create the modifier and how servers/kitchen should apply it.", "Required": true }, { "Key": "staff_training_notes", "FieldType": "textarea", "Label": "Staff training notes", "HelpText": "Key talking points and brief script for servers and kitchen. Include how to handle guest questions and how to ensure consistent preparation.", "Required": false }, { "Key": "customer_communication", "FieldType": "yesno", "Label": "Will customers be told this is a test?", "HelpText": "Decide whether to proactively inform guests (e.g., 'limited-time recipe') or leave changes unannounced to avoid biasing behavior.", "Required": true }, { "Key": "rollback_criteria", "FieldType": "textarea", "Label": "Rollback criteria (when to stop early)", "HelpText": "Be specific and measurable (e.g., 'If primary metric drops >10% vs baseline for two consecutive comparable periods or if repeat complaints about taste exceed 3 in 3 days').", "Required": true }, { "Key": "full_launch_criteria", "FieldType": "textarea", "Label": "Full launch criteria (what success looks like)", "HelpText": "Define the threshold(s) for rolling the change into full menu (e.g., 'Sustained contribution margin improvement ≥5% with no drop in units sold over two comparable weeks').", "Required": true }, { "Key": "data_reporting_contacts", "FieldType": "text", "Label": "Who will report results (names/emails)", "HelpText": "Identify the person(s) responsible for POS tagging verification, reporting and the post-test decision recommendation.", "Required": true }, { "Key": "pre_launch_checklist", "FieldType": "checkbox", "Label": "Pre-launch checklist (confirm before starting)", "HelpText": "Check each item before launching the test.", "Required": true, "Options": [ {"Value": "staff_trained", "Label": "Staff trained with script and procedures"}, {"Value": "pos_tags_created", "Label": "POS tags/modifiers created and tested"}, {"Value": "control_configured", "Label": "Control and test groups configured"}, {"Value": "baseline_captured", "Label": "Baseline metrics captured and recorded"}, {"Value": "reporting_dashboard_ready", "Label": "Reporting dashboard or report template ready"}, {"Value": "rollback_plan_documented", "Label": "Rollback plan documented and understood"} ] }, { "Key": "post_test_actions", "FieldType": "textarea", "Label": "Post-test actions and timeline", "HelpText": "Who will analyze results, when the analysis will be completed, and what the next steps are depending on outcomes.", "Required": false } ], "Notes": "When this plan is saved, use it as the single source of truth for launch and reporting. After the test ends, attach outcome numbers and a short summary of learnings to this saved plan."Discussion
Comments and conversation will live here.