Most of us have moved our web and e-commerce operations to the cloud, but we are still getting sales reports and other information we need to run our business long after the fact. We sell a hamburger on Tuesday, you might say, but don’t know if we made money selling it until Friday. That’s because we still rely on Batch processing , where we generate orders, reports, and other management-useful information after the fact. That was fine when horse-drawn wagons made all of our deliveries, but it is far too slow for today’s world, where stock prices and other bits of information circle the world (literally) at the speed of light. It’s time to move to In-Stream Processing. You can’t – and shouldn’t – keep putting it off.
This diagram may look complicated at first, but if you trace the lines it will soon become clear. The only thing that might throw some managers for a loop is the “ Data Scientist ” box in the lower right-hand corner. This new person, who may be a consultant you only call in from time-to-time, helps you decide which data is most important to extract from the data stream as it flows by, and how it should best be displayed to the business people who are its end users.
Some say, “Data scientist is just a sexed-up term for statistician.” Perhaps. But title aside, displaying the dynamic information needed to run a business – and only that information – in real-time is what In-Stream Processing is all about.
Data Nuggets in the Stream
A retailer may do 100,000 POS credit card transactions per day. That’s nice to know, and it’s nice to have a dashboard-type display that shows them in real-time, and shows upward and downward trends minute by minute so that cashiers can be assigned with maximum efficiency. In-Stream Processing can do this, and with the right output devices, can even trigger a storewide PA announcement that automatically says, “All cashiers to the front, please.” Opening more registers as soon as checkout volume starts to trend upwards makes customers happy. Even the announcement makes them happy, because it shows that management cares about them.
And buried in those 100,000 credit card transactions, there is one that is an attempt to use a stolen card. Obviously, that transaction will be declined. But then what? In the era of batch processing, an automated alert might get sent to management or loss control hours or days after the miscreant was gone. Perhaps the cashier called security, perhaps he didn’t. After all, he had other customers in line, and when he told the person with the hot credit card that it was declined, the criminal probably bolted, and the cashier didn’t give chase because it was probably against store policy – and he had other things to worry about, anyway.
Now let’s fast-forward to tomorrow, when we have In-Stream Processing up and running. The second – literally the second – the hot credit card transaction takes place, both the store’s loss control people and management at HQ learn about it. Store security can head for the appropriate POS before the bogus customer is informed that “his” credit card is no good. Indeed, notifying the cashier, and therefore the bogus customer, that the card has been declined can be automatically delayed until store security personnel acknowledge receipt of the alert, which gives them a far greater chance to detain the criminal than they had in the bad old days before they had In-Stream Processing as an anti-theft weapon.
Predicting production failures with In-Stream Processing
And now, let’s turn our sights from the POS system to the conveyors in our packing and shipping facility. Whoops! It seems the drive motor for belt number five is suddenly running at 40 degrees C instead of its typical 30C – 32C. If we don’t learn about this for a day or two, chances are we’ll have burnt-out motor to replace, and we’ve had a packing line down for a number of hours.
With In-Stream Processing, we can see temperature sensor output changes instantly, and even have alerts set to go off if they move more than X degrees outside their normal operating range. We can do the same thing with strain gauges and many other measurement devices. We can even check the number of boxes getting packed on each line, with alerts set for changes beyond our expectations so that a manager can check that line to make sure everything is okay both with the workers and with their equipment.
The sooner a potential problem is detected, the better our chance of solving it before it becomes a major, costly problem. This applies to almost every aspect of our business, including a sudden spate of customer calls about problems with a particular product.
Keeping irritated customers from becoming angry customers
An exciting recent development in call center management, which couldn’t have happened before big data and the cloud made immense data processing power and data storage available at low (and ever-dropping) prices is Emotion Analysis . It’s no great trick for a human to tell whether a caller is happy, inquisitive, upset or downright angry. But this is a recent trick for computers, and is just now starting to become a practical business application.
The idea is that as soon as the system detects unhappiness beyond a preset level in a customer’s voice, the call is automatically diverted to a supervisor or 2nd-level support person. In theory, a first-tier support person should be able to detect that unhappiness and call for help, but as you know from your own experience calling businesses for help, people in the first support tier may not be capable of recognizing unhappiness even if – it often seems – you bluntly say, “I’m unhappy. Please get your supervisor.”
Think what a pleasant surprise it would be if a fresh voice came on the line and said, “This is Ron, in support management. It sounds like you’re upset. I don’t blame you. Let’s see what we can do to solve your problem!” We’re not using a chatbot in this scenario – yet. It may not be long until we have good enough AI ( or at least pseudo-AI ), and good enough voice recognition to replace human customer service workers, but right now nothing beats a knowledgeable employee with the authority to actually make things right for a customer who has gotten a defective product or poor service of some sort.
But In-Stream Processing, running Emotion Analysis, can certainly help us hook our unhappy customer up with the person who can make her problems go away – and do it right now, not a week from Sunday.
New uses for In-Stream Processing are cropping up all the time
Indeed, Emotion Analysis and dozens of other applications that are new or are still being developed all depend on In-Stream Analysis, because they all rely on real-time or near-real-time processing, not processing that happens someday. Program trading is a great example. If you’re doing high-frequency stock buying and selling, making hundreds or thousands of trades per minute (or even per second in some cases), you must be able to process data and make decisions – or have a program that makes decisions – fast enough that the length of your connection to the stock exchange can make a noticeable difference in your profits – which is pretty darn fast.
With a little thought, you can almost certainly think of at least a few ways In-Stream Analysis can benefit your business. If not, throw the idea out to your fellow executives. The chances are 100%, more or less, that within a week they’ll think of ways In-Stream Processing can increase your profits.