Skip to content
Development
Skill

/ecom-promo-roi

\"Calculate and analyze promotional ROI including incremental sales lift, margin impact, and promo type comparison. Use this skill when the user needs to evaluate whether a promotion was profitable, compare promotion types, simulate promo scenarios, or optimize promotional

From plugin
awesome-agent-skill
26200 skills4 commands
Install
$ npx -y skills add charlieviettq/awesome-agent-skill --skill ecom-promo-roi --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/ecom-promo-roi

Context preview

The summary Claude sees to decide when to auto-load this skill.

\"Calculate and analyze promotional ROI including incremental sales lift, margin impact, and promo type comparison. Use this skill when the user needs to evaluate whether a promotion was profitable, compare promotion types, simulate promo scenarios, or optimize promotional

SKILL.md

ecom-promo-roi.SKILL.md
name: "\"ecom-promo-roi\""
description: "\"Calculate and analyze promotional ROI including incremental sales lift, margin impact, and promo type comparison. Use this skill when the user needs to evaluate whether a promotion was profitable, compare promotion types, simulate promo scenarios, or optimize promotional spending — even if they say 'was this sale worth it', 'which promo type works best', 'are we giving away too many discounts', or 'plan our next promotion'.\"."
allowed-tools: Read, Glob, Grep

Promotion ROI Analysis

Framework

IRON LAW: Measure INCREMENTAL Sales, Not Total Sales During Promo

A promotion that generates $100K in revenue during a sale week looks great —
until you realize $80K would have happened anyway (baseline). The incremental
lift is only $20K. If the discount cost $25K in margin, the promo LOST money.

Promo ROI = (Incremental Revenue × Margin - Promo Cost) / Promo Cost

Key Metrics

| Metric | Formula | |--------|---------| | **Incremental Revenue** | Promo period revenue - Baseline revenue (what would have happened without promo) | | **Promo Cost** | Discount amount + marketing spend + operational cost | | **Promo ROI** | (Incremental Gross Profit - Promo Cost) / Promo Cost | | **Cannibalization Rate** | % of promo sales that would have occurred at full price | | **Pull-Forward Rate** | % of promo sales that are just earlier purchases (customers would have bought next week anyway) |

Promo Type Comparison

| Type | Mechanism | Pros | Cons | |------|-----------|------|------| | % Discount | 20% off everything | Simple, high traffic | Erodes brand, trains discount-waiting | | $ Off | NT$200 off orders >NT$1000 | Drives AOV up | Less exciting for low-AOV customers | | BOGO | Buy one get one free | Moves inventory fast | 50% margin hit, attracts deal-seekers | | Gift with purchase | Free item with min spend | Protects price perception | Cost of gift, may not drive incremental | | Flash sale | Time-limited deep discount | Urgency, high engagement | Operational stress, cannibalization | | Loyalty points | Earn/redeem points | Builds retention, deferred cost | Complex to manage, redemption liability |

Analysis Steps

**Phase 1: Establish Baseline**

  • What would revenue have been without the promo? (prior period, prior year same period, or control group)
  • Account for seasonality, day-of-week effects, and trend

**Phase 2: Calculate Incremental Impact**

  • Total promo revenue - baseline = incremental
  • Subtract cannibalization and pull-forward estimates
  • Calculate gross profit on incremental (not revenue)

**Phase 3: Calculate Full Cost**

  • Discount dollars given up
  • Marketing spend (ads, email, creative production)
  • Operational cost (warehouse overtime, customer service spike)

**Phase 4: Compute ROI and Decide**

  • ROI > 0: Promo was profitable
  • ROI < 0 but strategic (new customer acquisition, inventory clearance): May still be justified
  • ROI < 0 with no strategic rationale: Don't repeat

Output Format

# Promo ROI Report: {Promotion Name}

## Promo Summary
- Type: {discount type}
- Period: {dates}
- Offer: {details}

## Results
| Metric | Value |
|--------|-------|
| Total Revenue (promo period) | ${X} |
| Baseline Revenue (estimated) | ${X} |
| **Incremental Revenue** | **${X}** |
| Incremental Gross Profit | ${X} |
| Promo Cost (discount + marketing + ops) | ${X} |
| **Promo ROI** | **{X%}** |

## Profitability Assessment
{Profitable / Unprofitable — with context}

## Recommendation
{Repeat / Modify / Discontinue — with rationale}

Gotchas

  • **Baseline estimation is the hardest part**: The accuracy of your ROI depends on how well you estimate what would have happened without the promo. Use prior year same period as a starting point, adjust for trend.
  • **Post-promo dip is real**: Sales often drop BELOW baseline after a promotion (customers pulled purchases forward). Include the dip period in your analysis.
  • **Discounts are addictive**: Customers learn to wait for sales. Track the % of revenue sold at full price over time — if it's declining, you have a discount dependency problem.
  • **New vs existing customer mix matters**: A promo that acquires 500 new customers at negative ROI may be worth it if their LTV justifies the acquisition cost. Track separately.

References

  • For A/B testing promotional offers, see `references/promo-testing.md`
Read more
Ships withawesome-agent-skill

Curated skill pack for LLM agents in engineer and science workflow (Cursor & Claude ready).

Get the whole plugin

Other skills on awesome-agent-skill.