Developing Conversion Improvement Hypotheses
CRO hypothesis is a structured assumption about what site change and why will improve conversion. Without formalized hypotheses, tests are chaotic, results incomparable.
Hypothesis Format
Standard template:
We believe that [change] on [page/element]
will lead to [metric] by [≥N]%
for [user segment],
because [reason based on data].
Test method: A/B test
Duration: X weeks
Minimum volume: Y conversions for significance
Hypothesis Sources
1. Behavior Analytics:
Data: 73% mobile users abandon /checkout on "Shipping Address" step (Hotjar Form Analytics)
Hypothesis: Replace text address fields with autocomplete (DaData/Google Places API)
will increase checkout conversion by ≥15% on mobile
Reason: Full address input on mobile keyboard is tedious
2. Competitor Comparison:
Data: Competitors show review count directly on product card,
we show reviews only in separate tab
Hypothesis: Moving rating and review count under product name
will increase add-to-cart rate by ≥8%
Reason: Social proof reduces doubt at early choice stage
3. User Interviews/Surveys:
Data: 40% surveyed in exit-popup said "didn't understand shipping cost"
Hypothesis: Adding shipping cost calculator on product page
will reduce cart abandonment by ≥12%
Reason: Unexpected costs—#1 abandoned cart reason (Baymard)
Hypothesis Prioritization (ICE Score)
def ice_score(impact, confidence, ease):
"""
Impact: 1-10 (potential metric impact)
Confidence: 1-10 (how confident in hypothesis)
Ease: 1-10 (implementation simplicity)
"""
return (impact + confidence + ease) / 3
hypotheses = [
{
'name': 'Address autocomplete in checkout',
'impact': 9, 'confidence': 7, 'ease': 6,
'metric': 'checkout_conversion'
},
{
'name': 'Rating on product card',
'impact': 7, 'confidence': 8, 'ease': 9,
'metric': 'add_to_cart'
},
{
'name': 'Shipping calculator on product page',
'impact': 8, 'confidence': 6, 'ease': 5,
'metric': 'cart_abandonment'
},
]
for h in hypotheses:
h['ice'] = ice_score(h['impact'], h['confidence'], h['ease'])
sorted_by_ice = sorted(hypotheses, key=lambda x: x['ice'], reverse=True)
PIE method (Potential, Importance, Ease) alternative—more business-focused.
Hypothesis Tree
Organize hypotheses by problem levels:
Low overall conversion rate
├── Attraction stage problems
│ ├── High bounce on landing pages → headlines, CTA hypotheses
│ └── Ad-expectation mismatch → relevance hypotheses
├── Mid-funnel problems
│ ├── Low add-to-cart → product card hypotheses
│ └── High cart abandonment → price transparency hypotheses
└── Final stage problems
├── Checkout abandonment → form, trust hypotheses
└── Payment failures → payment method hypotheses
Results Documentation
# hypothesis-log.yml
- id: H-042
title: "Address autocomplete in checkout"
status: "tested"
created: "2024-03-01"
ice_score: 7.3
test_type: "A/B"
duration: "21 days"
sample_size: 2847
result:
variant: "+18.3% checkout_conversion"
confidence: 97.2%
decision: "ship"
shipped_date: "2024-03-28"
learnings: "Mobile users especially sensitive to address input convenience"
Timeline
Develop 10–15 prioritized hypotheses based on data: 3-5 business days.







