Skip to main content

Allow A.I. to "Dictate" Business Decisions

I recently retweeted an interesting article in the Economist that talks about Otto's incorporation of AI into its core business and how they allow AI models to automatically order product in anticipation of demand:





It's an interesting piece, and I recommend everyone pop over to the economist to read it. This type of AI deployment is an autonomous form of what my colleague at Dell EMC, Bill Schmarzo, calls Prescriptive Analytics:



However, instead of merely suggesting the proper course of action (deciding which products to order in advance), Otto has decided that for its purposes, the model they have deployed is accurate enough to forego the final human check. Now, the AI model dictates what items get ordered ahead of time.

For some, this may seem like an absolutely terrifying proposition. Like a rogue computer trading stocks or being able to play Global Thermonuclear War, the popular culture has ingrained in us this idea of a computer program run amok, and that there should always be a human - behind the scenes, pulling the levers - who is responsible for ultimately executing the plan.

Otto realized that the quality of decisions being made by their model was at least as good, if not better, than those of the people who used to be responsible for pre-ordering product, and decided to hire the AI to do that job, instead. The results have been extremely positive for Otto:
Overall, the surplus stock that Otto must hold has declined by a fifth. The new AI system has reduced product returns by more than 2m items a year. Customers get their items sooner, which improves retention over time, and the technology also benefits the environment, because fewer packages get dispatched to begin with, or sent back.

It was a bold, forward-thinking move. And it paid off. Plus, Otto didn't fire anyone because they deployed machine learning models within their business. In fact, they hired more. It's a great example of the sorts of business operations which can not only be prescribed by data analytics and artificial intelligence, but also the sort of streamlining that is made possible by allowing artificial intelligence to take control of the process.

Plus, if you ever become uncomfortable with the decisions your artificial intelligence is making, you can always take it out of production for retraining. Or, even better, retrain it while it's still doing the job (something that is very difficult to do with humans!). Machine learning models are only as good as their training, and every decision you allow your model to make is another potential data point to make it better at its job - just like every day on the job is a learning experience for the rest of us!

As always, feel free to leave comments or connect with me on Twitter and LinkedIn. Also, you can now subscribe to The Professional Programmer by adding your email address to the subscription form in the right-hand sidebar!

Popular posts from this blog

Neural Network Dense Layers

Neural network dense layers (or fully connected layers) are the foundation of nearly all neural networks. If you look closely at almost any topology, somewhere there is a dense layer lurking. This post will cover the history behind dense layers, what they are used for, and how to use them by walking through the "Hello, World!" of neural networks: digit classification.

Arrays of Structures or Structures of Arrays: Performance vs. Readability

It's one of those things that might have an obvious answer if you have ever written scientific software for a vector machine. For everyone else, it's something you probably never even thought about: Should I write my code with arrays of structures (or classes), or structures (or classes) of arrays. Read on to see how both approaches perform, and what kind of readability you can expect from each approach.

Genetic Algorithms: Mutation

So far in my series on Genetic Algorithms I've covered:  Basic Concepts ,  Encoding ,  Selection , and  Crossover . Those operations will get you most of the way to a functioning optimizer. However, all of the operations we've discussed exert convergence pressure  on the population. That is, selection and crossover have a tendency to draw the population together. The last operator I want to talk about -  mutation - is different. It wants to split the population apart. And as counter intuitive as it seems,  divergence  can be even more important than convergence.