KEY INSIGHT
Freemium works when the free tier has genuine value (users would pay for it if they had to) but the paid tier has qualitatively different capabilities or scale. Freemium fails when the free tier is "good enough" indefinitely—you've trained users to expect free.
Structure options for Nigerian AI products:
**Usage-capped freemium:** Users get X free requests per day/week, then must upgrade. Simple to implement, high conversion friction. Users feel "punished" for engagement. Works for tools where engagement correlates strongly with value.
**Time-limited freemium:** Full access for 7-14 days, then conversion prompt. High conversion during trial, low conversion after. Works for business tools where users need quick wins.
**Feature-gated freemium:** Core feature free, advanced features paid. Maintains free tier utility while creating clear upgrade path. Most sustainable for AI products.
```python
def freemium_tier_design(core_value, advanced_features, usage_pattern):
"""
Design freemium tiers that balance acquisition and conversion.
Returns tier structure with pricing.
"""
# Free tier: enough to demonstrate value
free_tier = {
'name': 'Free',
'price': 0,
'monthly_requests': usage_pattern['free_allocation'],
'features': ['Core feature'],
'rationale': 'Acquisition and word-of-mouth'
}
# Pro tier: real power users
pro_tier = {
'name': 'Pro',
'price': calculate_optimal_price(core_value, usage_pattern['pro_usage']),
'monthly_requests': usage_pattern['pro_allocation'],
'features': advanced_features[:3], # First 3 advanced features
'rationale': 'Revenue primary tier'
}
# Team tier: for groups
team_tier = {
'name': 'Team',
'price': pro_tier['price'] * 3 * 0.8, # 20% team discount
'monthly_requests': usage_pattern['team_allocation'],
'features': advanced_features,
'rationale': 'Higher ACV, enterprise path'
}
return [free_tier, pro_tier, team_tier]
def calculate_optimal_price(user_value, requests):
"""Price based on value capture"""
# You capture ~20% of user value
value_capture = 0.20
monthly_value = user_value * requests
price = monthly_value * value_capture
# Round to nice Nigerian pricing (ending in 000 or 500)
rounded = round(price / 500) * 500
return max(rounded, 1000) # Minimum ₦1,000
# Example: AI writing assistant
tiers = freemium_tier_design(
core_value=2000, # Value per writing task
advanced_features=['Long documents', 'Custom tone', 'Multi-language', 'API access'],
usage_pattern={
'free_allocation': 10, # 10 free tasks/month
'pro_allocation': 100, # 100 tasks for Pro
'team_allocation': 500 # 500 tasks for Team
}
)
for tier in tiers:
price_str = f"₦{tier['price']:,}/mo" if tier['price'] > 0 else "Free"
print(f"\n{tier['name']}: {price_str}")
print(f" Requests: {tier['monthly_requests']}/month")
print(f" Features: {', '.join(tier['features'])}")
```
Conversion rate benchmarks for freemium: 2-5% conversion to paid is acceptable for consumer products, 5-15% for B2B tools. If you're below 2% after 3 months, either your free tier is too generous or your paid tier doesn't offer enough incremental value.