prod-fairflow-calculator
FairFlow Campaign Calculator
Help users plan, calculate, and evaluate FairFlow liquidity mining campaigns with data-driven projections and efficiency metrics.
Philosophy
Sustainable yield beats speculation. Good liquidity mining campaigns have:
- Data-driven projections - Calculations based on realistic assumptions, not hopium
- Efficiency tracking - Cost per $1M volume, cost per $1 TVL matter more than raw spend
- EG honesty - Equilibrium Gains are market-dependent and unpredictable; model scenarios, don't guess
- Clear graduation path - Every campaign should have criteria for reducing LM dependency
- ROI focus - Fee revenue vs LM spend determines long-term viability
This skill answers three questions:
- What to spend? - LM budget to achieve target APR
- What to expect? - Projected TVL, volume, and efficiency metrics
- When to adjust? - Decision rules for scaling, maintaining, or killing campaigns
Mode Detection
Determine the operating mode based on user input:
Plan Mode (Design a new campaign):
- User says "plan a FairFlow campaign", "new campaign", "design a campaign"
- User has a pair in mind but no projections yet
- User wants help setting LM budget and targets
Analysis Mode (Calculate specific metrics):
- User says "calculate LP APR", "what's the LM APR", "estimate break-even"
- User has specific numbers and wants calculations
- User wants to understand a single metric
Review Mode (Evaluate existing campaign):
- User says "evaluate campaign", "review my campaign", "is my campaign efficient"
- User has an active campaign with actual data
- User wants to compare actuals vs projections
If unclear, ask: "Do you want to (1) plan a new campaign, (2) calculate specific metrics, or (3) review an existing campaign?"
Plan Mode
Use this when helping users design new FairFlow campaigns.
Plan Mode Overview
Inputs → APR Calculations → Efficiency Projections → EG Scenarios → Validation
Step 1: Gather Campaign Inputs
Ask (using AskUserQuestion):
Pool Configuration
- What pair? (e.g., MON/USDC)
- Which chain?
- What fee tier? (0.01%, 0.05%, 0.30%)
- Fee tier in bps? (1, 5, 30 — needed for EG adjustment calculation)
LM Configuration
- What LM token? (KNC or partner token)
- Current LM token price?
- Campaign duration? (weeks)
Targets & Competition
- What's your target TVL?
- What's the competitor APR you're competing against?
- What APR gap do you want to maintain? (+15%, +25%, etc.)
Current State
- Current TVL (if any)?
- Current daily volume (if any)?
Step 2: Calculate APR Components
Use the formulas to calculate each APR component.
See references/formulas.md for all calculation formulas.
LP Fee APR:
Daily Fee Revenue = Volume × bps
LP Fee APR = (Daily Fee Revenue / TVL) × 365
LM APR (solve for LM budget):
Required LM APR = Target Total APR - LP Fee APR - EG APR (estimated)
Daily LM Value = (LM APR × TVL) / 365
Daily LM Tokens = Daily LM Value / Token Price
Base APR (without EG):
Base APR = LP Fee APR + LM APR
Step 3: Model EG Scenarios
EG (Equilibrium Gains) cannot be predicted. Always present three scenarios. EG multipliers scale inversely with fee tier — lower-fee pools capture proportionally more EG relative to fees.
Fee-tier adjustment:
EG Multiplier = Scenario Base × (5 / pool_bps)
| Scenario | Base (at 0.05%) | Adjustment | When This Happens |
|---|---|---|---|
| Low | 0.50 | × (5 / bps) | Low volatility, stable markets |
| Mid | 1.00 | × (5 / bps) | Normal market conditions |
| High | 2.00 | × (5 / bps) | High volatility, active arbitrage |
Adjusted multipliers by fee tier:
| Fee Tier | bps | Low | Mid | High |
|---|---|---|---|---|
| 0.01% | 1 | 2.50 | 5.00 | 10.00 |
| 0.05% | 5 | 0.50 | 1.00 | 2.00 |
| 0.30% | 30 | 0.08 | 0.17 | 0.33 |
Example at 0.01% (1 bp): If LP Fee APR = 7.30%
- Low EG: 18.25% (2.50 × 7.30%)
- Mid EG: 36.50% (5.00 × 7.30%)
- High EG: 73.00% (10.00 × 7.30%)
Example at 0.05% (5 bp): If LP Fee APR = 7.30%
- Low EG: 3.65% (0.50 × 7.30%)
- Mid EG: 7.30% (1.00 × 7.30%)
- High EG: 14.60% (2.00 × 7.30%)
Total APR by scenario:
Total APR = LP Fee APR + EG APR + LM APR
Step 4: Project Weekly Metrics
Build a weekly projection table:
| Week | TVL Target | Volume Target | Vol/TVL | LP Fee APR | LM APR | Base APR | EG Low | EG Mid | EG High | Total (Mid) | Weekly LM | Cumulative LM |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | ||||||||||||
| 2 | ||||||||||||
| 3 | ||||||||||||
| 4 |
Step 5: Calculate Efficiency Metrics
For each week, calculate:
| Metric | Formula | Target |
|---|---|---|
| LM Cost per $1M Volume | Weekly LM Spend / (Weekly Volume / 1M) |
< $1,000 |
| LM Cost per $1K TVL | Monthly LM Spend / (TVL / 1K) |
< $50 |
| Cost per $1 TVL Acquired | Cumulative LM / (Current TVL - Starting TVL) |
< $0.10 |
| Fee Revenue Ratio | Monthly Fee Revenue / Monthly LM Spend |
> 50% |
See references/benchmarks.md for efficiency targets.
Step 6: Validate Campaign
Run validation checks:
APR Gap Check:
- Is APR gap sufficient? (> 15% minimum, > 25% strong)
- Is gap maintained across all EG scenarios?
Efficiency Check:
- LM cost per $1M volume < $1,000?
- Cost per $1 TVL acquired < $0.10?
Sustainability Check:
- What Vol/TVL is needed to self-sustain without LM?
- Is that Vol/TVL realistic for this pair?
See references/decision-framework.md for decision rules.
Plan Mode Output
Produce a Campaign Plan document:
# FairFlow Campaign: [PAIR]
## Overview
| Field | Value |
|-------|-------|
| **Pair** | [TOKEN_A/TOKEN_B] |
| **Chain** | [Chain] |
| **Fee Tier** | [X%] ([X] bps) |
| **EG Adjustment** | 5 / [bps] = [X]× (Low: [X], Mid: [X], High: [X]) |
| **Duration** | [X weeks] |
| **Total Budget** | [X tokens] ($X USD) |
| **Target TVL** | $[X] |
## APR Breakdown
### By Week
| Week | TVL | Volume | Vol/TVL | Fee APR | LM APR | Base APR | EG (Low/Mid/High) | Total (Mid) |
|------|-----|--------|---------|---------|--------|----------|-------------------|-------------|
| 1 | | | | | | | | |
| ... | | | | | | | | |
### Competitive Positioning
| Scenario | Total APR | vs Competitor | Gap |
|----------|-----------|---------------|-----|
| Low EG | X% | X% | +X% |
| Mid EG | X% | X% | +X% |
| High EG | X% | X% | +X% |
## Efficiency Metrics
| Metric | Week 1 | Week 4 | Target | Status |
|--------|--------|--------|--------|--------|
| LM per $1M Volume | | | <$1,000 | |
| Cost per $1 TVL | | | <$0.10 | |
| Fee Revenue Ratio | | | >50% | |
## Graduation Path
- Break-even Vol/TVL: [X]
- Current projected Vol/TVL: [X]
- Path to reduce LM: [description]
## Success Criteria
| Criteria | Threshold | Action |
|----------|-----------|--------|
| Ship | [condition] | Scale up |
| Maintain | [condition] | Continue as-is |
| Kill | [condition] | Stop campaign |
## Weekly Review Checklist
- [ ] TVL vs target (within 20%?)
- [ ] Vol/TVL ratio (above 1.5?)
- [ ] APR gap still competitive?
- [ ] LM efficiency improving?
- [ ] External factors (competitor moves, market)?
- [ ] Decision: Scale / Maintain / Reduce / Kill
Analysis Mode
Use this when users need specific metric calculations.
Common Calculations
"What LM budget do I need for X% APR?"
Daily LM Value = (Target LM APR × TVL) / 365
Weekly LM USD = Daily LM Value × 7
Weekly LM Tokens = Weekly LM USD / Token Price
"What's my LP Fee APR?"
Daily Fee Revenue = Daily Volume × Fee Tier (as decimal)
LP Fee APR = (Daily Fee Revenue / TVL) × 365
"What Vol/TVL do I need to break even?"
Required Fee APR = Target APR - Expected EG APR
Vol/TVL = Required Fee APR / (Fee Tier × 365)
"Is my campaign efficient?"
LM Cost per $1M Volume = Weekly LM Spend / (Weekly Volume / 1,000,000)
< $1,000 = Good, < $500 = Excellent
See references/formulas.md for the complete formula reference.
Analysis Output
Provide calculations with work shown:
## Calculation: [Metric Name]
### Inputs
- [Input 1]: [Value]
- [Input 2]: [Value]
### Formula
[Formula here]
### Calculation
[Step-by-step calculation]
### Result
**[Metric Name]:** [Value]
### Interpretation
[What this means, whether it's good/bad, what to do about it]
Review Mode
Use this when evaluating active campaigns against projections.
Step 1: Gather Actual Data
Ask:
Current Campaign Status
- Current TVL (actual)?
- Current daily volume (actual)?
- Weekly LM spend to date?
- Campaign week number?
Projected vs Actual
- What were your TVL projections?
- What were your volume projections?
Step 2: Calculate Variance
| Metric | Projected | Actual | Variance |
|---|---|---|---|
| TVL | $X | $X | +/- X% |
| Volume | $X | $X | +/- X% |
| Vol/TVL | X | X | +/- X% |
| LP Fee APR | X% | X% | +/- X% |
Step 3: Apply Decision Framework
Based on actuals, recommend action:
| Condition | Action |
|---|---|
| TVL growth > 20% WoW AND Vol/TVL > 1.5 | Scale LM +25% |
| TVL growth > 10% WoW AND APR gap > 20% | Maintain current LM |
| TVL flat AND Vol/TVL > 2.0 | Reduce LM -15% |
| TVL declining AND APR gap > 30% | Diagnose external factors |
| TVL < 50% of target after 2 weeks | Kill campaign |
| Vol/TVL < 0.5 for 2 consecutive weeks | Kill campaign |
| LM Cost per $1M Volume > $2,000 | Kill campaign |
See references/decision-framework.md for complete decision rules.
Step 4: Check Graduation Criteria
| Graduation Signal | Status |
|---|---|
| Base APR (Fees + EG) > Competitor APR | Can begin LM reduction |
| TVL stable for 4 weeks at reduced LM | Continue reduction |
| Vol/TVL > 2.5 sustained | Pool is self-sustaining |
Review Output
## Campaign Review: [PAIR] - Week [X]
### Performance Summary
| Metric | Projected | Actual | Variance | Status |
|--------|-----------|--------|----------|--------|
| TVL | $X | $X | X% | ✅/⚠️/❌ |
| Volume | $X | $X | X% | ✅/⚠️/❌ |
| Vol/TVL | X | X | X% | ✅/⚠️/❌ |
### Efficiency
| Metric | Actual | Target | Status |
|--------|--------|--------|--------|
| LM per $1M Vol | $X | <$1,000 | ✅/❌ |
| Cost per $1 TVL | $X | <$0.10 | ✅/❌ |
### Decision
**Recommendation:** [Scale / Maintain / Reduce / Kill]
**Reasoning:** [Why this recommendation]
### Next Week Actions
1. [Action item]
2. [Action item]
Integration Points
| Skill | How FairFlow Calculator Connects |
|---|---|
| mkt-funnel-planner | Campaign metrics feed into broader funnel tracking; LP retention is a funnel stage |
| mkt-initiative-planner | FairFlow campaigns become initiative proposals with defined hypotheses and success criteria |
When working with these skills:
- Campaign success criteria align with initiative KPIs
- LP retention metrics connect to funnel D30/D90 tracking
- Campaign budgets inform initiative resource planning
How to Work
- Show your math: Always display calculations step-by-step, not just final answers
- EG is unpredictable: Never present EG as a single number; always show Low/Mid/High scenarios
- Efficiency > raw spend: A $50K campaign that's inefficient is worse than a $10K efficient one
- Challenge unrealistic targets: If Vol/TVL assumptions are aggressive, say so
- Kill criteria matter: Every campaign needs clear conditions for stopping
- Graduation path: Always define how the campaign becomes self-sustaining
- Weekly reviews: Recommend actual vs projected comparison weekly
Anti-Patterns to Avoid
| Don't | Do |
|---|---|
| Present single EG projection | Always show Low/Mid/High scenarios |
| Ignore efficiency metrics | Calculate cost per $1M volume and cost per $1 TVL |
| Skip break-even analysis | Always show what Vol/TVL is needed to self-sustain |
| Set targets without kill criteria | Define stop conditions upfront |
| Assume LM continues forever | Plan graduation path from day one |
More from hungv47/agent-skills
mkt-copywriting
This skill should be used when the user asks to "write copy", "create a headline", "write a tagline", "improve my copy", "write landing page copy", "create ad copy", "write email subject lines", "write product description", or mentions copywriting, persuasive writing, marketing copy, or conversion copy. Uses Harry Dry's Marketing Examples framework.
19tool-plan-interviewer
This skill should be used when the agent enters plan mode, when the user mentions "plan file", "spec file", "interview me about the plan", "help me think through this", or when starting implementation planning. Conducts in-depth, multi-round interviews using AskUserQuestion to surface non-obvious requirements, edge cases, and tradeoffs before writing specifications.
14design-user-flow
This skill should be used when the user asks to "create a user flow", "map navigation", "design user journey", "create wireflow", "plan screen transitions", "map the app flow", "design navigation", or mentions user flow, wireflow, navigation map, user journey, screen transitions, or pre-interface design research. Creates user flow diagrams and wireflows for digital products.
14eng-system-architecture
This skill should be used when the user asks to "design system architecture", "plan the tech stack", "create database schema", "design API structure", "architect the system", "plan the backend", "design infrastructure", or mentions system architecture, technical architecture, database design, API design, or tech stack selection. Transforms product documentation into comprehensive technical blueprints.
13mkt-diagnosis
This skill should be used when the user asks to "diagnose the problem", "break down the issue", "build a logic tree", "what's causing this", or mentions problem diagnosis, logic trees, MECE decomposition, or structured problem solving. This is the ENTRY POINT for problem analysis — use when no diagnosis exists yet.
13mkt-lp-optimization
This skill should be used when the user asks to "optimize a landing page", "improve conversion rates", "review my landing page", "create a high-converting landing page", "audit my LP", "reduce bounce rate", or mentions landing page design, conversion optimization, A/B testing strategy, or CTA optimization.
13