What Changed
Summary of cost model and pricing enhancements through v1.3.0
We've made several improvements to how production costs are modeled and how pricing is displayed throughout the quoting system. Here's the quick version:
- Modeled costs — A new smoothed production cost based on curve fitting, replacing raw actuals for quoting. Eliminates misleading costs from low-volume gauges.
- Cost curve analysis — Visual scatter plot with polynomial regression, automatic outlier detection, and one-click saving.
- GP/Hr indicator — Phil's gross-profit-per-uptime-hour metric is now shown everywhere pricing appears: pricing modal, line items table, pricing breakdown, and cost model page.
- Volume breaks — Single line item can now generate multiple price tiers (TL, 1/2 TL, 1/4 TL, 1 HU) on the PDF automatically, with configurable profiles for Line 101 Gaylord, Line 2 Gaylord, and 1-Roll Box packaging.
- Manual cost lookup — Cost model lookup is now a deliberate action (click "Lookup cost" then "Apply") rather than auto-populating on field change.
- Dedicated pricing modal — Pricing is now done in a separate modal from line item editing, with cost model lookup, base pricing, cumulative adjustments, and a running summary showing effective margin and GP/Hr.
- Base family fallback — Modification-level families (e.g., 3996.1, 3996.2) automatically fall back to the base family (3996) cost curve when no specific cost model exists.
- Tolerance overrides — Default tolerances from Fuse are shown on each line item. An Edit button opens a modal to set custom gauge/width tolerances, flagged as NON-STANDARD.
- ASTM D1056 auto-fill — Mat Spec field auto-resolves the ASTM D1056 callout based on product family code.
- Workflow redesign — New status flow separates line item creation from pricing. See Quote Flow below.
- Sheet product support — Line items can now be quoted as sheets (not just rolls), with sheet dimensions in inches or meters, sheets-per-box auto-suggest, and stack height validation.
- Customer PDF preferences — Each customer can have specific price columns enabled on their PDF ($/SF, $/LF, $/Roll, $/SqM, $/M). SF is always shown per Phil's requirement.
- Special notes on PDF — Free-text notes that appear between the pricing table and standard notes on the quote PDF.
- SOP tracking — Won quotes now track Start of Production date, with warning badges for missing SOP and filterable in the quote log.
- Per-quote bulletin approval — Technical bulletins not yet approved for release can be individually approved/rejected per quote through the existing approval workflow.
- Tier markup display — Volume break tiers now correctly show +3%/+5%/+8% markups (not discounts) in the pricing modal.
Actual Cost vs. Modeled Cost
Two views of production cost, one table
Every cost model entry now has two cost values:
| Column |
What It Is |
When to Use |
| Actual cost |
Raw production cost from real production data. Sum of labor, material, overhead, etc. divided by board feet produced. |
Historical reference. Good for understanding what actually happened. |
| Modeled cost |
Smoothed cost from the curve fit. Removes noise from low-volume gauges and statistical outliers. |
Primary cost for quoting. The system prefers this when pricing line items. |
Why this matters: A gauge like 12mm on Line 101 might show $4.57/BdFt actual cost because it only ran a few times. But looking at the full thickness curve (5mm through 40mm, hundreds of runs), the modeled cost is around $1.35/BdFt. Quoting at $4.57 would price us out of every job.
Setting Modeled Costs
Two ways to set modeled costs:
- Curve fit tool (preferred for families with enough data) — Open the chart on the cost model page, review the fit, and click "Save modeled costs."
- Manual entry (for families with sparse data) — Click the modeled cost cell in the table to type a value directly.
Use the "Missing modeled cost" filter to find entries that still need a modeled cost assigned.
Heads up: When a line item is priced using only an actual cost (no modeled cost available), the system shows an orange warning. This means someone should review that entry on the cost model page.
Cost Curve Analysis
Visual tool for reviewing and fitting production costs
The cost curve analysis tool (click "Show chart" on the cost model page) plots actual production costs against thickness for a given family/line/skin combination.
How It Works
- Select the product family, line, and skin type from the dropdowns.
- The chart shows actual costs as blue bubbles (larger = more production volume).
- A green curve is automatically fitted through the data using polynomial regression.
- Orange circles mark outliers that were automatically excluded from the fit (using IQR analysis on residuals).
- Statistics show R² (goodness of fit), number of points, degree, and thickness range.
Controls
- Fit degree — Linear (1) through Quartic (4). Default is Quartic (4), which captures the U-shaped cost curve typical of foam extrusion (thin and thick gauges cost more, sweet spot in the middle).
- Weight by volume — When checked, high-volume gauges have more influence on the curve. Recommended.
- Show outliers — Toggle outlier visibility on the chart.
Saving
Click "Save modeled costs" to write the curve-fit values back to each cost model entry. The curve coefficients are also saved for use in interpolation (when a quoted thickness falls between existing entries).
Good fit indicator: R² above 0.85 = "Good fit" (green badge). Below that, consider adjusting the degree or reviewing the data for issues.
GP/Hr (Gross Profit per Uptime Hour)
Phil's preferred profitability metric, now visible throughout the system
GP/Hr tells you how many dollars of gross profit a product generates per hour of machine uptime. It's the key metric for comparing products that use different amounts of machine time.
Line Cost Constants (2025 Actuals)
| Line |
Cost/Hr |
Uptime Hours |
Total Cost |
Avg Margin |
Avg GP/Hr |
| Line 101 |
$3,300 |
1,432 |
$4.73M |
29.4% |
$1,415 |
| Line 2 |
$975 |
817 |
$0.80M |
34.4% |
$417 |
Key insight: Cost per hour is essentially constant across all gauges on a given line. The oven costs the same per hour whether you're running 5mm or 50mm. What changes is throughput (board feet per hour), which is already baked into the $/BdFt cost.
Where You'll See GP/Hr
- Pricing modal — Live indicator in the running summary. Updates as you change margin % or add adjustments. Shows the dollar value and whether it's above/below the line's 2025 average.
- Pricing breakdown table — ~GP/Hr column for each line item, color-coded.
- Line items table — ~GP/Hr column on the right side of the table, color-coded.
- Cost model page — ~GP/Hr column in the table.
Color Coding
| Color |
Meaning |
Line 101 |
Line 2 |
| Green |
Above 2025 average |
> $1,415/hr |
> $417/hr |
| Yellow |
50–100% of average |
$708 – $1,415/hr |
$209 – $417/hr |
| Red |
Below 50% of average |
< $708/hr |
< $209/hr |
Important: GP/Hr is labeled "~approx" throughout the system. It's based on 2025 line cost averages and is meant as a directional indicator, not a precise calculation. Margin % remains the primary pricing metric. GP/Hr helps evaluate machine-time profitability but should not be the sole basis for pricing decisions.
Quick Reference Examples
| Line |
Margin % |
GP/Hr |
Assessment |
| Line 101 |
20% |
$825 |
Below avg, but within range |
| Line 101 |
30% |
$1,414 |
Right at average |
| Line 101 |
40% |
$2,200 |
Well above average |
| Line 2 |
20% |
$244 |
Below avg, but within range |
| Line 2 |
35% |
$525 |
Above average |
| Line 2 |
10% |
$108 |
Red flag — low margin + low GP/Hr |
Volume Breaks
Multi-tier pricing on a single line item
When a customer wants to see pricing at different release quantities, you no longer need to create separate line items. Enable Volume Breaks on a single line item and the PDF will automatically expand it into multiple rows.
Volume Break Profiles
Roll counts per tier depend on the packaging type. Three default profiles are configured:
Line 101 Gaylord (4 rolls/gaylord)
| Tier | Rolls | Description |
| TL (Truck Load) | 104 | 26 gaylords × 4 rolls |
| 1/2 TL | 52 | 13 gaylords |
| 1/4 TL | 26 | ~6.5 gaylords |
| 1 HU | 4 | 1 gaylord |
Line 2 Gaylord (8 rolls/gaylord, double-stacked)
| Tier | Rolls | Description |
| TL | 208 | 26 gaylords × 8 rolls |
| 1/2 TL | 104 | 13 gaylords |
| 1/4 TL | 52 | ~6.5 gaylords |
| 1 HU | 8 | 1 gaylord |
1-Roll Box (6 boxes/skid)
| Tier | Rolls | Description |
| TL | 66 | 11 skids × 6 boxes |
| 1/2 TL | 36 | 6 skids |
| 1/4 TL | 18 | 3 skids |
| 1 HU | 6 | 1 skid |
Profiles are configurable in Settings → Volume Breaks.
How to Use
- In the line item modal, check "Volume breaks".
- Select a profile (auto-selected based on production line when possible).
- Choose which tiers to include (TL, 1/2 TL, 1/4 TL are checked by default).
- Save the line item.
- On the PDF, this single line item becomes 3–4 rows, each showing the tier label and roll count from the selected profile.
Line items with volume breaks show an orange VB badge in the line items table.
Tier Pricing (Markup Structure)
Volume break pricing uses markups for smaller quantities relative to the TL (Truck Load) base price:
| Tier | Markup | Meaning |
| TL | Base price | Full truck load — no markup |
| 1/2 TL | +3% | Half truck load |
| 1/4 TL | +5% | Quarter truck load |
| 1 HU | +8% | Single handling unit |
These markups are configurable per quote in the pricing modal. The pricing modal shows each tier with its markup percentage and calculated price. Smaller quantities cost more per unit because of setup and handling overhead.
Important: These are markups (price goes UP for fewer rolls), not discounts. The TL price is the base, and smaller quantities add a percentage on top.
Updated Quote & Pricing Flow
Two-phase workflow: line items first, then pricing
Status Flow
Quotes now follow a defined status progression:
- New Request — Add line items, customer requirements, packaging, follow-up schedule, and volume break tiers. Pricing fields are hidden during this phase. Core sizes default to 6" (Line 101) or 3" (Line 2).
- Pricing / Feasibility — Click "Move to Pricing" to transition. A blue guidance banner shows how many items still need pricing. The Pricing breakdown section shows each line item with a "Set pricing" button that opens the dedicated Pricing Modal (cost model lookup, base pricing, adjustments, running summary). Feasibility review runs in parallel.
- Awaiting Approval — Quote is priced and ready for review. Before submitting, the system validates that customer requirements are reviewed and follow-up schedule is set. If requirements are non-standard, a completed feasibility review is also required.
- Approved — Ready to Send — Quote has been approved. The "Send quote" button is now enabled.
- Sent — Quote PDF has been emailed to the customer.
- Follow-up — Awaiting customer response per the follow-up schedule.
- Closed — Won, Lost, No Response, or Reference.
Key change: The "Send quote" button is greyed out and disabled until the quote reaches "Approved" status. This ensures all quotes go through the approval step before being sent to customers.
Kanban Board
The board now shows 5 columns: In Process, Awaiting Approval, Ready to Send, Sent, and Follow-up Needed.
Pricing Modal (during Pricing phase)
Pricing is now done in a dedicated modal separate from the line item editor. Click "Set pricing" on any line item in the Pricing breakdown section.
- Click "Lookup cost" — the system searches the cost model using the line item's specs:
- Modeled cost (green) with the actual cost shown smaller for reference
- Or actual cost only (orange warning) if no modeled cost exists
- Modification families (3996.1, 3996.2, etc.) automatically fall back to the base family cost curve
- Click "Apply" to load cost, margin, and price into the base pricing fields.
- Edit margin to recalculate price, or edit price to recalculate margin. Set a lot charge if applicable.
- Add price adjustments (volume, strategic, market, complexity, etc.) with a percentage or $/BdFt amount. Adjustments stack cumulatively on the base price.
- The running summary shows the effective price after adjustments, effective margin, and GP/Hr in real time.
- Click "Save Pricing" to save.
Approval validation: Before submitting for approval, the system checks that customer requirements are reviewed, a follow-up schedule is set, and (if requirements are non-standard) a feasibility review is complete. All line items must also be priced.
Quick Reference
Formulas and constants at a glance
Constants
| Parameter | Line 101 | Line 2 |
| Cost/Hr | $3,300 | $975 |
| 2025 Avg Margin | 29.4% | 34.4% |
| 2025 Avg GP/Hr | $1,415 | $417 |
| 2025 Uptime Hours | 1,432 | 817 |
| Source | 2025 3996 Family production data |
Update frequency: Line cost/hr constants should be refreshed annually or when significant cost changes occur. The current values are based on 2025 actuals. Contact Josh if the values need updating.