Modelling Shoplifting
The other day I was thinking that I should write about specific situation models and by coincident Marc Adler pens CEP and Shoplifting. In Marc’s post, Marc begins to model shoplifting as if shoplifting is “market data,” with Level 1 to Level 4 shoplifting “quotes” - the natural approach for a brilliant guy from Citi. In reality, this model does not work very well, and I’ll touch on a few reasons why today.
Marc’s initial shoplifting model in his post is based on John Colapinto’s concepts of matching a pattern of customer movements in the store with their estimated patterns of shoplifting behavioral patterns. Marc’s asks how Coral8 might address this. We are not ready to seek a vendor solution. We do not yet have a workable detection model.
As indicated above, I don’t think the example situation cited by John and Marc is a viable model for automated processing. Tracking the behavior of customer’s movements, by machine, would require some very sophisticated image processing technology that would be too expensive compared to any possible loss at most retails stores. This type of behavioral pattern recognition. in retail stores, is performed by people (security personnel), not machines, observing people.
To develop a machine pattern recognition application to detect retail shoplifting we need to build detection models that are economically feasible. If we are going to use a model of shoplifting pattern recognition versus anomaly detection, we need to define the objects we must track.
In the most simple model, we have merchandise-objects. Stores normally (physically) track merchandise-objects only at the exit/entry points of the store using some electromagnetic proximity detection technology. In this model, the detection configuration is a combination of simple alerting with humans watching the store (”minding the store”). This is not complex event processing.
However, if we added another object to our model, the customer-object, then we start to get more “complex,” but we have not defined “complexity” yet because we have not defined the object properties, the possible states of the objects, and the relationships between the objects that are the basis for estimated situations.
Hence, model building is constrained by available resources, simple economics and risk (cost-benefit). If we are detecting shoplifting in Walmart the cost-benefit model for implementing an automated shoplifting detection system would be different than at a top diamond store on 5th Avenue in NYC. Protecting loss at a weapons-grade uranium respository follows a different model than protecting loss at a handicraft shop, naturally.
Like Marc, I find models to automatically detect shoplifting interesting, so permit me to close with a general discussion of shoplifting in the context of our CEP/EP reference model.
One approach would be do determine what objects will be represented in our model. For example, if we are going to track merchandise, we need to model the ”merchandise-object”. If we are going to track people, we need to define the properties of this “person object.” If we are going to represent the store layout, we need to define all these objects (store-object, table-object, shelf-object, entry-object and so forth). The model can get “complex” quite quickly.
Editorial Note: An object-oriented approach greatly assists complex model building because we can benefit from OO properties such as encapsulation, inheritance, and polymorphism. For example, we can define a basic “person object class” and then create superclasses of this object for “customer-object”, “manager-object”, “or criminal-object.”
Generally speaking, each object we define will require a state-model, for example, in Marc’s example of a customer moving around the store, we would need to model the possible states (customer at the entrance, at table 1, at table 2, at shelf 1, in the bathroom, at the cashier, etc.) Indeed Marc, this is complex event processing if we have modelled multiple objects and defined object-object relationships that indicate situations of interest. For example, customer-object at table2 where merchandise-object has the property of ”very expensive, high risk” and then customer-object changes state to “in bathroom”. Of course, we need more key indicators, but you get the idea.
As always, thanks for reading.
Filed under: Advanced Event Processing, Analytics, Artificial Intelligence, CEP News and Events, CEP Terminology, CEP Tutorials, Complex Event, Complex Event Processing, Detection Theory, Event Processing, Event Processing Modelling, Modelling and Simulation, Risk Management, Sensor Fusion, Situation Models, Systems Engineering, Use Cases












