Factories.
Multi-criteria scoring across price, quality, sustainability, lead time, MOQ fit, responsiveness, and communication — weighted to IN/TL's brand identity (Portugal-preferred, GOTS+OEKO-TEX required, MOQ 100-300, $80-150 retail). Tune weights below if priorities shift.
Cost & pricing
Supply-chain cost → landed cost → recommended retail. Edit any assumption to re-run live.
| FOB factory cost | $28.00 |
| + Inbound freight | $4.00 |
| + Import duty (16%) | $5.12 |
| + Customs broker / MPF | $0.85 |
| + Packaging + receipt | $2.50 |
| = Landed cost (COGS) | $40.47 |
| Retail price | $82.00 |
| − Landed cost | ($40.47) |
| = Gross profit | $41.53 · 50.6% |
| − Payment processing | ($2.68) |
| − Pick / pack | ($2.50) |
| − Sample amortization | ($2.00) |
| − Returns reserve (6%) | ($4.92) |
| = Contribution | $29.43 · 35.9% |
| − Marketing / CAC | ($3.00) |
| − Overhead (allocated) | ($5.00) |
| = Net profit / unit | $21.43 · 26.1% |
Gross margin (50.6%) is not profit — it's the product-cost line. The real retained figure is net profit, $21.43 (26.1%), at full sell-through. 2.03× landed — Thin — under 2.5x landed leaves little room for marketing + overhead. Worker wage inside FOB ≈ $7.50.
| Year | Landed | Frozen-price GM | If reviewed |
|---|---|---|---|
| 2026 · now | $40 | 50.6% ⚠ | $82 · 50.6% |
| 2027 | $42 | 48.8% ⚠ | $85 · 50.5% |
| 2028 | $44 | 46.8% ⚠ | $88 · 50.4% |
| 2029 | $45 | 44.8% ⚠ | $91 · 50.2% |
| 2030 | $47 | 42.7% ⚠ | $94 · 50.1% |
| 2031 | $49 | 40.5% ⚠ | $97 · 49.9% |
| 2032 | $51 | 38.2% ⚠ | $101 · 49.8% |
At a frozen price, gross margin breaches the 58% floor by 2026. A 3.5%/yr review holds it — revisit price every 12-18 months.
| FOB factory cost | $14.00 |
| + Inbound freight | $2.50 |
| + Import duty (16.5%) | $2.72 |
| + Customs broker / MPF | $0.70 |
| + Packaging + receipt | $2.00 |
| = Landed cost (COGS) | $21.92 |
| Retail price | $48.00 |
| − Landed cost | ($21.92) |
| = Gross profit | $26.08 · 54.3% |
| − Payment processing | ($1.69) |
| − Pick / pack | ($2.50) |
| − Sample amortization | ($2.00) |
| − Returns reserve (6%) | ($2.88) |
| = Contribution | $17.01 · 35.4% |
| − Marketing / CAC | ($3.00) |
| − Overhead (allocated) | ($5.00) |
| = Net profit / unit | $9.01 · 18.8% |
Gross margin (54.3%) is not profit — it's the product-cost line. The real retained figure is net profit, $9.01 (18.8%), at full sell-through. 2.19× landed — Thin — under 2.5x landed leaves little room for marketing + overhead. Worker wage inside FOB ≈ $3.50.
| Year | Landed | Frozen-price GM | If reviewed |
|---|---|---|---|
| 2026 · now | $22 | 54.3% ⚠ | $48 · 54.3% |
| 2027 | $23 | 52.6% ⚠ | $50 · 54.2% |
| 2028 | $24 | 50.8% ⚠ | $51 · 54.1% |
| 2029 | $24 | 49% ⚠ | $53 · 54% |
| 2030 | $25 | 47.1% ⚠ | $55 · 53.9% |
| 2031 | $26 | 45.1% ⚠ | $57 · 53.8% |
| 2032 | $27 | 43% ⚠ | $59 · 53.7% |
At a frozen price, gross margin breaches the 58% floor by 2026. A 3.5%/yr review holds it — revisit price every 12-18 months.
The waterfall runs all the way to net profit — gross margin is the product-cost line, not what you keep. The long-term outlook compounds inflation onto FOB, freight, and overhead so you can see when a frozen price stops surviving. Update FOB when a real quote lands; everything re-computes.
Recommended next outreach
Top picks for our 220gsm tee + 360gsm sweatpant spec, MOQ ≤ 300
For the tee (220gsm cotton, MOQ ≤ 300)
For the sweatpant (360gsm French terry, MOQ ≤ 300)
Portugal-made, strong composite score, GOTS+OEKO-TEX likely
Portugal-made, strong composite score, GOTS+OEKO-TEX likely
Turkey — acceptable region with cost advantage
| # | Factory | Region | Composite | Quality | Sustain | Price | MOQ fit | Lead | Status | Contact | Data | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Somelos unverified | Portugal | 92Excellent | 82 | 90 | ~$14 EST | 100 | 100 | researched | open → | ||
| 2 | Coelima unverified | Portugal | 92Excellent | 85 | 88 | ~$14 EST | 100 | 100 | researched | open → | ||
| 3 | Inarbel unverified | Portugal | 91Excellent | 80 | 82 | ~$14 EST | 100 | 100 | researched | open → | ||
| 4 | Velloso unverified | Portugal | 89Excellent | 76 | 80 | ~$14 EST | 100 | 100 | researched | — | open → | |
| 5 | Atlas Apparel unverified1 risk | Turkey | 59Acceptable | 74 | 65 | ~$10 EST | 40 | 100 | researched | — | open → | |
| 6 | Saitex unverifiednot indie2 risks | Vietnam | 56Acceptable | 90 | 95 | ~$8 EST | 0 | 33 | researched | open → |
Scoring weights
The composite score is a weighted average of these seven dimensions, plus bonuses for preferred-region and required certifications, minus penalties for missing certs or indie-unfriendly MOQs. Tune when priorities shift — e.g. as we get closer to drop, quality matters more than price.
Dimension weights (sum: 100)
Targets & acceptable bounds
Bonuses & penalties
Add a factory
New row goes in as researched. Run the AI vet to populate the scoring dimensions, then verify manually after real outreach.
How the scoring works
- Composite = weighted average of price, quality, sustainability, lead time, MOQ fit, responsiveness, and communication scores (each 0-100).
- Price score is normalized against target/acceptable FOB: cheaper than target = 100, at acceptable = 0.
- Bonuses: +5 if Portugal/Turkey, +8 if GOTS + OEKO-TEX 100 both present.
- Penalties: -12 if missing required certs, -15 if won't take 100-300 MOQ.
- Missing data defaults to a neutral 50 in the weighted average — but the data-completeness bar tells you how confident the score is.
- AI vet uses Sonnet 4.6 to populate qualitative scores + risk flags. It marks verified_status='pending' — you confirm with real outreach.