mcpbeat Sign in

Unit Economics Skill for Codex

Bottoms-up unit economics decomposition for any public company

3k tokens
context cost
the whole folder, loaded on every use
2
files
instructions only
0
copies elsewhere
how many repositories repackaged it
4915
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/openai/plugins --skill unit-economics

What comes with it

219 bytes besides the instruction
agents/openai.yaml

The instruction itself

7 sections, as written by the author

Perform a bottoms-up unit economics decomposition for the company named in the user's request. If no ticker or company is provided, ask for one before proceeding.

Before starting, read ../data-access.md for data access methods and ../design-system.md for formatting conventions. Follow the data access detection logic and design system throughout this skill.

Follow these steps:

1. Company Lookup

Look up the company by ticker using discover_companies. Capture:

  • company_id
  • latest_calendar_quarter — anchor for all period calculations below (see ../data-access.md Section 1.5)
  • latest_fiscal_quarter
  • Firm name for report attribution (default: "Daloopa") — see ../data-access.md Section 4.5

2. Series Discovery & Business Archetype Detection

Cast a wide net to discover ALL available series for this company. Search with multiple keyword sets to maximize coverage:

  • Financial: "revenue", "income", "profit", "margin", "eps", "cost"
  • Operating KPIs: "subscriber", "user", "customer", "unit", "arpu", "retention", "churn"
  • Segment/Product: "segment", "product", "service", "geographic"
  • Business-specific: "store", "gmv", "order", "booking", "backlog", "premium", "loan", "aum", "room", "seat", "bed", "acreage"

Collect all unique series IDs. Read every series name and description returned. This is how you learn what kind of business this is and what unit-level KPIs Daloopa tracks for it.

Based on series availability, classify the business into one of these archetypes (or a hybrid). This classification drives the entire report structure:

| If you find series like... | Archetype | Unit = |

|---|---|---|

| ARR, MRR, net dollar retention, customers, ACV, churn, CAC, LTV | SaaS / Subscription | Customer or subscription |

| Store count, same-store sales, AUV, restaurant-level margin, new openings | Unit-based retail / Restaurant | Store or unit |

| GMV, take rate, orders, AOV, active buyers/sellers | Marketplace / E-commerce | Order or transaction |

| Subscribers, ARPU, churn, content spend per sub | Consumer subscription (media/streaming) | Subscriber |

| Premiums written, loss ratio, combined ratio, policies in force | Insurance | Policy |

| NIM, loans, deposits, provision for credit losses, NCOs | Banking / Lending | Loan or account |

| ASP, units shipped, cost per unit, gross margin per unit | Hardware / Manufacturing | Unit shipped |

| AUM, management fee rate, performance fees, fund flows | Asset Management | Dollar of AUM |

| Revenue per available room (RevPAR), occupancy, ADR | Hospitality / Lodging | Room night |

| RPM, RASM, CASM, load factor, ASMs | Airlines / Transportation | Available seat mile |

| Revenue per user, DAU, MAU, ARPU, engagement | Digital platform / Advertising | User |

| Beds, admissions, revenue per admission, case mix | Healthcare facilities | Admission or bed |

| Acreage, production per acre, realized price per unit | Commodity / E&P | Unit of production |

If the business is a hybrid or doesn't fit neatly, construct a custom framework from the available series. The archetype is a starting guide, not a constraint.

Edge cases:

  • Diversified / multi-segment companies: Pick the largest or most analytically interesting segment for primary analysis. Note other segments briefly. If the user specifies a segment, focus there.
  • Pre-revenue / early-stage companies: Focus on burn rate per unit of growth, cash efficiency, and path to unit profitability.
  • Financial companies (banks, insurance, asset managers): These have specialized unit economics. For banks, the "unit" is a dollar of assets — focus on NIM, fee income/assets, efficiency ratio, credit costs. For insurance, focus on the combined ratio decomposition. Don't force a SaaS or retail framework onto financials.
  • Companies with no obvious unit-level KPIs in Daloopa: Fall back to a margin bridge / operating leverage analysis using standard income statement data. Decompose revenue into whatever sub-components are available (segment, geography, product line) and analyze profitability at that level. Note the limitation.
  • Companies that stopped disclosing unit data: Some major companies (e.g., Apple post-2018) no longer report unit shipments or ASPs. If unit-level data is not available, adapt to the highest-resolution decomposition the data supports (e.g., segment revenue × segment margin). Clearly flag the data gap and explain what proxy you used. Do not fabricate unit estimates.

3. Unit Economics Data Pull

Calculate 10 quarters backward from latest_calendar_quarter. Pull all archetype-relevant series identified in Step 2 for those periods, plus standard financials:

  • Revenue (total and segment)
  • COGS / cost of revenue
  • Gross profit
  • Operating income
  • Net income
  • All operating KPIs relevant to the detected archetype

