Like many technical, geeky people I’m often fascinated to find the details behind apparently mundane systems that are around us that most people take for granted. Take for example the “reduced to clear” stickers that supermarkets use to reduce stock as it approaches the Use By/Display Until Date. Each chain of supermarket uses a different system, sometime it’s obvious what the codes mean, other times it’s less obvious. This presents a challenge to reverse engineer.
I’ve thought about the codes a bit in the past and the Tesco Barcode “controversy” rekindled this interest so over the last few months I’ve kept an eye out for opportunities for research.
I should point out right from the outset that the one thing I’m not aiming to do is get anything for a lower price than the supermarket is offering it to sell it for. In fact one of the tests that I would like to do is check if i could pay more for a reduced item than the original price. Obliviously I would test this on sometime quite cheap as I’m not that stupid.
So I’m passing Asda and there are only a few hours left in the day, prime time for reductions. As I head for the entrance I notice an employee reseting the anti-theft devices on trolleys that people have taken over the “red line”, that’s a whole other area of research that I’ve yet to explore…. maybe there is a future blog post in it.
There are a lot of reductions tonight so I head to the self-service checkouts with ingredients for a small feast. I notice that the mini-pork pies reduced to 10p (yes, I know it’s not strictly part a Pescetarian diet but they would have ended up in the bin shortly anyway) are packaged in such a way to make it almost imposable to scan the reduction bar code.
After a half-hearted attempt to scan the barcode, I took my opportunity to press the “Enter barcode button” and start entering the code on the reduction barcode 0..2..0..5..1..8..0..0..0..0..1..1 (oh, woops my clumsy fingers that that last number should have been a 0, oh well just one of those things!)
Unrecognised Barcode, please try again
Oh maybe I made a mistake with the number of zeros 0..2..0..5..1..8..0..0..0..0..1..1
“Oh let me help, I’ll need to do the reduction barcode for you”
She then swipes her operator barcode card to bring up the operator menu, selects an option and taps in 0..2..0..5..1..8..0..0..0..0..1..0.
So Asda have restricted manually entering reduction price barcode to operators only. That pretty much puts the stops on “mistakes” me as a customer could make. Further research would involve making my own barcodes by scanning a smart phone displaying a barcode image or preparing bits of paper with bar codes in advance, both of which would be pretty hard to pull of without being noticed and would be tricky to explain if noticed.
But all is not lost. Just by looking at the code on the items it’s possible to imply something about them as i already did above about the last two digits. Asda helpfully prints the full item codes on the receipt.So lets look an example for the pork pies
020518000010
020 – Reduction codes prefix?
518 – This appears to be a “department” or “product type” 518 corresponds to “Deli Pies”
00 – Not sure what this means, appears constant as 00 (possibly thousands & hundreds digits??)
0010 – Reduced price in pounds and pence in this case 10p
Interestingly this format gives very little detail to link back to the product being sold, unlike Tesco codes that have a reference to the original barcode. Asda links to a higer level department code that may contain multiple products. I guess they aren’t too bothered or have another way of tracking it.
Stay tuned for more reduction barcode fun…