The One True Part Number System

The debate around part number systems is often reduced to a pitched battle of absolutes, pitting the cold simplicity of the Generic Numbering Coalition (GNC), against the historically focused Confederacy of Intelligent Numbers (CIN). There’s no shortage of arguments about one approach over the other. But you don’t have to play that game; there are always other possibilities. Let’s understand why.


The GNC was founded on the philosophy that part numbers are inconsequential. Part numbers are merely unique markers that point to a collection of metadata, and people shouldn’t bother with them. Let the machines do the work, keep humans and their fat-fingering ways out of the loop. After all, even the most elaborately designed intelligent part-numbering system is a temporary triumph, which will succumb to degradation, confusion, and irrelevancy over time.

CIN, on the other hand, upholds a humanistic appreciation of history. Part numbers are important; they will always be the subject of conversation, collaboration, and argument between humans and not systems. And to facilitate those interactions, part numbers must provide some system-independent context in of themselves because there comes a time we have to look up from our screens and communicate one on one. The only way to build such a context is to architect a recognizable system, and one that lasts.

Which System is Best?

Neither. Both approaches are myopic because they are extremes that wholly ignore the other’s chief advantage. A balance is needed. A hybrid methodology. But it’s much more than just crafting a semi-intelligent system and calling it a day. In order to understand precisely why, consider the following engineering realities:

  1. Defining a part number should never be an obstacle.  An idea should not be derailed merely because a person has to sit around and think about what a number should be or how to get it properly assigned.
  2. Flexibility is Key.  This is especially important for new design. Sometimes you don't know what you're building until you build it. Don't force decisions that don't have immediate answers. If your part numbering system has rigid classification you may find yourself stuck. The most resilient rules are not absolutes, but can bend when the situation requires.
  3. You should be able to remember several part numbers.  If you can't, then congratulations -you've built a system to welcome our new robot overlords, but not for people to use.
  4. Realize the system is not ubiquitous.  Relying on the system for certain information is necessary, but understand there will always be gaps in the system. We tend to oversell the utility of mobile tablets, phones, etc. in this regard. The reality is we’re going to talk about parts in dark corners devoid of technology.  In the hall, on a phone, under a plane, in an adhoc meeting sidebar, or in the vice president’s office. In none of these situations does everyone in the room have the luxury to sift through a device and sort some classification, just to tell two numbers apart. It's best to think of it almost from a military standpoint - what do you need when you're pinned and comms are down?
  5. Out of the Box (OOTB) tool behavior or current systems should not limit your solution. You need to fight the limitations to balance your objectives. But only if it makes sense.

But how do we incorporate all of this into something viable?  Here's a thought: how about creating an evolutionary system:

  • Use a temporary pool of simple numbers to remove obstacles when working fast and loose, especially in early-stage design.
  • Allow for easy re-identification (you'll have to fight the tool here).
  • Design gaps in numbering to permit grouping some numbers together when it makes sense to do so.
  • Let the numbers evolve as the design matures, and solidify those numbers into something that is meaningful through a release process.
  • Construct them with just enough information and structure for readability, keeping digits in groups of 5 or less.
  • Weigh each piece of intelligence carefully, and focus on properties that are both a) useful and b) immutable.
  • Consider three bits of information a maximum and not a goal.

So, what do you think?

If you can balance the above guidelines just right, you might have a winner on your hands. Of course, some of you may have your doubts. Perhaps you're a strong proponent of one side of the debate or the other. You probably have stories to tell, then. Feel free to share them in the comments.

guide to CAD file managementThe Next Generation of PDM  

More teams are using Cloud, Analytics, Mobile, and Social tools to speed up product development. Independent analyst firm, Consilia Vektor, explains how this changes Product Data Management (PDM) as you know it and how this can help your team work smarter.