Derived metrics (calculate from pulled data, label each as "(calc.)" and show formulas):

  • Revenue per unit (Revenue / units)
  • Gross margin per unit
  • Contribution margin per unit (if variable costs are available)
  • Unit growth rate (QoQ and YoY)
  • Revenue per unit growth rate (QoQ and YoY)
  • Any archetype-specific derived metrics (e.g., CAC payback = CAC / (ARPU × gross margin), LTV/CAC, 4-wall margin, take rate, combined ratio)

4. Qualitative Research

Search SEC filings for context on the unit economics. Use archetype-specific search terms:

  • SaaS: Try "net dollar retention", "customer acquisition cost"; fallback to "expansion", "churn", "upsell"
  • Restaurant/Retail: Try "average unit volume", "restaurant-level margin"; fallback to "same-store", "new unit", "unit opening"
  • Marketplace: Try "take rate", "gross merchandise value"; fallback to "active buyers", "order volume", "monetization"
  • Hardware/Manufacturing: Try "average selling price", "units shipped"; fallback to "ASP", "volume", "mix"
  • Insurance: Try "combined ratio", "loss ratio"; fallback to "underwriting", "premium", "policy"
  • Banking: Try "net interest margin", "provision"; fallback to "loan growth", "credit quality", "efficiency"
  • Digital platform: Try "average revenue per user", "monthly active users"; fallback to "engagement", "monetization", "ARPU"
  • General (all archetypes): Try "unit economics", "pricing"; fallback to "profitability", "margin", "per unit"

Extract management commentary on pricing, retention, expansion, new unit openings, margin levers, etc. with document citations.

5. Analysis & Report Synthesis

Section 1: Business Model & Unit Definition (brief)

  • 2-3 sentence description of what the "unit" is for this business
  • Why this decomposition matters for understanding the company's economics
  • What the revenue build-up looks like: units × revenue-per-unit, or equivalent

Section 2: Revenue Decomposition

  • Show the bottoms-up revenue build: how units × price/rate × utilization (or equivalent) bridges to reported revenue
  • Table: quarterly history (10 quarters) showing each component
  • Highlight which lever is driving growth: volume vs. price vs. mix
  • Include growth rates (YoY) as sub-rows beneath each metric

Section 3: Unit-Level Profitability

The core of the report. Show margin/profitability at the unit level over time:

  • For SaaS: gross margin per customer, CAC payback period, LTV/CAC ratio
  • For restaurants: 4-wall EBITDA margin, new unit payback, cash-on-cash return
  • For marketplace: contribution margin per order, after accounting for fulfillment/transaction costs
  • For insurance: loss ratio + expense ratio = combined ratio per policy
  • For hardware: gross margin per unit, cost per unit breakdown
  • Adapt to whatever the business actually is
  • Table: historical trend with period-over-period change
  • Explicitly call out whether unit economics are improving or deteriorating and by how much

Section 4: Cohort / Vintage Analysis (if data supports it)

  • For subscription businesses: net retention curves, expansion vs. contraction
  • For unit-based businesses: same-store vs. new-store contribution, unit maturation
  • For lending: vintage loss curves, seasoning
  • If insufficient data for true cohort analysis, note this and substitute with proxy analysis (e.g., new customer growth rate vs. retention rate implies cohort behavior)

Section 5: Scalability & Operating Leverage

  • How do unit economics change as the business scales?
  • Fixed cost absorption: which costs are truly fixed vs. variable per unit?
  • Show operating leverage by plotting revenue growth vs. cost growth
  • Incremental margins: are they expanding or compressing as the business grows?

Section 6: Key Drivers & What to Watch

This is the most analytically valuable section. Based on the data, identify:

  • The 3-5 metrics that matter most for this company's unit economics, ranked by sensitivity / impact
  • For each metric: current level, historical range, direction of travel, and what would cause it to inflect
  • Bull case drivers: what would improve unit economics (e.g., pricing power, mix shift to higher-margin products, operating leverage kicking in, retention improving)
  • Bear case risks: what would deteriorate unit economics (e.g., competitive pricing pressure, rising CAC, input cost inflation, regulatory impact on take rates)
  • Connect each driver to its P&L impact: "a 100bps improvement in net retention would add ~$X to ARR" or "each new store generates ~$Xm in 4-wall EBITDA in year 2"

Section 7: Summary Assessment

  • 3-4 sentence verdict on the health and trajectory of the company's unit economics
  • Is this a business with improving, stable, or deteriorating unit economics?
  • What is the single most important thing to monitor going forward?

Analytical standards:

  • Three-layer density: every data point should have context (vs. prior period, vs. peers if known) and an implication (what it means for the investment case)
  • Show your math: when you derive a metric (e.g., implied CAC = S&M expense / new customers added), show the calculation explicitly so the reader can verify
  • Flag data gaps: if a key metric for the archetype isn't available in Daloopa's data, say so explicitly and explain what proxy you used or why the analysis is limited
  • No generic filler: if you don't have data to support a section, skip it or shorten it. Never pad with boilerplate
  • Source everything: every number should be traceable. Use Daloopa source citations per the design system conventions
  • Prefer rates and ratios over absolutes: unit economics are about efficiency, not scale. Lead with margins, returns, and per-unit metrics. Include absolutes as context

6. Charts

