# Part Number Keyspace Capacity Calculator

> Source: https://netray.co/tools/part-number-keyspace-capacity-calculator
> Publisher: Netray (netray.co), AI and integration engineering for ERP and manufacturing systems.
> Section: Free Tools

## Short answer

Test a part numbering scheme before you adopt it: total capacity, usable numbers after reserves and years until exhaustion at your growth rate.

## Category

engineering-plm

## Audience

- Engineering manager
- MDM lead
- Configuration manager
- ERP administrator

## Tool

**Kind:** calculator

**Inputs:**

#### Characters allowed in each serial position

**Key:** alphabet

**Type:** select

**Default:** 10

**Options:**

##### Digits only (10)

**Value:** 10

##### Letters excluding I and O (24)

**Value:** 24

##### Digits plus letters excluding I and O (34)

**Value:** 34

##### Digits plus all letters (36)

**Value:** 36

#### Serial positions per class

**Key:** length

**Type:** slider

**Default:** 6

**Min:** 2

**Max:** 10

**Step:** 1

**Unit:** chars

#### Prefix classes or families

**Key:** classes

**Type:** number

**Default:** 40

**Min:** 1

**Step:** 1

**Unit:** classes

**Help:** Number of distinct prefixes, each with its own serial range.

#### Reserved or skipped share of each range

**Key:** reserve_pct

**Type:** slider

**Default:** 20

**Min:** 0

**Max:** 90

**Step:** 5

**Unit:** %

**Help:** Ranges held back for customer-specific, test or legacy numbers.

#### Part numbers already issued

**Key:** used

**Type:** number

**Default:** 85000

**Min:** 0

**Step:** 1000

**Unit:** numbers

#### New part numbers per year

**Key:** new_year

**Type:** number

**Default:** 6000

**Min:** 1

**Step:** 100

**Unit:** per year

#### Annual growth in issuance

**Key:** growth

**Type:** number

**Default:** 5

**Min:** 0

**Max:** 100

**Step:** 1

**Unit:** %

**Outputs:**

#### Numbers per class

**Key:** per_class

**Expr:** pow(alphabet, length)

**Format:** number

#### Total capacity, all classes

**Key:** total

**Expr:** per_class * classes

**Format:** number

#### Usable after reserves

**Key:** usable

**Expr:** total * (1 - reserve_pct / 100)

**Format:** number

**Primary:** true

#### Numbers left per class (average)

**Key:** remaining

**Expr:** max(0, per_class * (1 - reserve_pct / 100) - used / classes)

**Format:** number

#### Years until the scheme is full

**Key:** years

**Expr:** if(gt(growth, 0), ln(1 + remaining * (growth / 100) / (new_year / classes)) / ln(1 + growth / 100), remaining / (new_year / classes))

**Format:** years

**Primary:** true

**Chart:**

#### Years to exhaustion vs serial length

**Type:** line

**X:** length

**From:** 2

**To:** 10

**Steps:** 9

**Series:**

- years

**Disclaimer:** Assumes issuance and existing usage spread evenly across classes. In practice a few busy classes run out first, so check your fullest class separately.

## Content

**Intro:** Part numbering schemes fail slowly and then suddenly, usually in a busy class that was given too few digits. This calculator tells you how many numbers a scheme can issue and how many years it will last before you have to change a field length or rework the format.

**Sections:**

#### How to use it

**Body:** Pick the character set allowed in the serial portion. Excluding the letters I and O, which are easily confused with 1 and 0, leaves 24 letters, or 34 characters with digits. Enter the number of serial positions per class and how many prefix classes exist. Reserve a share for ranges you intentionally skip, such as customer-specific numbers or test ranges. Then add what you have already issued and the annual rate, plus growth. The result is the years left on a per-class average basis, so test your most active class separately by setting classes to 1 and entering its figures.

#### The method

**Body:** Capacity per class is the alphabet size raised to the number of serial positions, and total capacity multiplies by the number of classes. Usable capacity subtracts the reserved share. With a growth rate g and starting annual issuance n, cumulative numbers after t years equal n times the quantity one plus g to the t, minus one, divided by g. Solving for t gives the natural log of one plus remaining times g over n, divided by the log of one plus g. With zero growth, it reduces to remaining divided by annual issuance. The chart shows each added position multiplies capacity by the alphabet size, so one extra digit extends life dramatically.

**Bullets:**

- Capacity = alphabet^length x classes
- Years = ln(1 + remaining x g / n) / ln(1 + g)
- Zero growth: years = remaining / annual issuance

#### Design guidance

**Body:** Short, non-significant numbers avoid the need to renumber when a part changes category, which is the main failure of significant schemes. If you embed meaning such as material or family in the number, expect uneven fill across classes and plan for overflow ranges. Also check external limits: field lengths in the ERP, label barcodes, supplier EDI formats and legacy interfaces may cap the length well below what you would like. Avoid look-alike characters, leading zeros that spreadsheets strip, and separators that downstream systems reject. Document the scheme so that new engineers do not invent exceptions.

**Cta:** If you are consolidating several numbering schemes after an acquisition, Netray can help map and propose cross-references from your ERP data, with your team approving every mapping.

**Faq:**

#### Should part numbers be significant or non-significant?

**Answer:** Most modern guidance favors non-significant numbers for the primary identifier, with classification held in attributes. Significant numbers are easy to read but break when a part is reclassified, and they fill unevenly.

#### Why exclude the letters I and O?

**Answer:** They are easy to confuse with the digits 1 and 0 when read from a drawing, label or handwritten note. Excluding them reduces transcription errors at the cost of a slightly smaller alphabet.

#### What reserve share is sensible?

**Answer:** Ten to thirty percent is common. Reserve for pre-release or test numbers, customer-assigned numbers, and gaps from cancelled requests that you choose not to reuse.

#### Can I reuse retired part numbers?

**Answer:** Generally no. Historical orders, certificates, serial genealogy and supplier records reference the old number, so reuse creates traceability ambiguity. Regulated industries typically prohibit it outright.

## Search terms

part numbering scheme capacity, how many part numbers can i create, significant vs non significant part numbers, part number length calculator, item number format design, part number scheme run out, part number keyspace

---
Talk to an engineer: https://netray.co/contact?intent=erp_ai | Machine catalog: https://netray.co/agent/catalog.json
