U.P.C. Databases
& SKU Matching

Coupon Considerations and Limitations

The challenge...

You want to build an application - perhaps web based - that will match grocery store items with Sunday Newspaper coupons.

The interim step...(why you came to my site)

Purchase a U.P.C. Database.

The solution...

There is no solution. There is no way to cross reference (match) a U.P.C. on a product to a U.P.C. on a coupon. In other words, what you want to do CAN'T BE DONE.

Why...

Because the content and structure of a "product" U.P.C. is different from the content and structure of a "coupon" U.P.C.


Let me explain -

Look at the following U.P.C.:

The first six digits above - 012345 (in this example) - are the Company Prefix assigned by the Uniform Code Council (UCC).

The next five digits - 67812 - are the Company's internal Stock Keeping Unit (SKU) or product number.

The final digit - 7 - is a computer generated check digit.


Now look at the following Coupon U.P.C.

The first digit - sometimes called a Number System Character (NSC) - is a 5. This tells the Point of Sale system that the U.P.C. being scanned is a coupon.

The next five digits - 12345 - are positions two through six of the Company Prefix.

The next three digits - 678 - are the Family Code.

The next two digits - 90 - are the Coupon Value Code.

The final digit - 0 - is the check digit.


So, you can see very quickly that the U.P.C. - 012345678127 bears little resemblance to the Coupon U.P.C. - 512345678900. Could you still match the Coupon to the Item?


Oh but wait, there's more:

Company Prefixes can be six, seven, eight, or even nine digits in length.

For example, the U.P.C. - 01234671234 - could have a Company Prefix of 01234567; but in a Coupon, digits beyond position six are dropped. So, a Coupon for the above
might be 512345111556.

Family Codes are assigned by the Manufacturer to "group" products within a "family" together. Some examples - same size but different flavor frozen meals (think Lean Cuisine or Swansons, etc.), flavored water (think Gatorade or Powerade), etc.

Yes, in a majority of cases, positions seven through nine of the U.P.C. are the Family Code, but what if that's not always the case (it's not)?

The Coupon Value Code is a two digit number that identifies the VALUE of the Coupon.
(For a list of Coupon Vale Codes - click Here.)


Still think you could match the Coupon to the Item?


What would happen if the leading digit of the Company Prefix was NOT a zero?



Notice the second set of numbers beginning with (8101). The number immediately following that code IS the first digit of the Company Prefix. But to insure that your application "works" you have to capture both sets of data.



Still with me? Let's assume that all the planets are aligned and you want to plow ahead anyway. Okay. In Sunday's paper you see a coupon for Campbell's Chunky Soup. The first set of numbers on the Coupon U.P.C. is 55100121412.

Okay, first you isolate the Company Prefix - 051000 - no problem.

Now, look at the Family Code - 121.

[Coupon Value Code 41 means "Buy Three or More and Get 50 Cents Off - in case you're interested.]

Finally, let's assume you DID buy my U.P.C. Database, and let's assume that you were fairly adept at manipulating the numbers. So, you isolated all of the items that started with 051000121. Guess what - you have about twenty items to attempt to match.

Had that been Family Code been 111, you would have had more than one hundred items.

Get the idea?

For what it's worth, I've been approached by everyone from mathematicians to programming firms to major universities. No one has "made it work".

Will I sell you the data - of course. Will you succeed - not likely. Caveat Emptor.



For additional reference material, The Uniform Code Council issued a Power Point presentation two years ago. I've converted it into PDF.


©2008 Gregg London
gregg@glondon.com