Agent Skills: ROI Calculator

Use when the user asks to "calculate influencer ROI", "prove campaign value", or "what was our ROAS"; produces direct ROI/ROAS, earned media value, attribution-modeled revenue, LTV-based ROI, and a stakeholder-ready summary. Not for building the full slide/written report — use report-generator.

UncategorizedID: aiskillstore/marketplace/roi-calculator

Install this agent skill to your local

pnpm dlx add-skill https://github.com/aiskillstore/marketplace/tree/HEAD/skills/aaron-he-zhu/roi-calculator

Skill Files

Browse the full folder contents for roi-calculator.

Download Skill

Loading file tree…

skills/aaron-he-zhu/roi-calculator/SKILL.md

Skill Metadata

Name
roi-calculator
Description
'Use when the user asks to "calculate influencer ROI", "prove campaign value", or "what was our ROAS"; produces direct ROI/ROAS, earned media value, attribution-modeled revenue, LTV-based ROI, and a stakeholder-ready summary. Not for building the full slide/written report — use report-generator.'

ROI Calculator

This skill helps you calculate and communicate the return on investment for influencer marketing campaigns using various methodologies appropriate for your goals and available data.

Cross-discipline (paid ads): this is the shared return-math engine for paid ads — paid-measurement-loop, attribution-reconciler, and budget-optimizer delegate ROAS/CPA/payback ratios here rather than recomputing them. Save paid runs under memory/ad/roi-calculator/.

Quick Start

Shortest invocation:

Calculate ROI for our influencer campaign: $25K spend, $72K revenue, 2.1M reach

Common scenario — compare methods before reporting:

What's the ROI of our campaign using direct revenue, EMV, and LTV-based methods?

Skill Contract

  • Reads: campaign spend breakdown, results data (reach, impressions, engagements, clicks, conversions, revenue, new customers), AOV and repeat-rate data if LTV is in scope, any prior performance output from performance-analyzer.
  • Writes: ROI calculation file at memory/influencer/roi-calculator/YYYY-MM-DD-<topic>.md containing direct ROI/ROAS, EMV, cost-efficiency metrics, attribution-modeled revenue, LTV-based ROI, by-influencer ROI, and a summary report block.
  • Promotes: only with separate authorization, durable headline numbers with their attribution window, source, and uncertainty; a calculation request alone does not authorize hot-cache writes.
  • Done when:
    1. At least one ROI methodology is computed with the inputs and formula shown.
    2. Each headline metric is stated against a declared, source-dated comparison target; no universal benchmark is invented.
    3. A bottom-line assessment (profitable / break-even / loss) and 1-3 recommendations are written.
  • Primary next skill: report-generator

Handoff Summary

Emit the standard shape from skill-contract.md §Handoff Summary Format.

Data Sources

This family is Tier 1 — it works with no live integrations. Ask the user for spend and results data and compute everything from those inputs. Connectors below can pull the numbers automatically when available:

  • ~~social platform analytics — reach, impressions, engagements, video views per platform for EMV and cost-per-metric math.
  • ~~ecommerce / analytics — revenue, conversions, link clicks, and AOV for direct ROI and attribution.
  • ~~CRM — new-customer counts, repeat-purchase rate, and lifetime value for LTV-based ROI.
  • ~~influencer database — per-influencer fees and tier data for by-influencer ROI.

With zero integrations, supply the investment and results tables by hand and the skill still produces every calculation. See CONNECTORS.md for the free/keyless recipe per category.

Instructions