As I understand it, professional shoplifters work in teams - one distracts the shop assistant, a second one puts the item into a bag, then switches bags with a third team member before leaving the store. So even if the theft was spotted on the cameras, the thief no longer has the goods, goes protesting to the manager’s office to be searched, and then leaves the store with an apology. How are you going to build a system to detect that?
Richard and Tim,
According to the radio show, there are still a very significant amount of lone shoplifters. True, there are professional teams of shoplifters, mostly from South and Central America, but you can probably build detection systems for these too, as I am sure that these teams have patterns too.
(I am pretty sure that the American news show, 60 Minutes, did a profile of these shoplifting teams a few years ago. … Yep, they did … http://www.cbsnews.com/stories/2004/02/20/60minutes/main601396.shtml)
I am curious as to the latest in image processing technology. Can’t you divide the store up into micro-grids, and infer a person’s pattern of movements as objects pass from one micro-grid to another with a certain direction and velocity of movement?
Maybe in the far future, as each person enters the store, they will be sprayed with an invisible mist that consists of nano RFID transmitters.
Hi Marc,
Image processing is a “very hard” problem. Imagine a person being tracked walking into a crowd. This is a “hard problem” with radar and much harder with images - and expensive.
As far as models go, I think RFID tagged merchandise maybe the more cost effective loss prevention model. Instead of tracking people-objects it is easier and less intrusive to track merchandise.
However, just tracking and tracing merchandise is no more “CEP” than single-object FedEx package tracking is “CEP”. However, processing the entire “event cloud” of FedEx packages in realtime and seeking enterprise or regional opportunities or threats that effect decison making *is* “CEP”.
((Editorial Note: I will continue to draw these distinctions even if a few database-oriented colleagues are “turned off” by it.))
Back to modelling shoplifting, I suggest folks define merchandise-objects and then track these objects based on a risk-based cost-benefit analysis, using an RFID-type technology. If we are comfortable with than, then we can further model detecting shoplifting.
Yours faithfully, Tim
I think we need to distinguish between modelling shoplifting (constructing a theory about the observable patterns associated with shoplifting) and modelling shoplift-detection (designing a system that will observe or infer these patterns).
I think that both image processing and RFID-based merchandise-object tracking belong to your model of shoplift-detection rather than a model of shoplifting. In discussing the relative merits and technical feasibility of the two mechanisms, you are not saying anything about the phenomenon of shoplifting itself.
There is of course an arms race between shoplifters and shoplifting detection systems. Shops fit cameras and RFID tags, shoplifters adopt new evasion tactics and carry cheap devices to reprogram the RFID tags. So both the shoplifting model and the shoplifting-detection models evolve over time.
[...] Modelling Shoplifting [...]
Hi Richard,
Good comment. Semantically correct. Please explain why this distinction is something you consider so important.
Seem to be me we are not really ready, in this crude modelling discussion, to go down to a layer of granularity where discussing the semantic differences between “modeling a situation” and “modelling detection of a situation” are important, are we?
Please clarify why this semantic distinction is important at this stage.
Thanks!
Yours sincerely, Tim
Hi Tim
Sorry if I sounded pedantic. Perhaps the reason I think this might be important is that I’m coming at this from a service-oriented perspective, and so I’m always looking for ways to build solutions in a loosely coupled way, therefore decoupling the models. I accept that other people may not see this as (i) relevant or (ii) technically feasible at the current state-of-the-art.
Hi Richard,
Thanks for elaborating. No need to apologize at all. I understand your perspective as an “Old SOA Guy” myself.
Practically speaking strong arguments can be made either way. Some can argue that decoupling solution models from situation models is best; others can argue just as convincingly that this decoupling leads to inefficiencies and impractical to implement abstractions.
Top down versus bottom up? My experience tells me that both are as important, so it is best to work both ways and meet somewhere near the middle.
Yours faithfully, Tim
Comparing shoplifting and air traffic control (the subject of your following post).
The behaviour of aircraft is subject to the laws of physics, which (at least for these purposes) are pretty well understood and unlikely to change. Whereas the behaviour of shoplifters is (i) subject to the observation and confirmation of shoplifting patterns and (ii) subject to learning and innovation by the shoplifters themselves.
Therefore the two cases aren’t the same. There is a form of flexibility I’d want to build into a shoplisting system that I wouldn’t need in the Air Traffic Control system.
Hi Richard,
Sorry, Again you have “lost” me.
First of all, you are assuming a behavioral model for tracking people which I have already said is not feasible, So, you are drawing comparisons with an infeasible, nonexistant abstration, or so it appears.
Second, I do not think you fully comprehend the application of the JDL data fusion model to event processing based on your recent comment in dismissing any comparision to ATC. You and I are talking different levels of abstractions, so there is a disconnect, it appears to me.
Follow the JDL ….
Yours faithfully,
Tim
To be perfectly clear, there is no economically Viable model to automatically track the behavior of people shoplifting in stores using image processing techniques.
Automated shoplifting detection is accomplished by tracking merchandise. The model for automated processing that detects shoplifting is based on tracking merchandise-objects, not people-objects.
Yours faithfully, Tim