Skip to main content

Number

A primitive Value Type for lossless numeric values without a physical unit or monetary denomination.

type: data-model · status: draft · abstraction: instance

What it is​

Number stores a finite, lossless decimal without a physical unit or monetary denomination. It covers counts, ratios, percentages, multipliers, scores, sequence positions and abstract indices. Property configuration may constrain the value to integers, set minimum and maximum values, limit decimal places and control presentation.

Percentages use Number rather than Measurement. They are stored canonically as decimal ratios: 25% is stored as 0.25 and rendered as 25%. Presentation never changes the stored value. Counts normally use an integer constraint; ratios and multipliers normally allow decimals.

Number must not be used to disguise semantic quantities. A physical or operational quantity that carries a convertible unit uses Measurement, while a monetary amount uses Money. Cosmetic formatting cannot turn a Number into either type.

Why it exists​

Many manufacturing and business values are numeric without being measurements or money: defect counts, completion ratios, waste percentages, multipliers, priority scores and sequence positions. A single configurable Number primitive handles these consistently without multiplying the core into separate Integer, Decimal and Percentage types.

Lossless decimal storage avoids binary floating-point errors in calculations. Explicit constraints make invalid values rejectable, while canonical percentage encoding lets formulas treat 25% naturally as 0.25. Keeping units and monetary denominations outside Number preserves the semantic contracts needed for conversion, aggregation and cross-tenant exchange.

Relationships​

Outgoing

Neighbourhood​

Stakeholder summaries​

  • Product — Provides one configurable numeric field for counts, ratios, percentages, scores and sequence positions, with integer, range, precision and display controls.
  • Investor — A single constrained numeric primitive keeps the core small while preserving the semantic boundary around physical quantities and money.
  • Marketing — Capture counts, percentages, ratios and scores with clear validation and consistent formatting.
  • Engineering — Stores finite values using a lossless decimal representation. Property configuration governs integer mode, bounds, decimal places and percentage presentation; 25% is stored canonically as 0.25.