Rebuild the operating roll-up and labour cost from components

Both were flagged in the review and deferred; fixing them properly
changes what the model says.

Labour
- The 0.23-0.40 USD/record line implied 44,000-63,000 THB per head per
  month, far above northern Thai production rates.
- Rebuilt from headcount and wages: 13-19 direct production staff
  (operators, galvanics, QC, maintenance) at loaded northern Thai rates
  gives 3.7M-5.4M THB/yr, or 0.08-0.16 USD per record. Build-up shown.
- Mastering and cutting engineers excluded as title-services labour;
  admin and sales moved to overheads where they belong.
- Stamper amortisation widened to 0.03-0.12 to match the in-house
  marginal cost assumed elsewhere on the page.
- Direct cost total is now 1.30-2.58 USD (43-85 THB).

Operating roll-up
- The old EBITDA and operating-profit figures did not reconcile with
  their own components and showed no loss case anywhere. Replaced with
  a three-scenario table built from the components, each column
  internally consistent, with cash overheads and depreciation separated.
- The adverse case is EBITDA-positive but does NOT cover depreciation:
  operating profit -0.32M USD at 1.0M records on the low price and high
  cost. The previous figures quoted 0.6-1.2M and hid this entirely.
  Utilisation and price realisation decide solvency, not just upside.
- The favourable case is not credible and that is a finding about the
  cost table rather than the business: 69% EBITDA margin against
  industry norms of 15-25%, and 47% even at the centre. The direct cost
  table counts only per-record consumables and direct payroll. Named
  what is missing (indirect labour, scrap above the reject allowance,
  water and effluent, inbound freight, inventory carrying, sales
  commission) and marked the adverse column as the honest one until
  those lines exist.
- Payback restated per scenario: never / 2.3-4.4 yr / 1.0-1.8 yr. The
  old "5 to 8 years" came from the pre-correction margin.
- FX sensitivity and the utilisation bullet updated to match.

