The interface is localized. Skill descriptions and documents are machine-translated by AI into your language; code, commands, paths and technical terms stay in the original, and the author's document governs.
Explore skills
Development · SKILL.md

ecom-promo-roi

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 spending — even if they say 'was this sale worth it', 'which promo type works best', 'a…

Independent GitHub snapshot · Automated classification · Original documentation governs

Skill documentation

GitHub

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'." metadata: category: "WP-01 電商" tags: ["e-commerce", "promotion", "roi", "marketing"]

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

MetricFormula
Incremental RevenuePromo period revenue - Baseline revenue (what would have happened without promo)
Promo CostDiscount 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

TypeMechanismProsCons
% Discount20% off everythingSimple, high trafficErodes brand, trains discount-waiting
$ OffNT$200 off orders >NT$1000Drives AOV upLess exciting for low-AOV customers
BOGOBuy one get one freeMoves inventory fast50% margin hit, attracts deal-seekers
Gift with purchaseFree item with min spendProtects price perceptionCost of gift, may not drive incremental
Flash saleTime-limited deep discountUrgency, high engagementOperational stress, cannibalization
Loyalty pointsEarn/redeem pointsBuilds retention, deferred costComplex 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
Saved skills