diff --git a/README.md b/README.md index c4dcef5..e416adb 100644 --- a/README.md +++ b/README.md @@ -284,9 +284,10 @@ The detail lives in dedicated documents: the spec sheet for asking a contractor to price the phase 1 buildings and site works, with quantities taken from the parametric BIM model - [Revenue model](docs/finance/revenue-model.md): pricing, direct cost - and margin per record, the launch plant's operating picture (central - revenue ~3.75M USD a year, EBITDA ~1.6M, payback ~4 years on 216M THB; - the adverse case loses money), the five-press table, and the levers and + and margin per record, the launch plant's operating picture at the + planned 60 % specials (central revenue ~3.65M USD a year on ~0.74M + records, EBITDA ~1.7M, payback ~3.8 years on 216M THB; the adverse case + loses money), the five-press table, and the levers and caveats behind the numbers - [Business plan](docs/business-plan/CNX-Vinyl-Business-Plan.docx): the investor-facing roll-up of everything above, built from diff --git a/docs/business-plan/CNX-Vinyl-Business-Plan.docx b/docs/business-plan/CNX-Vinyl-Business-Plan.docx index 1e7b5e9..56a4eef 100644 Binary files a/docs/business-plan/CNX-Vinyl-Business-Plan.docx and b/docs/business-plan/CNX-Vinyl-Business-Plan.docx differ diff --git a/docs/business-plan/CNX-Vinyl-Business-Plan.pdf b/docs/business-plan/CNX-Vinyl-Business-Plan.pdf index 8e77ae3..c84c957 100644 Binary files a/docs/business-plan/CNX-Vinyl-Business-Plan.pdf and b/docs/business-plan/CNX-Vinyl-Business-Plan.pdf differ diff --git a/docs/business-plan/build/content_a.py b/docs/business-plan/build/content_a.py index 7f72441..f991ee8 100644 --- a/docs/business-plan/build/content_a.py +++ b/docs/business-plan/build/content_a.py @@ -53,8 +53,10 @@ def blocks(): "partner Ploy Printing, and fulfilment including direct-to-fan dropshipping.", "**Three presses at launch:** one Newbilt Duplex system (two semi-automatic presses with a main " "and a colour extruder, for colour, splatter and short runs) and one Newbilt Classic fully " - "automatic press for long standard runs. Together about 0.71 to 0.97 million records a year on " - "two shifts (estimate). A second Duplex system is a growth option with its floor, utility " + "automatic press for long standard runs. Special prints are the focus (60 % and more of the " + "records), and specials run only on the Duplex, so together they make about 0.58 to 0.90 million " + "records a year on two shifts (0.71 to 0.97 million at a standard-heavy mix; estimates). A second " + "Duplex system is a growth option with its floor, utility " "positions and pipe connections reserved, not part of the investment.", "**The metal path in-house:** a Sillitoe SDMS cutting room, a Pheenix Alpha galvanics line with " "zero-discharge water treatment, and the Sibert stamper-prep line. The father and the mother of " @@ -111,9 +113,10 @@ def blocks(): ]), H2("The numbers"), KV([ - ["Capacity", "Launch plant ~0.71M to 0.97M records/yr (2 semi-automatic presses + 1 Classic, " - "2 shifts; estimate; the press fleet calculator gives ~0.94M at our planning " - "rates). Second Duplex as growth option: ~1.0M to 1.5M"], + ["Capacity", "Launch plant ~0.58M to 0.90M records/yr at 60 % specials (2 semi-automatic " + "presses + 1 Classic, 2 shifts; the Duplex sets the pace; estimate; the press fleet " + "calculator gives ~0.94M at our planning rates). Second Duplex as growth option: " + "~1.0M to 1.5M"], ["Site", "~1,500 m² main building plus a ~379 m² utility yard built for four boiler and four " "chiller modules, on leased land (~4 rai minimum, 6 to 8 rai with expansion); second " "building as expansion"], @@ -127,13 +130,13 @@ def blocks(): "open quotes land low**"], ["Land lease", "Not negotiated; the plan carries an estimated THB 0.3M to 1.0M per year " "(USD 9k to 30k), section 6.1"], - ["Operating result, mature year", "Central case: revenue ~USD 3.75M (~THB 124M), EBITDA ~USD 1.63M " - "(~THB 54M), operating profit ~USD 1.11M (~THB 37M), payback " - "~4 years (3.0 to 5.5 on the 4.9M to 8.9M band); break-even " - "on operating profit at ~0.3M records a year. **The adverse " - "case loses money:** EBITDA ~USD 0.22M, operating loss ~USD " - "0.67M (~THB 22M). Utilisation and price decide the outcome, " - "not upside (section 9)"], + ["Operating result, mature year", "Central case at 60 % specials: revenue ~USD 3.65M (~THB 120M), " + "EBITDA ~USD 1.73M (~THB 57M), operating profit ~USD 1.21M (~THB " + "40M), payback ~3.8 years (2.8 to 5.1 on the 4.9M to 8.9M band); " + "break-even on operating profit at ~0.25M records a year. **The " + "adverse case loses money:** EBITDA ~USD 0.23M, operating loss " + "~USD 0.66M (~THB 22M). Utilisation and price decide the " + "outcome, not upside (section 9)"], ["First paying release", "**Open.** The August 2026 calendar gives Q4 2028 to mid-2029 (27 to 33 " "months from the start of phase 0), but it was drawn for a one-press " "launch. Commissioning the cutting room and galvanics before the presses " @@ -545,15 +548,17 @@ def blocks(): "be flat, non-slip and solvent-resistant."), T(["Stage", "Fleet", "Rough output per year"], [ ["Launch plant", "1 Duplex system (2 semi-automatic) + 1 Classic, 2 shifts", - "~0.71 to 0.97 million records"], + "~0.58 to 0.90 million records at 60 % specials (0.71 to 0.97 at ~20 %)"], ["Growth option: second Duplex", "4 semi-automatic + 1 Classic, 2 shifts; room reserved, not in " "the investment", "~1.0 to 1.5 million records"], ["Full hall (option)", "4 Duplex systems + 6 Classics, the press hall laid out 60/40 for Duplex " - "(special pressings first); a utility phase of its own", "~3.6 to 4.7 million records (estimate)"], + "(special pressings first); a utility phase of its own", "~2.3 to 3.6 million records at 60 % " + "specials (estimate)"], ], widths_mm=[40, 80, 50], caption="Basis: semi-automatic 60 to 80 records/h assumed; Classic ~128/h (vendor flyer); 16 h/day, " - "300 days/yr, 60 to 70% overall equipment effectiveness. The launch plant is 248 to 288 " - "records/h at nameplate, ~149 to 202/h after effectiveness; the press fleet calculator at " + "300 days/yr, 60 to 70% overall equipment effectiveness; specials (60 % and more) only on the Duplex. " + "The launch plant is 248 to 288 records/h at nameplate, but at 60 % specials the Duplex caps " + "it at 200 to 267/h, ~120 to 187/h after effectiveness; the press fleet calculator at " "the team's planning rates gives ~0.94 million. Neither option is in the revenue model " "or the investment."), P("**On the 60 to 70% effectiveness figure.** Newbilt publishes 95% yield and 95% uptime for the " diff --git a/docs/business-plan/build/content_c.py b/docs/business-plan/build/content_c.py index f12695f..b5a2dd0 100644 --- a/docs/business-plan/build/content_c.py +++ b/docs/business-plan/build/content_c.py @@ -194,11 +194,15 @@ def blocks(): H2("9.1 Pricing assumptions"), B([ - "**Blended pressing price: USD 3.50 to 4.60 per record** (THB 115 to 150), across run sizes and the " - "standard/colour mix, covering pressing, labels, inner sleeve and assembly into the jacket; deluxe " - "packaging passed through at cost plus margin. Western plants charge roughly USD 2.90 to 5.80 for " - "standard black at volume, with premiums of 0.60 to 1.70 for colour and splatter, 180 g and small " - "runs.", + "**Blended pressing price: USD 3.76 to 5.27 per record** (THB 124 to 174) at the planned **60 % " + "specials** (splatter, marble and colour effects; the plant focuses on special prints, not mono " + "colours): standard USD 3.40 / 3.80 / 4.25 plus a specials premium of 0.60 / 1.15 / 1.70 on 60 % " + "of the records, covering pressing, labels, inner sleeve and assembly into the jacket; deluxe " + "packaging passed through at cost plus margin. At ~20 % specials the same prices blend to 3.50 to " + "4.60. Western plants charge roughly USD 2.90 to 5.80 for standard black at volume, with premiums " + "of 0.60 to 1.70 for colour and splatter, 180 g and small runs. What specials cost extra " + "(coloured compound, colour-change purge, trim that only goes back into black) is not yet in the " + "direct cost, so the specials gain is an upper bound until the compound quotes arrive.", "**Western benchmark, October 2026.** Record Industry (Haarlem) publishes its prices online: 300 " "copies of a black 140 g LP with stampers, test pressings, printed labels, a paper inner sleeve, a " "printed jacket and shrink wrap come to **1,721 EUR all-in (~219 THB a copy)**, ex VAT and freight. " @@ -222,19 +226,21 @@ def blocks(): ]), H2("9.2 Capacity and revenue of the launch plant"), - P("Three presses make **~0.71 to 0.97 million records a year on two shifts** (estimate): the two " - "semi-automatic presses of the Duplex system at 60 to 80 records an hour each and the Classic at " - "~128 an hour (28 s cycle, vendor flyer), at 60 to 70 % effectiveness, 16 hours a day and 300 days " - "a year. The press fleet calculator, at the team's planning rates (3 records a minute per Duplex " - "system, 2 per Classic, 65 % effectiveness), gives ~0.94 million. The central case takes the " - "middle, 0.84 million."), + P("Three presses make **~0.58 to 0.90 million records a year on two shifts at 60 % specials** " + "(estimate). Specials run only on the Duplex system (the Classic has one built-in extruder), so its " + "two semi-automatic presses at 60 to 80 records an hour each set the pace, and the Classic (~128 an " + "hour, 28 s cycle, vendor flyer) presses the standard 40 % at about two thirds load; at 60 to 70 % " + "effectiveness, 16 hours a day and 300 days a year. At ~20 % specials the same presses made 0.71 to " + "0.97 million. The press fleet calculator, at the team's planning rates (3 records a minute per " + "Duplex system, 2 per Classic, 65 % effectiveness), stays balanced at ~0.94 million. The central " + "case takes the middle, 0.74 million."), T(["USD per year", "Adverse", "Central", "Favourable"], [ - ["Records", "0.71M", "0.84M", "0.97M"], - ["Blended price", "3.50", "4.05", "4.60"], - ["Pressing revenue", "~2.49M", "~3.40M", "~4.46M"], + ["Records", "0.58M", "0.74M", "0.90M"], + ["Blended price, 60 % specials", "3.76", "4.49", "5.27"], + ["Pressing revenue", "~2.17M", "~3.31M", "~4.72M"], ["Titles × per-title fee", "200 × 580", "300 × 1,155", "400 × 1,730"], ["Title-services revenue", "~0.12M", "~0.35M", "~0.69M"], - ["**Revenue**", "**2.60M (~86M THB)**", "**3.75M (~124M THB)**", "**5.15M (~170M THB)**"], + ["**Revenue**", "**2.28M (~75M THB)**", "**3.65M (~120M THB)**", "**5.41M (~179M THB)**"], ], widths_mm=[50, 40, 40, 40], caption="Estimate. Pressing and title revenue are records × price and titles × fee; the totals are " "those of docs/finance/revenue-model.md. A pure-volume plant runs at the low per-title " @@ -250,21 +256,22 @@ def blocks(): "largely pass-through"], ["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 labour, launch plant", "**0.12 to 0.23**", "4.0 to 7.6", "13 to 19 direct staff, " - "3.7M to 5.4M THB a year, over 0.71 to 0.97M records (0.08 to 0.16 on the five-press fleet)"], + ["Production labour, launch plant", "**0.13 to 0.28**", "4.2 to 9.3", "13 to 19 direct staff, " + "3.7M to 5.4M THB a year, over 0.58 to 0.90M records (0.08 to 0.16 on the five-press fleet)"], ["Stamper amortisation", "0.03 to 0.12", "1.0 to 4.0", "In-house three-generation set at ~USD 60 " "to 150 marginal 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, launch plant**", "**~1.34 to 2.65**", "**~44 to 87**", "Central 1.98"], + ["**Total direct cost, launch plant**", "**~1.35 to 2.70**", "**~45 to 89**", "Central 2.00; no " + "extra cost for specials yet"], ], widths_mm=[42, 26, 26, 76], font_pt=8.5, caption="Estimates, docs/finance/revenue-model.md. THB at 33 per USD."), P("**Why labour per record is higher than in the September draft.** Two shifts need the full press, " "finishing, galvanics, QC and maintenance crews whether the hall holds three presses or five, so " "the direct payroll stays at 3.7M to 5.4M THB a year (113k to 163k USD) while the volume falls from " - "1.0 to 1.5 million records to 0.71 to 0.97 million. Labour per record rises to **0.12 / 0.16 / " - "0.23 USD** (favourable / central / adverse), and the direct cost to 1.34 / 1.98 / 2.65 USD. The " + "1.0 to 1.5 million records to 0.58 to 0.90 million. Labour per record rises to **0.13 / 0.19 / " + "0.28 USD** (favourable / central / adverse), and the direct cost to 1.35 / 2.00 / 2.70 USD. The " "build-up, at northern Thai rates loaded ×1.3 for social security, overtime, bonus and PPE:"), T(["Role", "Heads", "THB/month each, loaded"], [ ["Press and finishing operators", "8 to 12", "~19,500"], @@ -286,41 +293,44 @@ def blocks(): "paired high-to-adverse. Depreciation is 8.9M USD over 10 years (adverse), the 216M THB target " "(~6.55M USD) over 12.5 years (central), and 4.9M USD over 15 years (favourable)."), T(["USD per year, mature", "Adverse", "Central", "Favourable"], [ - ["Records", "0.71M", "0.84M", "0.97M"], - ["Blended price", "3.50", "4.05", "4.60"], - ["Direct cost", "2.65", "1.98", "1.34"], - ["Contribution per record", "0.85", "2.07", "3.26"], - ["Pressing contribution", "0.60M", "1.74M", "3.17M"], + ["Records", "0.58M", "0.74M", "0.90M"], + ["Blended price, 60 % specials", "3.76", "4.49", "5.27"], + ["Direct cost", "2.70", "2.00", "1.35"], + ["Contribution per record", "1.06", "2.49", "3.92"], + ["Pressing contribution", "0.61M", "1.83M", "3.51M"], ["Title-services contribution", "0.07M", "0.23M", "0.48M"], - ["**Total contribution**", "**0.67M**", "**1.96M**", "**3.65M**"], + ["**Total contribution**", "**0.68M**", "**2.06M**", "**3.99M**"], ["Cash overheads", "0.45M", "0.33M", "0.20M"], - ["**EBITDA**", "**0.22M**", "**1.63M**", "**3.45M**"], + ["**EBITDA**", "**0.23M**", "**1.73M**", "**3.79M**"], ["Depreciation", "0.89M", "0.52M", "0.33M"], - ["**Operating profit**", "**-0.67M**", "**1.11M**", "**3.12M**"], - ["Revenue", "2.60M (~86M THB)", "3.75M (~124M THB)", "5.15M (~170M THB)"], - ["Payback (EBITDA, mature year)", "never", "~4 yr (3.0 to 5.5 on 4.9M to 8.9M)", "~1.4 yr"], + ["**Operating profit**", "**-0.66M**", "**1.21M**", "**3.46M**"], + ["Revenue", "2.28M (~75M THB)", "3.65M (~120M THB)", "5.41M (~179M THB)"], + ["Payback (EBITDA, mature year)", "never", "~3.8 yr (2.8 to 5.1 on 4.9M to 8.9M)", "~1.3 yr"], ], widths_mm=[50, 36, 48, 36], caption="Estimates, docs/finance/revenue-model.md 'Operating picture of the launch plant (October " "2026)'. Title services at 60 to 70 % contribution after lacquers, styli and nickel."), CALL("Reading this table honestly", [ - "**The central case works on 216M THB.** EBITDA ~1.6M USD (~54M THB) and operating profit ~1.1M " - "USD (~37M THB) a year once the plant runs at volume. It breaks even on operating profit at about " - "**0.3 million records a year, a little over a third of capacity**.", + "**The central case works on 216M THB.** EBITDA ~1.7M USD (~57M THB) and operating profit ~1.2M " + "USD (~40M THB) a year once the plant runs at volume. It breaks even on operating profit at about " + "**0.25 million records a year, about a third of its output**. Against the earlier ~20 % specials " + "share (0.84M records, EBITDA 1.63M) more specials earn a higher price on fewer records.", "**The adverse case cannot cover depreciation at any volume three presses make.** It would need " - "~1.5 million records. It stacks the low price, the high cost, the high capital and the high " + "~1.1 million records. It stacks the low price, the high cost, the high capital and the high " "overheads at once. At the central cost and volume, the price that covers depreciation is only " "~2.7 to 3.0 USD (~90 to 98 THB) a record, below the low price assumed: price realisation and " "utilisation decide solvency, not upside.", - "**The central margin is too good to trust yet.** A central EBITDA margin of ~43 % is far above " + "**The central margin is too good to trust yet.** A central EBITDA margin of ~47 % is far above " "the 15 to 25 % pressing plants earn. The direct cost table counts only per-record consumables and " "direct payroll and leaves out indirect labour (supervision, planning, warehouse), freight, scrap " "above the reject allowance and sales commissions. **Treat the adverse column as the honest one " "until those lines exist.**", "**This is a sensitivity, not a forecast.** The plant and business plan calculator, with its own " "cost build-up (it adds electric steam heat and the cutting engineer, which this table leaves " - "out), gives at 850k records: revenue 3.75M, EBITDA 1.68M, operating profit 1.13M USD, payback " - "4.1 years on a mature year; with a ramp of 35, 70 and 90 % in the first three years, cash " - "payback in year ~5.7 and ~13 % IRR over ten years, pre-tax and pre-financing (estimates). " + "out) and the team's faster Duplex planning rate, at which the launch plant is not Duplex-limited, " + "gives at 850k records and 60 % specials: revenue 4.14M, EBITDA 2.07M, operating profit 1.52M " + "USD, payback 3.3 years on a mature year; with a ramp of 35, 70 and 90 % in the first three " + "years, cash payback in year ~4.8 and ~18 % IRR over ten years, pre-tax and pre-financing " + "(estimates). " "Not modelled here: cassette and CD-R lines, stamper supply to " "other plants, dropshipping fees, and the ramp year. BOI tax exemptions shield part of early-year " "profits where there are any.", @@ -571,8 +581,9 @@ def blocks(): "validation gate: regional label conversations, the artist platform's calculator as an interest " "list, a second Thai data point; no large spending before it clears"], ["High", "Utilisation and price", "The cost structure is mostly fixed; the adverse case loses " - "money even at the full volume of three presses (it needs ~1.5M records to cover depreciation)", - "Central breaks even at ~0.3M records; commission in sequence; growth options wait for demand; " + "money even at the full volume of three presses (it needs ~1.1M records to cover depreciation); " + "at 60 % specials the Duplex rate and the extra cost of specials decide volume and margin", + "Central breaks even at ~0.25M records; commission in sequence; growth options wait for demand; " "treat the adverse column as the honest one"], ["High", "Galvanics and cutting on the critical path", "No paying release until the cutting room " "and galvanics make good stampers; a slow start there delays every press", "Commission the " diff --git a/docs/equipment/pressing-line.md b/docs/equipment/pressing-line.md index 471e1b7..0e3d0c5 100644 --- a/docs/equipment/pressing-line.md +++ b/docs/equipment/pressing-line.md @@ -114,7 +114,12 @@ automated candidate). What it means: to ~1.8 MW of cooling, so boiler, chiller and grid connection would be a phase of their own ([scale](../scale.md)). The Payap scenario model in FreeCAD still draws the earlier layout (two Duplex bays and eleven - Classic positions). + Classic positions). The specials share is planned at 60 % and more + ([revenue model](../finance/revenue-model.md)); specials run only on the + Duplex systems, so at that share the Duplex presses set the output of + the launch plant and of the full hall, and a hall balanced by output + would give them ~70 to 75 % of the floor (estimate, + [scale](../scale.md#production-capacity)). - **Capacity** at maturity stays at ~1.0 to 1.5 million records a year on two shifts, the range the [revenue model](../finance/revenue-model.md) uses: four semi-automatic presses at 60 to 80 records an hour (estimate) diff --git a/docs/finance/revenue-model.md b/docs/finance/revenue-model.md index 22701eb..1ca40be 100644 --- a/docs/finance/revenue-model.md +++ b/docs/finance/revenue-model.md @@ -451,7 +451,18 @@ standard/color mix: - **Blended pressing price: ~3.50 to 4.60 USD per record** (~115 to 150 THB) — pressing, labels, inner sleeve, assembly into customer-supplied or locally-made jacket; deluxe packaging passed - through at cost plus margin + through at cost plus margin. That blend holds at ~20 % specials + (standard 3.40 / 3.80 / 4.25 USD plus the 0.60 / 1.15 / 1.70 colour and + splatter premium on a fifth of the records). +- **Specials share: 60 % and more (decided October 2026).** The plant + focuses on special prints (splatter, marble, colour effects), not mono + colours, so the plan takes 60 % specials: the blend rises to **~3.76 / + 4.49 / 5.27 USD** (adverse / central / favourable). Specials run only + on the Duplex systems (the Classic has one built-in extruder), which + makes the Duplex the launch plant's bottleneck (below). The direct cost + table does not yet carry what specials cost extra (coloured compound, + colour-change purge, trim that only goes back into black), so the gain + is an upper bound until the compound quotes arrive - **Per-title services: ~580 to 1,730 USD per title** (~19,000 to 57,000 THB) for mastering, cutting, stampers, test pressings, at roughly 300 to 600 titles/yr at full capacity @@ -580,16 +591,26 @@ base salaries in that way. The plant now launches with one Newbilt Duplex system and one Classic, with cutting and galvanics in-house from the start ([total investment](total-investment.md#launch-plant-october-2026)). Three -presses make ~0.71 to 0.97 million records a year on two shifts -([scale](../scale.md#production-capacity)), against 1.0 to 1.5 million for -the five-press fleet the full-capacity table below was built for. Same -method and the same three cases, with these changes (all estimates): +presses make ~0.71 to 0.97 million records a year on two shifts at the +earlier ~20 % specials share ([scale](../scale.md#production-capacity)), +against 1.0 to 1.5 million for the five-press fleet the full-capacity +table below was built for. Re-based on **60 % specials** (October 2026), +same method and the same three cases, with these changes (all estimates): -- **Volume** 0.71M / 0.84M / 0.97M records a year. +- **Volume 0.58M / 0.74M / 0.90M records a year.** Specials run only on + the Duplex system, so at 60 % its two presses (60 to 80 records an hour + each, estimate) set the output: 120 to 160 specials an hour carry 80 to + 107 standard records on the Classic, which then runs at about two + thirds of its ~128 an hour. At the team's planning rate (3 a minute per + Duplex system) the launch plant stays balanced at ~0.94 million, which + is what the [calculator](../fleet-calculator.html) shows. +- **Blended price** 3.76 / 4.49 / 5.27 USD: standard 3.40 / 3.80 / 4.25 + plus the specials premium 0.60 / 1.15 / 1.70 on 60 % of the records. - **Direct payroll** stays at 3.7M to 5.4M THB a year (two shifts still need the press, finishing, galvanics, QC and maintenance crews), so - labour per record rises to 0.12 / 0.16 / 0.23 USD and the direct cost to - 1.34 / 1.98 / 2.65 USD. + labour per record rises to 0.13 / 0.19 / 0.28 USD and the direct cost to + 1.35 / 2.00 / 2.70 USD, with no extra cost for specials yet (see the + pricing assumptions). - **Title services**: 200 / 300 / 400 titles at 580 / 1,155 / 1,730 USD, 60 to 70 % contribution after lacquers, styli and nickel. The middle price is the per-title fee of the artist demos (37,836 THB). @@ -601,34 +622,41 @@ method and the same three cases, with these changes (all estimates): | USD/yr | Adverse | Central | Favourable | |---|---|---|---| -| Records | 0.71M | 0.84M | 0.97M | -| Blended price | 3.50 | 4.05 | 4.60 | -| Direct cost | 2.65 | 1.98 | 1.34 | -| Contribution per record | 0.85 | 2.07 | 3.26 | -| Pressing contribution | 0.60M | 1.74M | 3.17M | +| Records | 0.58M | 0.74M | 0.90M | +| Blended price (60 % specials) | 3.76 | 4.49 | 5.27 | +| Direct cost | 2.70 | 2.00 | 1.35 | +| Contribution per record | 1.06 | 2.49 | 3.92 | +| Pressing contribution | 0.61M | 1.83M | 3.51M | | Title-services contribution | 0.07M | 0.23M | 0.48M | -| **Total contribution** | **0.67M** | **1.96M** | **3.65M** | +| **Total contribution** | **0.68M** | **2.06M** | **3.99M** | | Cash overheads | 0.45M | 0.33M | 0.20M | -| **EBITDA** | **0.22M** | **1.63M** | **3.45M** | +| **EBITDA** | **0.23M** | **1.73M** | **3.79M** | | Depreciation | 0.89M | 0.52M | 0.33M | -| **Operating profit** | **-0.67M** | **1.11M** | **3.12M** | -| Revenue | 2.60M (~86M THB) | 3.75M (~124M THB) | 5.15M (~170M THB) | -| Payback on the launch capital (EBITDA, mature year) | never | ~4 yr (3.0 to 5.5 on 4.9M to 8.9M) | ~1.4 yr | +| **Operating profit** | **-0.66M** | **1.21M** | **3.46M** | +| Revenue | 2.28M (~75M THB) | 3.65M (~120M THB) | 5.41M (~179M THB) | +| Payback on the launch capital (EBITDA, mature year) | never | ~3.8 yr (2.8 to 5.1 on 4.9M to 8.9M) | ~1.3 yr | + +At the earlier ~20 % specials share the same table read 0.71 / 0.84 / +0.97M records, revenue 2.60 / 3.75 / 5.15M and EBITDA 0.22 / 1.63 / +3.45M: more specials earn a higher price on fewer records, and the +central EBITDA gains ~0.1M USD a year (more if the Duplex presses run +faster than 60 to 80 an hour, less once specials carry their extra +cost). What it says: -- **The central case works on 216M THB**: EBITDA ~1.6M USD (~54M THB) a - year and operating profit ~1.1M USD (~37M THB) once the plant runs at - volume, and it breaks even on operating profit at about **0.3 million - records a year, a little over a third of capacity**. +- **The central case works on 216M THB**: EBITDA ~1.7M USD (~57M THB) a + year and operating profit ~1.2M USD (~40M THB) once the plant runs at + volume, and it breaks even on operating profit at about **0.25 million + records a year, about a third of its output**. - **The adverse corner cannot pay for itself at any volume the three - presses make**: it would need ~1.5 million records to cover + presses make**: it would need ~1.1 million records to cover depreciation. It stacks the low price, the high cost, the high capital and the high overheads at once; at the central cost and volume the price that covers depreciation is only ~2.7 to 3.0 USD (~90 to 98 THB) a record, below the low price assumed. - **The caveats of the full-capacity table hold here too**: the central - EBITDA margin (~43 %) is far above the 15 to 25 % pressing plants earn, + EBITDA margin (~47 %) is far above the 15 to 25 % pressing plants earn, because the direct cost table leaves out indirect labour, freight, scrap above the allowance and commissions. Price realisation and utilisation decide the result, and the ramp year is not in this table @@ -641,7 +669,10 @@ What it says: ## Operating picture at full capacity (five-press fleet) The fleet this table describes (two Duplex systems and a Classic) is now -a growth option; the launch plant is in the section above. +a growth option; the launch plant is in the section above. This table +keeps the earlier ~20 % specials share and the earlier capex; it is not +re-based (at 60 % specials the five presses are not Duplex-limited, so +the volume holds and the blend rises as in the launch table). Built from the components above rather than asserted. The @@ -704,7 +735,10 @@ profits where there are any; see [boi.md](../boi.md). 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 + cutting, stampers) has software-like margins once the rooms exist. At + the planned 60 %+ specials the Duplex presses' real rate decides the + volume: each extra record an hour on the Duplex adds about 1.7 to the + plant's hourly output at that share - **Regional position**: an Asia-Pacific full-service plant competes on turnaround and freight against EU/US plants for regional labels; pricing power there is unproven and is the single biggest assumption in this diff --git a/docs/fleet-calculator.html b/docs/fleet-calculator.html index e05c849..6d74ee3 100644 --- a/docs/fleet-calculator.html +++ b/docs/fleet-calculator.html @@ -658,7 +658,7 @@ html[data-theme=light] .iso-svg .iso-glint { display: inline; }
The output is what this fleet makes at the set effectiveness and specials share.
- +Splatter, multi-colour and effect records run only on the Duplex, with its EX 35 colour extruder (Newbilt recommends the Duplex for splatter). Black and @@ -2836,7 +2836,8 @@ html[data-theme=light] .iso-svg .iso-glint { display: inline; } "use strict"; // ---------------------------------------------------------------- inputs const S0 = { - mode: "target", target: 850000, spec: 20, grow: "classic", dMin: 1, cMin: 1, + // specials share 60 % (user, October 2026: the plant focuses on special prints, 60 %+) + mode: "target", target: 850000, spec: 60, grow: "classic", dMin: 1, cMin: 1, dFleet: 1, cFleet: 1, shifts: 2, hrs: 8, days: 300, eff: 65, rateD: 3, rateC: 2, specF: 100, priceStd: 3.8, premSpec: 1.15, titleFee: 1155, cur: "USD", boi: "on", exportShare: 70, capexEnd: "mid", // plant configuration (defaults = the launch plant, total-investment.md October 2026) diff --git a/docs/scale.md b/docs/scale.md index fe83ce0..64671f2 100644 --- a/docs/scale.md +++ b/docs/scale.md @@ -9,9 +9,9 @@ page as real quotes and the site decision land. | Phase | Fleet | Rough output | |---|---|---| -| Launch plant (decided October 2026) | 2 semi-auto (Duplex system 1: EX 50 main + EX 35 colour extruder) + 1 automated (Newbilt Classic), commissioned in sequence, 2 shifts at volume | ~0.71 to 0.97 million records/yr | +| Launch plant (decided October 2026) | 2 semi-auto (Duplex system 1: EX 50 main + EX 35 colour extruder) + 1 automated (Newbilt Classic), commissioned in sequence, 2 shifts at volume | ~0.58 to 0.90 million records/yr at the planned 60 % specials (Duplex-limited); ~0.71 to 0.97 million at ~20 % | | Growth option: second Duplex | 4 semi-auto (two Duplex systems) + 1 Classic, 2 shifts; room reserved, not in the investment | ~1.0 to 1.5 million records/yr | -| Full hall (option) | 4 Duplex systems + 6 Classics, the hall laid out 60/40 for Duplex, 2 shifts | ~3.6 to 4.7 million records/yr (estimate) | +| Full hall (option) | 4 Duplex systems + 6 Classics, the hall laid out 60/40 for Duplex, 2 shifts | ~2.3 to 3.6 million records/yr at 60 % specials, ~3.6 to 4.7 million at ~20 % (estimate) | The [press fleet calculator](fleet-calculator.html) sizes the fleet for any yearly output and specials share, with the people and utilities it @@ -53,6 +53,17 @@ presses and six Classics give 1,250 to 1,410 records/hour gross, ~3.6 to [revenue model](finance/revenue-model.md) nor the investment includes them. +**Specials share 60 % and more (October 2026).** Specials run only on the +Duplex systems, so at 60 % they set the output wherever the Duplex makes +less than 60 % of the fleet's records: the launch plant drops to ~0.58 to +0.90 million (the Classic runs at about two thirds load) and the full +hall to ~2.3 to 3.6 million (the six Classics about half loaded). The +five-press fleet is not affected. At the planning rates of the +[calculator](fleet-calculator.html) (3 a minute per Duplex system) the +launch plant stays balanced at ~0.94 million. A hall balanced by output +at 60 % specials would give the Duplex systems ~70 to 75 % of the floor +(estimate), e.g. five Duplex bays and four Classic positions. + **The 60–70% effectiveness assumption is worth challenging, but not yet changing.** Newbilt publishes ≥95% yield and ≥95% uptime for the Classic 12" automatic at a 28 s cycle (~128 records/h), and quotes ~30 s average