guide to CAD file management





  • JeffMirisola

    No. Just no.
    All you’ve done here is add in layers of management to, ultimately, get to an intelligent numbering system which, in the end, is destined to fail on some front.
    Let’s step back and look at it from a different angle: I just got a job at XYZ Corp working on a project and I know that I need a 1/2″ thick UHMW wear pad. The most logical thing for me to do is go into whatever MRP/ERP system the company has and look up ‘wear pad’. I certainly wouldn’t pull out whatever cipher was given to me so that I could go through all the codes to find out if such a part already existed. So, given that logic, I don’t care about the part’s number, I care about its description and the two shouldn’t be the same – i.e. the part number shouldn’t be some cryptic description, that’s what the description is for. Granted, this requires some sort of intelligence in the company’s naming convention (Noun, adjective, further descriptor), but that’s a lot easier to deal with than some alpha-numeric code that requires a code breaking class at Quantico.
    I realize that some people have differing opinions and, like me, they aren’t going to be talked into going to the other side, and that’s fine. I just know that I will forever find intelligent part numbers to be dumb.

    • Wayne E

      I am on the fence a little here but one of the companies I worked for had not numbering system or PDM system in place. Someone would come and ask for a drawing of the shaft from machine XYZ. How the hang would I find that exact shaft? If they came to me and said I need the drawing for part number T520-121, now that anyone can find with out debating whether it should be termed a shaft or a rod, or knowing where it is from, etc…. Most PDM and CAD systems need unique file names, how do you achieve this if you description and part number are the same and how do you keep them from becoming too long. In a way what you are suggesting is an intelligent numbering system but just without the numbers aren’t you?

      I can’t call all shafts “shaft” so then I add something like the dia but then more then one shaft will have the same dia so now I add length and so it goes on until I have a file name that is too long to read…..

      eg, “shaft – Ø20 – 500 – tapped M6 both ends with Ø8 through holes ….. ”

      Perhaps I am missing your point but I don’t quite understand how you would manage your CAD files efficiently using this method. Perhaps you could elaborate a little?

      • JeffMirisola


        My CAD files would all have unique numeric part number, which allows them to play nicely with a PDM system. It would also play nice with the majority of ERP systems.
        As for the part description:
        In your example, I suspect such a shaft would be used in a specific area. For instance, let’s say that it’s used as an axle in a line of products. I would then name it: Axle, Ø20 x 500, .

        Should the use of the axle be expanded to other lines/products, an engineering change request can be written up to ammend the name.

      • Wayne E

        Thanks for the explanation Jeff. That makes more sense now. I initially assumed your parts had no part numbers at all and instead were only saved by a description. Crazy as it may sound, I have seen it (Chaos…)
        The tricky part with your suggestion is developing some sort of structured naming convention which all users are easily able to adopt. In your example above, you may refer to your part as a wear pad but I might think of it as a friction pad so it can still be a little tricky.
        It is however more logical that trying to decipher some cryptic part number.

  • Great piece Ed, especially the point that a balance is needed.
    As a system integrator, I am a GNC advocate. But I accept history and established work processes and it is more important to pick the fights where processes can be improved and where they can be won. Usually it helps to distinguish what is needed to classify/characterize a part and what is needed to identify it. A discussion around the difference and the concepts behind will lead to a balance.
    One of my golden rules: “Never question smart numbers when the number system inventor is in the room.”
    PS: I’m constantly afraid to meet a smart number system one day what is smarter than I. ;-)

  • Wayne

    No. Just no. Re-naming an intelligent numbering system “evolutionary”, is still an intelligent numbering system. There is no reason to maintain any intelligent numbering system with today’s technology. Even the most simplified “semi”
    intelligent number systems require some level of training and have some
    limitation that limits complete flexibility requiring consideration in the
    design stage. Why add that cost to your operation when you don’t have to?

  • I’m with the folks that say you are making a mistake. You are creating a layered intelligent part number system. A few items for consideration.
    -Keystroke errors are proportional to keystrokes! There is no way around this. Part numbers should be as short as possible.
    -The way to optimize this is to start with part number 1. (When I set up the part number system that runs iRobot, we had a part number 0.) Next number is 2. Not 00002.
    -This makes them easy to remember.
    -Part numbers are free. They should be easy to get any time and thrown out without hesitation and replaced with another.

    Descriptions MUST be formatted. JeffMirisola’s format is the same as the one that I use. Not just serendipity I would wager. When you want a part search by description. Enter parts by part number and check that you get the correct description.

    Intelligent part numbers or layered systems so often end up the dominion of a single person. Like it or not. Yours will suffer the same I expect. Keep trying though.

  • Josh M

    What you’re saying is just name a part xxx-x until you know where it’s going. SolidWorks and other systems do this with virtual parts. What you want is a logical naming/numbering system and hopefully software that indexes all input/meta data. Generic parts get generic names/numbers, project specific parts get project specific names/numbers. Could it be a standard? Generic part/number. Is it one-off or could it be reused/reconfigured? Project name/number. It doesn’t have to be the same across industry/company. For standards created across industry, those standards will be used and we’ll req/order them by their part number.