When a user requests ROI calculation, work the steps below. Each step has a fill-in template in references/roi-templates.md — link the step number to its block there.

  1. Gather ROI inputs — campaign details, the investment (total spend) table, and the results-data table. (template)

  2. Calculate direct ROI — Simple ROI = (Revenue − Investment) / Investment × 100; ROAS = Revenue / Investment. State profit and a Profitable/Break-even/Loss assessment. (template)

  3. Calculate Earned Media Value (EMV) — impression-based (Impressions × CPM / 1000) and engagement-based (Engagements × CPE), then average. Flag EMV as directional, not absolute. (template)

  4. Calculate cost-efficiency metrics — CPM, CPR, CPE, CPV, CPC, CPA, and CAC. Compare only against a declared, source-dated target with a compatible market, window, and attribution basis; otherwise report the metric descriptively and mark the comparison pending. (template)

  5. Apply attribution modeling — run first-touch, last-touch, linear, time-decay, and position-based; recommend the model that fits the customer journey. (template)

  6. Calculate customer lifetime value impact — LTV-Based ROI = (New Customers × Avg LTV − Investment) / Investment; project short- vs. long-term and compare customer quality to organic/paid. (template)

  7. Calculate by-influencer ROI — per-influencer ROI/ROAS rank, investment efficiency, and ROI by tier (macro/micro/nano). (template)

  8. Generate the ROI report summary — investment, returns, ROI by methodology, key metrics vs. benchmark, bottom line, and 1-3 recommendations. (template)

  9. Produce the typed C3 ROI scope and, when complete, CVI

    Declare goal, profile roi-<goal>, scope: roi, assessment_time: forecast|actual, campaign rollup_id, observation date, and the same catalog version used by ACE/ART. Follow runtime-invocation.md, resolve AARON_SKILLS_ROOT="${CLAUDE_PLUGIN_ROOT:-$(git rev-parse --show-toplevel 2>/dev/null || true)}", verify the scorer and typed catalog, then score all 12 ROI items through python3 "$AARON_SKILLS_ROOT/scripts/rubric-score.py" score <run.json>. If the standalone install lacks them, return score_state: NOT_SCORED / score_confidence: not_scored and do not hand-calculate or persist a typed result. Actual-only R1/R2/I1/I2/I3 items are N/A with reasons in a forecast read; they require evidence in an actual read. This 0–100 rubric result is not financial ROI % from steps 1-8: the financial outputs are evidence consumed by ROI.R items, never the CVI input themselves.

    ROI.I3 Fail emits results-unverified; report I1/I2/R1/R2 as low-confidence and do not make attributable-return claims. Preserve the scorer result rather than recomputing it in prose.

    For CVI, combine complete typed ACE results from fit-scorer, complete ART results from content-reviewer, and exactly one ROI result through python3 "$AARON_SKILLS_ROOT/scripts/rubric-score.py" c3-rollup <results.json>:

    CVI = ( ACE_avg × ART_avg × ROI )^(1/3)
    

    Use the typed c3-rollup.schema.json components form for real campaigns: positive budget weights for every ACE result, equal-weight ART results, and one ROI result. All components must share goal, rollup_id, observation date, assessment time, and catalog version. Keep the three aggregate scope scores beside CVI. If ACE/ART is missing, incomplete, or Unknown, emit ROI and mark CVI pending. If any component is BLOCK and therefore has no final scope score, do not emit CVI; report the blocking component instead of capping or averaging it.

  10. Persist only with permission — save under memory/influencer/roi-calculator/ (or the paid path) only after authorization; request separate authorization for hot-cache promotion.

Example

User: "Calculate ROI for our influencer campaign: $25K spend, $72K revenue, 2.1M reach"

Output:

# ROI Calculation Summary

## Investment & Returns

| Item | Value |
|------|-------|
| Total Investment | $25,000 |
| Direct Revenue | $72,000 |
| Total Reach | 2,100,000 |

## ROI Results

### Direct ROI
- **Profit**: $47,000
- **ROI**: 188%
- **ROAS**: 2.88:1

For every $1 spent, you generated $2.88 in revenue.

### Earned Media Value
- **EMV** (directional scenario at a declared $8 CPM): $16,800
- **EMV Multiple**: 0.67x

### Cost Efficiency
- **CPM**: $11.90
- **CPA**: Unknown (conversion count was not supplied)

## Assessment: Profitable on the supplied direct-revenue basis

Direct revenue exceeds the supplied investment, but no source-dated peer target or incrementality evidence was provided. Do not infer benchmark outperformance or authorize a scale decision from this read alone; obtain verified conversions, attribution evidence, and the campaign owner's precommitted decision rule first.

The source-dated benchmark evidence template lives in references/roi-templates.md#benchmark-evidence-template.

Reference Materials

Next Best Skill

Primary: report-generator — turn the ROI numbers into a stakeholder-ready report.

Alternates (same Measure family):

  • performance-analyzer — go back for deeper performance breakdowns if the ROI math exposed gaps.
  • budget-optimizer — feed by-influencer and by-tier ROI into the next budget allocation.

Termination note: keep a visited-set of skills invoked this session. If the primary next skill was already run, stop and report the chain complete rather than re-invoking it. Stop after at most 3 hops in a single chain.