Use infra/chart_generator.py for charts. Include at minimum:

  • A revenue decomposition chart (waterfall or time-series showing units × price → revenue)
  • A unit profitability trend chart (time-series showing the key unit margin metric over time)
  • Additional charts as warranted by the archetype (e.g., net retention waterfall for SaaS, same-store sales trend for restaurants, take rate trend for marketplaces)

All charts must be embedded in the HTML as base64 data URIs (e.g., <img src="data:image/png;base64,...">) so the report is fully self-contained with no external file dependencies. After generating each chart PNG, read the file and convert to base64 for embedding. Do not use relative <img src="filename.png"> paths.

If chart_generator.py is unavailable, embed simple inline SVG charts directly in the HTML.

7. Save Report

Save to reports/{TICKER}_unit_economics.html using the HTML report template from ../design-system.md. Write the full analysis as styled HTML with the design system CSS inlined. This is the final deliverable — no intermediate markdown step needed.

Structure the report with these sections:

<h1>{Company Name} ({TICKER}) — Unit Economics Analysis</h1>
<p>Generated: {date}</p>

<h2>Summary</h2>
{2-3 sentences: What is the "unit"? Are unit economics improving or deteriorating? Key takeaway.}

<h2>Business Model & Unit Definition</h2>
{Section 1 content}

<h2>Revenue Decomposition</h2>
<table>
| Component | Q(-9) | Q(-8) | ... | Q(latest) |
{Units, revenue per unit, revenue — with Daloopa citations and YoY growth sub-rows}
</table>
{Commentary on volume vs. price drivers}

<h2>Unit-Level Profitability</h2>
<table>
| Metric | Q(-9) | Q(-8) | ... | Q(latest) |
{Archetype-specific unit margins — with Daloopa citations}
</table>
{Commentary on unit economics trajectory}

<h2>Cohort / Vintage Analysis</h2>
{Section 4 content, or note if insufficient data}

<h2>Scalability & Operating Leverage</h2>
<table>
| Metric | Q(-9) | Q(-8) | ... | Q(latest) |
{Revenue growth vs cost growth, incremental margins}
</table>
{Operating leverage assessment}

<h2>Key Drivers & What to Watch</h2>
{Ranked drivers with sensitivity analysis and bull/bear scenarios}

<h2>Summary Assessment</h2>
{3-4 sentence verdict}

All financial figures must use Daloopa citation format: <a href="https://daloopa.com/src/{fundamental_id}">$X.XX million</a>

Tell the user where the HTML report was saved.

Highlight the 2-3 most important findings about the company's unit economics and what they signal for the investment case.

Other skills for the same job

different authors, same section of the catalogue
Protocolsio Integration
by christophacham
×4

Integration with protocols.io API for managing scientific protocols. This skill should be used when working with protocols.io to search, create, update, or publish protocols; manage protocol steps and materials; handle discussions and comments; organize workspaces; upload and manage files; or integrate protocols.io functionality into workflows. Applicable for protocol discovery, collaborative protocol development, experiment tracking, lab protocol management, and scientific documentation.

16k tokens
Tailored Resume Generator
by frostant
×4

Analyzes job descriptions and generates tailored resumes that highlight relevant experience, skills, and achievements to maximize interview chances

3k tokens
Excalidraw Diagram Generator
by github
vendor ×3

Generate Excalidraw diagrams from natural language descriptions. Use when asked to "create a diagram", "make a flowchart", "visualize a process", "draw a system architecture", "create a mind map", or "generate an Excalidraw file". Supports flowcharts, relationship diagrams, mind maps, and system architecture diagrams. Outputs .excalidraw JSON files that can be opened directly in Excalidraw.

36k tokens scripts
Executing Plans
by ZhanlinCui
×3

Use when you have a written implementation plan to execute in a separate session with review checkpoints

542 tokens
Anndata
by christophacham
×3

Data structure for annotated matrices in single-cell analysis. Use when working with .h5ad files or integrating with the scverse ecosystem. This is the data format skill—for analysis workflows use scanpy; for probabilistic models use scvi-tools; for population-scale queries use cellxgene-census.

16k tokens
Benchling Integration
by christophacham
×3

Benchling R&D platform integration. Access registry (DNA, proteins), inventory, ELN entries, workflows via API, build Benchling Apps, query Data Warehouse, for lab data management automation.

14k tokens
Biopython
by christophacham
×3

Comprehensive molecular biology toolkit. Use for sequence manipulation, file parsing (FASTA/GenBank/PDB), phylogenetics, and programmatic NCBI/PubMed access (Bio.Entrez). Best for batch processing, custom bioinformatics pipelines, BLAST automation. For quick lookups use gget; for multi-service integration use bioservices.

24k tokens
Cellxgene Census
by christophacham
×3

Query the CELLxGENE Census (61M+ cells) programmatically. Use when you need expression data across tissues, diseases, or cell types from the largest curated single-cell atlas. Best for population-scale queries, reference atlas comparisons. For analyzing your own data use scanpy or scvi-tools.

8k tokens

How to use it

Copy the folder

Take openai/unit-economics from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.