Sign OS blog
The Math Behind a Signage Quote: Area, Perimeter and Units

Almost every signage price starts with one of two numbers: how much face area the job covers, or how many linear metres of edge, trim or channel it runs. Get those two numbers right and the rest of the quote — material, print time, labour — falls out of them. Get them wrong and every downstream figure is wrong too.
This is a plain-English walk through the geometry Sign OS uses to turn a width and a length into a priced quote. It is deterministic: the same dimensions always produce the same numbers, because the engine runs pure arithmetic with no rounding surprises and no hidden fudge factors. That is exactly what makes it safe to defend a price to a customer.
The three numbers every quote is built on
Sign OS works in millimetres internally (the unit sign shops actually measure in) and converts to the billing unit at the moment it prices a line:
area (m²) = (width_mm × length_mm) ÷ 1,000,000
perimeter (mm) = (width_mm + length_mm) × 2
linear metres (m) = length_mm ÷ 1000- Area is for anything priced by the square metre: printed media, substrate, laminate, application tape.
- Perimeter is for anything that follows the edge of the sign: LED rope, trim cap, framing, fabrication of a tray.
- A single edge (just the width, or just the length) is for runs like a fascia band or a length of channel, billed straight in metres.
Worked example: a 2400 × 1200 panel
Take a standard panel, 2400 mm wide by 1200 mm tall.
| Quantity | Formula | Result |
|---|---|---|
| Area | 2400 × 1200 ÷ 1,000,000 | 2.88 m² |
| Perimeter | (2400 + 1200) × 2 = 7200 mm ÷ 1000 | 7.2 lm |
| Width as a run | 2400 ÷ 1000 | 2.4 m |
Every material and process line on the quote reads from these same three numbers, so a laminate line and a print line for the same panel can never disagree about how big it is.
Where the ratios come from
Notice the ÷ 1,000,000 and ÷ 1000 above. Sign OS does not hard-code those ratios in the pricing code. They live in a unit_factors table (1 m² = 1,000,000 mm², 1 m = 1000 mm), and every conversion is looked up there. That sounds like a small detail, but it is the reason the engine is trustworthy: there is exactly one place a conversion can be defined, so a quote and a job and a report all convert millimetres the same way.
Two more behaviours worth knowing:
- Results are rounded to four decimal places. 2.88 m² stays 2.88 m²; a fiddly 0.333333… m² becomes 0.3333 m². Enough precision to be fair, not so much that a cent of rounding drift creeps across a big quote.
- The engine uses the first pair of dimensions it has. It prefers width × length; if a job only has width and height (an elevation), it uses those; then length × height. So a quote for a sign described by height and width still gets a correct area — you are never forced to enter a dimension you did not measure.
Quantity is the last multiplier, not the first
Area and perimeter describe one sign. The order quantity multiplies in at the line level, after the geometry: ten of the panel above is 2.88 m² × 10 = 28.8 m² of media, 7.2 lm × 10 = 72 lm of trim. Keeping quantity separate from geometry is what lets Sign OS show a believable per-unit price and a correct line total on the same quote.
Why deterministic geometry matters
Spreadsheet estimating drifts. One estimator divides by a million, another types a rounded m² by hand, a third forgets the sign is double-sided. A deterministic engine removes that drift entirely — the geometry is computed once, the same way, from the numbers you measured. That is the foundation the rest of the quote is built on:
- Turn area and linear metres into material cost in Material Yield and Waste: the Substrate Math.
- Turn area and quantity into machine and labour cost in Machine and Labour Time: How Sign Costing Really Works.
- Turn cost into a defensible sell price in Markup vs. Margin: the Sign Pricing Math Most Shops Get Wrong.
Sign OS is the sign shop MIS that runs this math for you on every line of every quote — so the price you send is the price the geometry actually supports.