Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Strategic advisory for e-commerce founders on unit economics, fulfillment models, payments, and channel strategy. Use when evaluating an ecommerce idea or modeling unit economics, or mentioning DTC, Shopify, Amazon, 3PL, or CAC.
.claude/skills/borghei-ecommerce-advisor/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-07 | ✗→✓ | ▲ Improved | 88% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 86% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 29% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 26% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 15% | 0% |
Strategic frameworks for e-commerce founders, operators, and brand builders. Most ecommerce decisions are unit-economics decisions — knowing the math is the difference between a brand that compounds and one that subsidizes itself out of existence.
ecommerce, e-commerce, DTC, direct-to-consumer, Shopify, Amazon, retail, wholesale, 3PL, fulfillment, dropship, unit economics, contribution margin, CAC, AOV, LTV, returns, refunds, payment processing, interchange
Before building the model, confirm these inputs. If any is unknown or vague, ASK — do not assume:
Stop rule: ask only the 2-3 that most change the output. If the user says "just draft it," proceed and list your assumptions at the top of the model.
bashpython scripts/ecom_unit_economics_calculator.py model.json
Calculates gross margin, contribution margin, CAC payback, and per-order profit from a structured input file.
python scripts/ecom_unit_economics_calculator.py model.jsonTime Estimate: 2-4 weeks for first robust model.
references/fulfillment_models.mdTime Estimate: 4-8 weeks per major fulfillment transition.
references/channel_strategy.mdTime Estimate: Continuous, with major decisions every 6-12 months.
Models per-order, per-month, and CAC-payback economics from a structured input.
bashpython scripts/ecom_unit_economics_calculator.py model.json python scripts/ecom_unit_economics_calculator.py model.json --json
Input model schema in the script's docstring; example in assets/unit_economics_template.json.
Outputs:
references/fulfillment_models.md — DTC self, 3PL, FBA, dropship, retail — when each fitsreferences/channel_strategy.md — DTC site, Amazon, wholesale, retail — economics per channelassets/unit_economics_template.json — Input file for the calculator with example values| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-04 | pass→pass | 26,743 | 19,680 | -26% | 1 | 1 | 0% | 4,107 | 3,981 | -3% | 0 | 0 | — |
case-01 | fail→fail | 15,756 | 15,656 | -1% | 1 | 1 | 0% | 2,703 | 3,618 | +34% | 0 | 0 | — |
case-02 | fail→fail | 25,086 | 21,673 | -14% | 1 | 1 | 0% | 3,886 | 4,506 | +16% | 0 | 0 | — |
case-03 | fail→fail | 23,643 | 25,013 | +6% | 1 | 1 | 0% | 4,008 | 5,449 | +36% | 0 | 0 | — |
case-05 | pass→pass | 19,494 | 19,238 | -1% | 1 | 1 | 0% | 2,861 | 3,919 | +37% | 0 | 0 | — |
case-06 | pass→pass | 19,351 | 19,286 | -0% | 1 | 1 | 0% | 2,957 | 3,904 | +32% | 0 | 0 | — |
case-07 | fail→pass | 11,740 | 16,743 | +43% | 1 | 1 | 0% | 2,027 | 3,805 | +88% | 0 | 0 | — |
case-08 | fail→pass | 10,654 | 16,329 | +53% | 1 | 1 | 0% | 1,981 | 3,681 | +86% | 0 | 0 | — |
case-09 | fail→pass | 17,937 | 17,012 | -5% | 1 | 1 | 0% | 2,733 | 3,522 | +29% | 0 | 0 | — |
case-10 | pass→pass | 17,067 | 13,434 | -21% | 1 | 1 | 0% | 2,759 | 3,102 | +12% | 0 | 0 | — |
case-11 | fail→pass | 16,262 | 14,119 | -13% | 1 | 1 | 0% | 2,367 | 2,988 | +26% | 0 | 0 | — |
case-12 | fail→pass | 8,349 | 1,986 | -76% | 1 | 1 | 0% | 1,197 | 1,372 | +15% | 0 | 0 | — |
case-13 | fail→fail | 13,634 | 13,769 | +1% | 1 | 1 | 0% | 2,149 | 3,016 | +40% | 0 | 0 | — |
case-14 | pass→pass | 10,981 | 11,742 | +7% | 1 | 1 | 0% | 1,729 | 2,828 | +64% | 0 | 0 | — |
case-15 | fail→fail | 19,695 | 20,338 | +3% | 1 | 1 | 0% | 3,058 | 4,235 | +38% | 0 | 0 | — |
case-16 | fail→fail | 16,407 | 9,880 | -40% | 1 | 1 | 0% | 2,449 | 2,558 | +4% | 0 | 0 | — |
case-17 | fail→pass | 16,220 | 10,558 | -35% | 1 | 1 | 0% | 2,369 | 2,573 | +9% | 0 | 0 | — |
case-18 | fail→fail | 6,164 | 2,078 | -66% | 1 | 1 | 0% | 902 | 1,296 | +44% | 0 | 0 | — |
case-19 | pass→pass | 15,080 | 12,222 | -19% | 1 | 1 | 0% | 2,128 | 2,853 | +34% | 0 | 0 | — |
case-20 | fail→fail | 18,059 | 2,550 | -86% | 1 | 1 | 0% | 2,863 | 1,397 | -51% | 0 | 0 | — |
case-21 | fail→pass | 13,005 | 12,091 | -7% | 1 | 1 | 0% | 1,832 | 2,672 | +46% | 0 | 0 | — |
case-22 | fail→pass | 12,593 | 4,644 | -63% | 1 | 1 | 0% | 2,179 | 1,796 | -18% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +36 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.