EEVblog Electronics Community Forum
General => General Technical Chat => Topic started by: Smokey on April 27, 2016, 04:26:23 am
-
I think quite possibly one of the hardest things I've had to do as a small business person is come up with part numbers for our products. Essentially each product is custom in some way and there are too many aspects that are customizable to encode them all into the part numbers. This coupled with having many product lines means I can't seem to find a system that I can apply across the board.
The worst part is that you can't let not having a part number keep you from selling stuff and making money so I've rushed out a few possible systems now which haven't worked out. So now we have products with odd ball part numbers that don't match the current system (which also sucks in a number of ways).
I'm sure I'll get it right some day. This is more just a rant and a place to hear about other people's part numbering nightmare stories.
-
One good way to encode a lot of variables into a short part number is a system used by Micron for their memory. They just encode everything into a random-looking alphanumerical code and have a tool on their site to decode.
You can see an ordering system that will work the other way around - you make selection and system generates you an ordering number.
You can add parameters later, all your part numbers will look the same. But they will not be descriptive, of course.
-
You could do what IBM has done for the last 50 years or so and use a 4-digit device type code followed by a 3-digit model code:
xxxx-yyy
This 7 alphanumeric system is used for pretty much everything: hardware, software, parts, media, even publications (to some extent).
Version numbers, dates and marketing product names are generally treated separately.
Some iconic product lines like the 3270 Display System have emerged from this simple scheme.
I'm not saying it's the best one, but it has stood the test of time without too much code reuse.
-
Hi
I've done this at least a dozen times over the last several decades. There are no "right" answers. The problem is that you start out assuming that there *is* a perfect / correct solution. If you dig far enough, you will actually find academic papers on this. They ultimately come to the conclusion that different stake holders have different desires. You will never make them all happy.
So, all that said, here is a simple recommendation:
Start with a letter ( A = automobile, S = ship, J = jet airplane). That way you have some vague idea what is being talked about. It's likely that at some level, those products get treated differently.
Next, have a number. Pick some number of digits that make sense. In the example above, three digits probably keeps you going for quite a while. Even if you start with three, you can go to 4 if you have to a decade from now. Each number refers to a specific product. The first one gets 100, the second one gets 101.
Follow that by a letter. This could be optional, but it needs to always be a letter. That way you don't have an issue with a 4 digit number. Normally these are used for revisions (A, B, C). You need some way to have a sub-variation of a product.
Yes, that's pretty simple. It tells you nothing about what a 101 actually is other than what you got from the A,S or J. Does this work for thousands or hundreds of thousands of parts? Yes it does. I'd go to a two digit sub field that splits up hundreds of thousands of parts.
The common alternatives:
1) Totally non-descriptive numbers. The first part gets 1 and the next one you see gets 2 There is no debate about how to classify an automobile that is also a ship.
2) Fully descriptive part numbers. You have N fields in the part number. Each field formally encodes various details of the product. For the A,S,J example, the fields would vary depending on what the first field happens to be. I have seen these things turn into books. The idea is that a customer can exactly describe whatever they want (or sales can do so). The gotcha is that it's *very* easy to come up with bogus part numbers. You then need another book of "valid combinations".
Again, no right, no wrong. You can find very successful examples of each of these. No matter which one you go with, there will be issues. Things will get mixed up. Part number entry errors will happen. When that happens, another system *might* have eliminated that specific error. You never see the errors the system you used prevented :)
Lots of fun
Bob
-
Or use the NATO numbering system, where you have a 5 digit manufactuer code, then a 2 digit alphanumerical, a 3 digit number then a 4 digit number. eg 5420-LU-004-8236 which specifies a manufacturer ( Thompson CSF, now Aerospatiale), then the rest breaks down further to show you it is an aircraft part and its function. I did write that number a good few thousand times, so it is in memory still. As well the spare parts for the unit will also have a part number as well, down to each screw, washer and even the locking wire used to hold them together.
just means a parts list might be a 400 page volume, but it does mean a common part in use between many units is going to have the same part number ( we hope) all the way.
-
It depends on how many parts you have.
We use a "encoded" part number system, so, if for example your company is called "Maniac Electronic Systems" and you want to make a first product, our scheme would consist of "XXX-YYYY", where:
"XXX" is a company name abbreviation, in this case "MES"
"YYYY" is a 4 digit product code
So, the first product would be "MES-0001", then revisions, such as "MES-0001A", "MES-0001B".
-
Great feedback guys. Love it.
My problems are mostly with configuration options and packaging for the actual customer orderable numbers. On top of the million ways to configure each product itself, each product has about a million ways that it can be packaged like by itself, in a box, in a bigger box with a power supply, more than one of them on a plate, more than one on a plate with a power supply, without or without fans on all those....
When I have to work on this stuff they don't let me have sharp objects anymore for fear of stabbing my own eyes out.
It's either a name that's descriptive but so long customers complain, or it's a short set of numbers and then they complain they don't know what it means. Lose lose situation.
-
or it's a short set of numbers and then they complain they don't know what it means.
Depends on how fast they need to know or how many parts they need to look up at the same time.
Here is Micron decoder - https://www.micron.com/support/fbga (https://www.micron.com/support/fbga) . There is a sample part for you to try.
-
Oh man. Last thing I want to do is keep track of two sets of linked numbers.
-
Oh man. Last thing I want to do is keep track of two sets of linked numbers.
You don't have to. 6 alphanumerical characters give you 2,176,782,336 possible combinations. Each digit in the number can represent a model number, an option, etc.
Combine all options into a long ordering code and convert it to base 36 to get a public one. Your public codes are short, but you instantly can unwrap them to all options and variations internally.
Same goes for ordering. Give customer ability to select any options they like and the system will generate the ordering code, which will be unique and you don't need to know it ahead of time.
-
Oh man. Last thing I want to do is keep track of two sets of linked numbers.
You don't have to. 6 alphanumerical characters give you 2,176,782,336 possible combinations. Each digit in the number can represent a model number, an option, etc.
Combine all options into a long ordering code and convert it to base 36 to get a public one. Your public codes are short, but you instantly can unwrap them to all options and variations internally.
Same goes for ordering. Give customer ability to select any options they like and the system will generate the ordering code, which will be unique and you don't need to know it ahead of time.
You may be on to something. Hmm... Gotta think about that one.
-
You could add sub numbers,
like XYZ12345-02 Rev A
-
I would add one digit as a sort of checksum or crc at the end just to make sure all the numbers are correct.
-
NO!
Do not have part numbers with meaning. This is crazy. The part/SKU/whatever number is for an index. You will not be able to maintain consistency and you can not deal with parts that have multiple categories.
If it's an assembly, have a model name and a part number.
Or use the NATO numbering system
Yes. Item name codes with groups and classes are good categorising system. But it is strict. And hard. There are alternative sub-sets commonly used in different industries. Mining comes to mind.
http://www.nato.int/structur/AC/135/ncs_guide/english/e_1-6-1.htm (http://www.nato.int/structur/AC/135/ncs_guide/english/e_1-6-1.htm)
where you have a 5 digit manufactuer code, then a 2 digit alphanumerical, a 3 digit number then a 4 digit number.
Sort of. There are many of these (potentially) per part. This is why it works. You first identify the machine screw accurately, then you can find the Cat and Komatsu part numbers an assign them to the part, thereby stocking the same item only once. Your part number must be meaningless.
Oh man. Last thing I want to do is keep track of two sets of linked numbers.
Are you serious? That's what your inventory system does. How do you find a digikey part? Not by their number, right? You find it by the parameters they have recorded for it. That is how you do it.
-
I would add one digit as a sort of checksum or crc at the end just to make sure all the numbers are correct.
Yes.
Buy less important with immediate validation by your computer system these days. There are a number of single digit options for which are good at different levels of transposition.
-
6 alphanumerical characters give you 2,176,782,336 possible combinations. Each digit in the number can represent a model number, an option, etc.
Combine all options into a long ordering code and convert it to base 36 to get a public one. Your public codes are short, but you instantly can unwrap them to all options and variations internally.
Same goes for ordering. Give customer ability to select any options they like and the system will generate the ordering code, which will be unique and you don't need to know it ahead of time.
;D Clever.
But unnecessary and certainly going to cause you a maintenance nightmare in the future.
Still clever though. I want to use it on something!
-
NO!
Do not have part numbers with meaning. This is crazy...
Absolutely. Part numbers should be numbers without any specific meaning, else you will undoubtedly paint yourself into a corner. I have seen this many times in ill-conceived part numbering systems, especially when the same part is used in different products. It screws up MRP systems and confuses all and sundry.
When IBM was a hardware company, they had just irrelevant numbers for about 90 years and it worked beautifully. When they reached part number 9999999, they introduced a letter in the part numbering system, like 52G1645.
There is no system better than numbers that have no particular significance, and a database which describes the part.
Incidentally, the earliest IBM part number I ever used was part number 202. It was a contact roll brush used on an IBM 082 punch card sorter I worked on in the early 1980's. That part was created in 1926.
-
I worked for a company which had Parts numbers sort of like
amps-phases-RatingC-region-
then you could suffix a few optional features like -paramA-WithCase-WithHinduTemple
but the features all had to be in a certain order so the following was ok amps-phases-RatingC-regionC-paramX-WithHinduTemple
but this wasn't ok as the features were out of order. amps-phases-RatingC-regionP-paramA-WithHinduTemple-WithCase
Each optioned part was a unique part. Had a unique BOM, unique certificates, tests, labour cost etc.
Except sometimes the sales guy would make a new product but make the part number wrong, get it signed off and this wouldn't be noticed until a year later. So for the rest of eternity this part would be like an irregular verb in French and then someone would make a duplicate part with a different price.
Then for some dumb reason I decided to barcode our products. Needless to say some of our codes were too long so I just used a weird product code to straight integer mapping, then barcoded that. It all worked ok but it was never really satisfactory as you needed the map to get the part number.
But hey, what can you do? The barcode would have gone across the page as i only had fairly limited resolution.
-
But hey, what can you do? The barcode would have gone across the page as i only had fairly limited resolution.
3D barcode...........
-
But hey, what can you do? The barcode would have gone across the page as i only had fairly limited resolution.
3D barcode...........
I tried the 2D QR codes if that's what you mean, but didn't get the library going, cant remember why. (Though I was heavily time constrained, as I think it was a slightly guerilla project.) I also IMO the single strip looked and fitted better on our documents.
3D barcode........... umm...... pls explain.
-
Sorry, 2D barcode, or any of the varianys around. Was thinking of 3D glasses and printers before that, I blame TWICH....
-
If there are many custom options, you should use a relatively meaningless part number in conjunction with a serial number. Then keep a database of the options in each serial number.
-
If there are many custom options, you should use a relatively meaningless part number in conjunction with a serial number. Then keep a database of the options in each serial number.
Maybe that's what Steelseries does with their mice and their stupidly long serial number, no way am I typing a freaking 19 digit number into a warranty form.
or maybe they intended to manufacture more mice than there are atoms in the universe?
(http://i.imgur.com/RehPTSp.jpg)
-
They do that to include a redundancy check for the model number, the production location, the date produced, the line number and the unit number, all in one single string.
-
If there are many custom options, you should use a relatively meaningless part number in conjunction with a serial number. Then keep a database of the options in each serial number.
Maybe that's what Steelseries does with their mice and their stupidly long serial number, no way am I typing a freaking 19 digit number into a warranty form.
or maybe they intended to manufacture more mice than there are atoms in the universe?
Why did you rub out the last four digits (which BTW to me still look kind of legible, 4342 or 4842)?
Guess what this is from (as you can see "they" must have thought 'why only have one number if you can have lots?'):
-
They do that to include a redundancy check for the model number, the production location, the date produced, the line number and the unit number, all in one single string.
Converting a 19 digit base 10 number to base 36 gets you something like "9DO1 SJ39 6NEO" which is the same quantity of information, but just easier to type in if required.
Why did you rub out the last four digits
Why does google maps blur house numbers
**********************
edit, because I'm not wasting a post on this:
not sure why you are so interested, but say I registered the mouse, someone could use the number to contact support as me.
why bother? I don't know, some people are dicks and have lots of free time.
Just take it as an internet rule that you never put anything on the internet that links anything to you.
-
Why did you rub out the last four digits
Why does google maps blur house numbers
That I can understand, but a meaningless serial number?
-
Just use a random number, but more importantly the drawing for that part should be a different number that is linked via your ERM system
-
edit, because I'm not wasting a post on this:
not sure why you are so interested, but say I registered the mouse, someone could use the number to contact support as me.
why bother? I don't know, some people are dicks and have lots of free time.
Just take it as an internet rule that you never put anything on the internet that links anything to you.
Missed this edit...
I'm gonna wast some time:
My interest is I agree with you but I don't like paranoia. I won't be posting info like bank account numbers or my real adress, but blurring a serial number of a consumer device that's going to be tossed in the bin when it fails in a couple of years?
Conspiracy theory: those who want to know about you know about you since you were born. "Privacy" is an abstract concept which it's just that: a concept and for most of us: an illusion. I though that the UK with all their CCTV systems has a headstart on that when compared to continental Europe, and it's been coming over here too.
Hypothetically: if you did register it (which I doubt because you wrote "no way am I typing a freaking 19 digit number into a warranty form") then first of all someone investigating your serial number would have to go and ask Steelseries who it belongs to. So, that's a dead end unless maybe some crook over there was willing to part with some info for a large sum of money.
Contact support, Steelseries can already do that at their discretion, unless you told them not to while registering (most likely by unticking a box).
And over here on the forum, all we know about you is what you put in your profile. And that might just be total fiction.
-
Conspiracy theory: those who want to know about you know about you since you were born.
Before the internet, I would have agreed with you - but since we are now a global and connected community, then those who might want to know about you can glean little bits of information from the comfort of their own home. Sure, many of these bits of information are but a pixel in the screenshot of your life - but uncover enough pixels and you will start to see a picture.
You can call it paranoia if you want, but others would say not protecting information that can personally identify you as being nothing short of naive. Social media is the antithetic example - and that hasn't exactly worked out too well for some.
I don't have any problem with obscuring serial numbers.
-
I'd say it's the other way around. Before the internet a piece of information was shoved inside an envelope, went on trains, plains and automobiles ( ;) ) and then ended up with the recipient. Or it was stored on paper in some stuffy archive waiting to be discovered (or missed) years later.
Now that piece of information travels the internet ready to be monitored or tapped at any time. Plus searching stored info can be done with a click of a mouse rather than leafing through tons of paper.
Oh yeah, our government is in the process right now of changing the law so that any internet activity will be tapped as a matter of course, of any citizen and not just those who draw a little too much negative attention. You know with the threat of terrorism and all that...
Big Brother is watching you all the time. He already was, but now the law's changing, he can do it out in the open. But maybe that's a deterrent in its own right.
As for social media... I'm not on FB or the likes.
Sorry, this thread is going a bit off topic...
-
but blurring a serial number of a consumer device that's going to be tossed in the bin when it fails in a couple of years?
There is actually enough information in that picture to find my name and possibly my home address, and you wouldn't need to go via Steelseries, use that serial number or look for any embedded location info.
Obviously I'm not saying how, and I have the benefit of knowing which dots to connect, but it is certainly possible.