The table is a sensitivity, not a forecast, and now says so.
This commit is contained in:
grabowski committed 2026-08-06 12:52:14 +07:00
1 parent 4deaa2c57c
commit caa38dcd0b
1 file changed
+83 -37
+83 -37
View File
@@ -483,51 +483,96 @@ boutique-heavy mix pushes the title line up and the volume down.)
| Jacket (standard) | 0.40 to 0.92 | 13.3 to 30.4 | local carton partners; pass-through-ish |
| Shrink wrap | 0.02 to 0.03 | 0.8 to 1.1 | film |
| Energy | 0.12 to 0.23 | 3.8 to 7.6 | ~1.5 to 2 kWh blended per record at grid/solar mix |
| Production labor | 0.23 to 0.40 | 7.6 to 13.3 | 15 to 25 staff across shifts at Thai wage levels over 1.0 to 1.5M records |
| Stamper amortization | 0.03 to 0.07 | 1.1 to 2.3 | in-house stamper over 1,000 to 2,000 pressings |
| Production labor | 0.08 to 0.16 | 2.6 to 5.4 | Built up below from 13–19 direct staff at northern Thai rates, over 1.0–1.5M records |
| Stamper amortization | 0.03 to 0.12 | 1.0 to 4.0 | in-house three-generation set at ~60–150 USD marginal cost over 1,000 to 2,000 pressings |
| Maintenance, spares, consumables | 0.12 to 0.23 | 3.8 to 7.6 | estimate |
| Reject allowance | 0.12 to 0.17 | 3.8 to 5.7 | 5 to 10% reject rate carried by good units |
| **Total direct cost** | **~1.45 to 2.77** | **~48 to 92** | |
| **Total direct cost** | **~1.30 to 2.58** | **~43 to 85** | |
**Labour build-up.** The previous 0.23–0.40 USD/record implied 44,000 to
63,000 THB per head per month, far above northern Thai production rates.
Rebuilt from headcount and wages, fully loaded at ×1.3 for social
security, overtime, bonus and PPE:
| Role | Heads | THB/month each, loaded |
|---|---|---|
| Press and finishing operators | 8–12 | ~19,500 |
| Galvanics | 2–3 | ~32,500 |
| QC | 1–2 | ~26,000 |
| Maintenance | 2 | ~32,500 |
| **Direct production payroll** | **13–19** | **~312,000 – 449,000/month** |
That is 3.7M–5.4M THB/yr (113k–163k USD), or **0.08–0.16 USD per record**
over 1.0–1.5M records. Mastering and cutting engineers are excluded —
they are title-services labour, not per-record — and admin, sales and
logistics sit in overheads below.
## Margin per record
- Blended price 3.50–4.60 USD minus direct cost 1.45–2.75 USD gives a
**gross margin of ~1.95 USD per record at the midpoint (~64 THB, ~48%)**
- The spread around that is wide and worth stating rather than hiding in
a range: the adverse corner — low price meeting high cost — leaves
**0.75 USD (21%)**, and the favourable corner **3.15 USD (68%)**.
Neither extreme is likely, but it shows that price realisation and cost
control each move the margin by more than a third on their own
- Overheads on top: admin/sales, insurance, facility running costs, and
depreciation (~350k to 700k USD/yr on the 4.7M to 8.9M full-vision
capex over 10 to 15 years), together roughly 0.45 to 0.80 USD per
record at full volume
**gross margin of ~2.11 USD per record at the midpoint (~70 THB, ~52%)**
- The spread is wide and worth stating rather than hiding in a range: the
adverse corner — low price meeting high cost — leaves **0.92 USD
(26%)**, and the favourable corner **3.30 USD (72%)**. Neither extreme
is likely, but price realisation and cost control each move the margin
by more than a third on their own
Rough operating picture at full capacity: **EBITDA ~0.9 to 1.7M USD/yr
(~30M to 56M THB); operating profit after depreciation ~0.6 to 1.2M
USD/yr (~20M to 40M THB)**, before tax. The BOI CIT exemptions (solar,
automation, and any merit measures) shield a meaningful part of early-year
profits; see [boi.md](../boi.md).
## Operating picture at full capacity
**Both roll-ups predate the margin correction above** and sit at the
conservative end of what it now implies — a midpoint margin of 1.95 USD
over 1.0–1.5M records leaves more than this once overheads come off. They
are deliberately not re-derived here. The inputs they rest on
(utilisation, overhead per record, the blended price itself) are all
unvalidated, so re-running the arithmetic would give the output a
precision the inputs do not have. The whole P&L should be rebuilt when
the model is re-based after market validation, not before.
Built from the components above rather than asserted. Three scenarios,
each internally consistent: adverse pairs low volume with the low price
and high cost, favourable does the opposite, central takes midpoints.
Title-services contribution assumes 60–70% after lacquer blanks, styli
and nickel. Cash overheads (admin, sales, insurance, facility running,
IT, professional fees, marketing) are estimated at **200–450k USD/yr**
and deliberately paired high-to-adverse. Depreciation is the 4.7–8.9M
capex over 10–15 years.
Payback on the full-vision capex at these margins: **roughly 5 to 8
years at mid assumptions** (the adverse corner, high capex meeting low
profit, stretches past 15 years), materially better if the phased entry
proves the market before the big blocks are bought.
| USD/yr | Adverse | Central | Favourable |
|---|---|---|---|
| Records | 1.0M | 1.25M | 1.5M |
| Blended price | 3.50 | 4.05 | 4.60 |
| Direct cost | 2.58 | 1.94 | 1.30 |
| Contribution per record | 0.92 | 2.11 | 3.30 |
| Pressing contribution | 0.92M | 2.64M | 4.95M |
| Title-services contribution | 0.10M | 0.28M | 0.48M |
| **Total contribution** | **1.02M** | **2.92M** | **5.43M** |
| Cash overheads | 0.45M | 0.33M | 0.20M |
| **EBITDA** | **0.57M** | **2.59M** | **5.23M** |
| Depreciation | 0.89M | 0.55M | 0.31M |
| **Operating profit** | **−0.32M** | **2.04M** | **4.92M** |
| Payback on 4.7–8.9M capex | never | 2.3–4.4 yr | 1.0–1.8 yr |
Two things this makes visible that the previous figures hid.
**The adverse case loses money.** At 1.0M records, the low price, the
high cost and the high capex, the plant is EBITDA-positive but does not
cover depreciation. The old roll-up quoted operating profit of 0.6–1.2M
and never showed a loss anywhere. Utilisation and price realisation are
not upside levers here — they decide solvency.
**The favourable case is not credible, and that is a finding about the
cost table, not the business.** A 69% EBITDA margin is roughly triple
what pressing plants earn; even the central case at 47% is well above
industry norms of 15–25%. The direct cost table almost certainly
understates, because it counts only per-record consumables and direct
payroll. Missing at minimum: indirect production labour (supervision,
planning, warehouse), consumables beyond those listed, scrap and rework
above the reject allowance, water and effluent, inbound freight on
materials, inventory carrying cost, and sales commission. **Treat the
adverse column as the honest one until those lines exist.**
So this table is a sensitivity, not a forecast. The BOI CIT exemptions
(solar, automation, and any merit measures) shield part of early-year
profits where there are any; see [boi.md](../boi.md).
## What moves the model
- **Utilization is everything**: the cost structure is mostly fixed, so
profit swings almost linearly with volume sold; 60% utilization at
mature fleet size roughly halves operating profit
- **Utilization decides solvency, not just upside**: the cost structure is
mostly fixed, so profit swings almost linearly with volume sold. 60%
utilisation at mature fleet size cuts operating profit by more than
half from the central case, and the adverse column above is already
loss-making at full volume
- **Mix**: color/splatter and boutique runs carry 20 to 50% price premiums
and suit the semi-automatic line; the title-services line (mastering,
cutting, stampers) has software-like margins once the rooms exist
@@ -546,10 +591,11 @@ proves the market before the big blocks are bought.
- **The currency mismatch is a live exposure.** Revenue is quoted to
export customers in USD or EUR while roughly two-thirds of the direct
cost base (labor, energy, local cartons, maintenance) is incurred in
THB. A stronger baht compresses margin directly: at the mid case, a 10%
THB appreciation takes roughly 0.10 to 0.15 USD off the gross margin
per record without a single operational change. Worth deciding early
whether to quote regional customers in THB.
THB. A stronger baht compresses margin directly: a 10% THB appreciation
takes roughly 0.09 to 0.17 USD off the gross margin per record without
a single operational change — enough to move the adverse case further
under water. Worth deciding early whether to quote regional customers
in THB.
## Honest caveats