Perform a bottoms-up unit economics decomposition for the company specified by the user: $ARGUMENTS
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.
1---2name: unit-economics3description: Bottoms-up unit economics decomposition for any public company4---56Perform a bottoms-up unit economics decomposition for the company specified by the user: $ARGUMENTS78**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.910Follow these steps:1112## 1. Company Lookup13Look up the company by ticker using `discover_companies`. Capture:14- `company_id`15- `latest_calendar_quarter` — anchor for all period calculations below (see `../data-access.md` Section 1.5)16- `latest_fiscal_quarter`17- Firm name for report attribution (default: "Daloopa") — see `../data-access.md` Section 4.51819## 2. Series Discovery & Business Archetype Detection20Cast a wide net to discover ALL available series for this company. Search with multiple keyword sets to maximize coverage:21- Financial: "revenue", "income", "profit", "margin", "eps", "cost"22- Operating KPIs: "subscriber", "user", "customer", "unit", "arpu", "retention", "churn"23- Segment/Product: "segment", "product", "service", "geographic"24- Business-specific: "store", "gmv", "order", "booking", "backlog", "premium", "loan", "aum", "room", "seat", "bed", "acreage"2526Collect 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.**2728Based on series availability, classify the business into one of these archetypes (or a hybrid). This classification drives the entire report structure:2930| If you find series like... | Archetype | Unit = |31|---|---|---|32| ARR, MRR, net dollar retention, customers, ACV, churn, CAC, LTV | **SaaS / Subscription** | Customer or subscription |33| Store count, same-store sales, AUV, restaurant-level margin, new openings | **Unit-based retail / Restaurant** | Store or unit |34| GMV, take rate, orders, AOV, active buyers/sellers | **Marketplace / E-commerce** | Order or transaction |35| Subscribers, ARPU, churn, content spend per sub | **Consumer subscription (media/streaming)** | Subscriber |36| Premiums written, loss ratio, combined ratio, policies in force | **Insurance** | Policy |37| NIM, loans, deposits, provision for credit losses, NCOs | **Banking / Lending** | Loan or account |38| ASP, units shipped, cost per unit, gross margin per unit | **Hardware / Manufacturing** | Unit shipped |39| AUM, management fee rate, performance fees, fund flows | **Asset Management** | Dollar of AUM |40| Revenue per available room (RevPAR), occupancy, ADR | **Hospitality / Lodging** | Room night |41| RPM, RASM, CASM, load factor, ASMs | **Airlines / Transportation** | Available seat mile |42| Revenue per user, DAU, MAU, ARPU, engagement | **Digital platform / Advertising** | User |43| Beds, admissions, revenue per admission, case mix | **Healthcare facilities** | Admission or bed |44| Acreage, production per acre, realized price per unit | **Commodity / E&P** | Unit of production |4546If 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.4748**Edge cases:**49- **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.50- **Pre-revenue / early-stage companies**: Focus on burn rate per unit of growth, cash efficiency, and path to unit profitability.51- **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.52- **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.53- **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.5455## 3. Unit Economics Data Pull56Calculate 10 quarters backward from `latest_calendar_quarter`. Pull all archetype-relevant series identified in Step 2 for those periods, plus standard financials:57- Revenue (total and segment)58- COGS / cost of revenue59- Gross profit60- Operating income61- Net income62- All operating KPIs relevant to the detected archetype6364**Derived metrics** (calculate from pulled data, label each as "(calc.)" and show formulas):65- Revenue per unit (Revenue / units)66- Gross margin per unit67- Contribution margin per unit (if variable costs are available)68- Unit growth rate (QoQ and YoY)69- Revenue per unit growth rate (QoQ and YoY)70- Any archetype-specific derived metrics (e.g., CAC payback = CAC / (ARPU × gross margin), LTV/CAC, 4-wall margin, take rate, combined ratio)7172## 4. Qualitative Research73Search SEC filings for context on the unit economics. Use archetype-specific search terms:74- **SaaS**: Try "net dollar retention", "customer acquisition cost"; fallback to "expansion", "churn", "upsell"75- **Restaurant/Retail**: Try "average unit volume", "restaurant-level margin"; fallback to "same-store", "new unit", "unit opening"76- **Marketplace**: Try "take rate", "gross merchandise value"; fallback to "active buyers", "order volume", "monetization"77- **Hardware/Manufacturing**: Try "average selling price", "units shipped"; fallback to "ASP", "volume", "mix"78- **Insurance**: Try "combined ratio", "loss ratio"; fallback to "underwriting", "premium", "policy"79- **Banking**: Try "net interest margin", "provision"; fallback to "loan growth", "credit quality", "efficiency"80- **Digital platform**: Try "average revenue per user", "monthly active users"; fallback to "engagement", "monetization", "ARPU"81- **General (all archetypes)**: Try "unit economics", "pricing"; fallback to "profitability", "margin", "per unit"8283Extract management commentary on pricing, retention, expansion, new unit openings, margin levers, etc. with document citations.8485## 5. Analysis & Report Synthesis8687**Section 1: Business Model & Unit Definition (brief)**88- 2-3 sentence description of what the "unit" is for this business89- Why this decomposition matters for understanding the company's economics90- What the revenue build-up looks like: units × revenue-per-unit, or equivalent9192**Section 2: Revenue Decomposition**93- Show the bottoms-up revenue build: how units × price/rate × utilization (or equivalent) bridges to reported revenue94- Table: quarterly history (10 quarters) showing each component95- Highlight which lever is driving growth: volume vs. price vs. mix96- Include growth rates (YoY) as sub-rows beneath each metric9798**Section 3: Unit-Level Profitability**99The core of the report. Show margin/profitability at the unit level over time:100- For SaaS: gross margin per customer, CAC payback period, LTV/CAC ratio101- For restaurants: 4-wall EBITDA margin, new unit payback, cash-on-cash return102- For marketplace: contribution margin per order, after accounting for fulfillment/transaction costs103- For insurance: loss ratio + expense ratio = combined ratio per policy104- For hardware: gross margin per unit, cost per unit breakdown105- Adapt to whatever the business actually is106- Table: historical trend with period-over-period change107- Explicitly call out whether unit economics are improving or deteriorating and by how much108109**Section 4: Cohort / Vintage Analysis (if data supports it)**110- For subscription businesses: net retention curves, expansion vs. contraction111- For unit-based businesses: same-store vs. new-store contribution, unit maturation112- For lending: vintage loss curves, seasoning113- 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)114115**Section 5: Scalability & Operating Leverage**116- How do unit economics change as the business scales?117- Fixed cost absorption: which costs are truly fixed vs. variable per unit?118- Show operating leverage by plotting revenue growth vs. cost growth119- Incremental margins: are they expanding or compressing as the business grows?120121**Section 6: Key Drivers & What to Watch**122This is the most analytically valuable section. Based on the data, identify:123- **The 3-5 metrics that matter most** for this company's unit economics, ranked by sensitivity / impact124- For each metric: current level, historical range, direction of travel, and what would cause it to inflect125- **Bull case drivers**: what would improve unit economics (e.g., pricing power, mix shift to higher-margin products, operating leverage kicking in, retention improving)126- **Bear case risks**: what would deteriorate unit economics (e.g., competitive pricing pressure, rising CAC, input cost inflation, regulatory impact on take rates)127- 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"128129**Section 7: Summary Assessment**130- 3-4 sentence verdict on the health and trajectory of the company's unit economics131- Is this a business with improving, stable, or deteriorating unit economics?132- What is the single most important thing to monitor going forward?133134**Analytical standards:**135- **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)136- **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 verify137- **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 limited138- **No generic filler**: if you don't have data to support a section, skip it or shorten it. Never pad with boilerplate139- **Source everything**: every number should be traceable. Use Daloopa source citations per the design system conventions140- **Prefer rates and ratios over absolutes**: unit economics are about efficiency, not scale. Lead with margins, returns, and per-unit metrics. Include absolutes as context141142## 6. Charts143Use `infra/chart_generator.py` for charts. Include at minimum:1441. A **revenue decomposition chart** (waterfall or time-series showing units × price → revenue)1452. A **unit profitability trend chart** (time-series showing the key unit margin metric over time)1463. 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)147148**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.149150If chart_generator.py is unavailable, embed simple inline SVG charts directly in the HTML.151152## 7. Save Report153Save 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.154155Structure the report with these sections:156157```158<h1>{Company Name} ({TICKER}) — Unit Economics Analysis</h1>159<p>Generated: {date}</p>160161<h2>Summary</h2>162{2-3 sentences: What is the "unit"? Are unit economics improving or deteriorating? Key takeaway.}163164<h2>Business Model & Unit Definition</h2>165{Section 1 content}166167<h2>Revenue Decomposition</h2>168<table>169| Component | Q(-9) | Q(-8) | ... | Q(latest) |170{Units, revenue per unit, revenue — with Daloopa citations and YoY growth sub-rows}171</table>172{Commentary on volume vs. price drivers}173174<h2>Unit-Level Profitability</h2>175<table>176| Metric | Q(-9) | Q(-8) | ... | Q(latest) |177{Archetype-specific unit margins — with Daloopa citations}178</table>179{Commentary on unit economics trajectory}180181<h2>Cohort / Vintage Analysis</h2>182{Section 4 content, or note if insufficient data}183184<h2>Scalability & Operating Leverage</h2>185<table>186| Metric | Q(-9) | Q(-8) | ... | Q(latest) |187{Revenue growth vs cost growth, incremental margins}188</table>189{Operating leverage assessment}190191<h2>Key Drivers & What to Watch</h2>192{Ranked drivers with sensitivity analysis and bull/bear scenarios}193194<h2>Summary Assessment</h2>195{3-4 sentence verdict}196```197198All financial figures must use Daloopa citation format: `<a href="https://daloopa.com/src/{fundamental_id}">$X.XX million</a>`199200Tell the user where the HTML report was saved.201202Highlight the 2-3 most important findings about the company's unit economics and what they signal for the investment case.