Business intelligence is more of a hot button than ever… but not for the reasons you might think.
Traditionally data-mining and business intelligence tools were reserved for business executives that wanted to gain insight into their business processes, highlight weak points in their operations and find the way towards better returns.
But all of that is changing – IT professionals and developers are beginning to use BI as an input to their applications and in doing so, are cutting down on the complexity associated with automating a business process.
Apart from speeding up development times, this practice is also building an artificial intelligence of sorts into applications – it is something that has BI guru, Rafal Lukawiecki from Project Botticelli extremely excited.
Using BI results as an input
Speaking at Microsoft’s Tech-Ed conference in Durban last month, Lukawiecki explained that this new technique, called ‘predictive programming’ allows for an application to dispense with a great deal of the complex logic it would normally require to make a decision and instead, replace it with a couple of lines of code that calls a BI or data-mining query.
The first benefit is faster transaction processing, since the code is lighter and less onerous to run. The second, is however, where it gets really interesting.
“So, let us say for example you have an application that operates a sales website, and ships goods to people’s addresses,” he says.
“One day, you notice that items shipped to a specific country or region are not getting to their destination intact and immediately, you decide to act on it,” Lukawiecki continues.
“Generally, what you would do is resort to data mining and business intelligence techniques to analyse your business process and find out where things are going wrong and why, while you at the same time manually configure the application to no longer ship items to that country.
“This is no longer necessary though – with predictive programming, the application will take care of this automatically.
“Instead of manually halting shipping to the ‘problem address’, what you are able to do today is allow the application to make its own call to a business intelligence or data mining tool, and request a probability of that business process failing.
“If the probability is too high, the application does not dispatch the order and instead either uses a different, more reliable shipping mechanism, or invokes a manual process, such as forwarding the details of the transaction to a supervisor who can deal with it,” he says.
That is not the cool part however.
“The impressive bit is, you as the developer have inadvertently created a negative feedback loop, which becomes part of that data mined or analysed on the business’s overall efficiency.”
And since Lukawiecki says this is a dynamic process, as your application makes these decisions, the model that the data mining is performed on, automatically changes.
“The result of each transaction continues to become part of the data from which the executives’ high-level reports are gleaned from. The shipping application has however gained the ability to adapt to changing conditions as it needs to.”
This is important, since the issue that exists in shipping to a particular country could be a temporary one, impacted on by some form of external factor.
By using this technique, the moment that external factor is removed, the application will begin once again shipping to that country,” he says.
“It gets us pretty darn close to building artificial intelligence into business applications,” he concludes.
The use of BI as an input into applications is no panacea to your business development. Yes, it will speed up development times, and build an artificial intelligence of sorts into your applications, maybe even cut down on the complexity associated with automating a business process. But the key is to really understand your business processes first. And to determine what you want to automate. And that can be the million dollar question.