There’s an imaginary scale that starts with Excel at one end and runs all the way to Python and R at the other end. The former’s ease of use makes it a great general purpose tool for playing with data and the latter pair’s flexibility opens up a world of possibilities, however running a complex model in Excel is so error prone you’d have little to lose by doing it drunk and finding people to write Python or R well is damned expensive.
Given this it’s unsurprising that the market has seen the arrival of self-service BI and analytics tools, somewhere in the middle of the imaginary scale above they allow you to do reasonably complex operations usually by dragging and dropping blocks of logic into a stream. This paint-by-numbers approach to business intelligence can be quite beneficial if you’ve got semi-technical staff, data, and the need to perform fairly common operations. For some companies this is a case of two out of three, so what do you do when you have semi-technical staff, data, and non-standard modelling requirements?
Let’s take the example of a call centre. The customer support representative for a PC sales company might have ten stock questions that they ask everyone who calls in, whereas the support centre for expert users of a scientific product might need to engage in a full conversation with each caller. The ten stock questions are like the blocks of logic in the self-service BI software and the deep conversation is like Python and R, both solutions are viable, but for different scenarios.
There’s no such thing as the ‘best vehicle’ until you know whether you’re doing the school run or transporting 400 Toyotas across the Pacific and it’s important to understand that there’s no ‘right’ point on our imaginary scale until you factor in the requirements and resources of the work to be done.
Self-service tools will allow you to quickly calculate return on investment given the right data but they’ll become difficult to work with when your air dispersion or contaminant exposure model gets going. It’s easy to find yourself misusing the software to achieve your needs and when accuracy and reproducibility are important, you’re on a slippery slope.
I’ve predominantly used scientific models as complex examples here but business models can be just as onerous on a system designed to be accessible to non-developers. Unfortunately if you’re using a tool which is at the wrong point on the scale, the flexibility you get comes at the cost of quality; if a model is complex enough that it belongs at the Python and R end of the scale then creating it with a self-service tool halfway up that scale won’t do. As Gartner says ‘Through 2016, less than 10 percent of self-service BI initiatives will be governed sufficiently to prevent inconsistencies that adversely affect the business.’
Instead of muddling through any further I’ll just confront my obvious bias here, at Creme Global we work with you to develop your model. We write the model in Python, so it’s fast. We write validation tests, so the results are always reproducible. You access your model through Expert Models, a platform designed to run custom-built, expert-built, models. I’m the Product Owner of Expert Models and we solve the problem of complex modelling by building the model at a low level and exposing the parameters through custom input-forms that allow the more scientifically focussed users to push their domain expertise into the results.
Users are then able to engage with their models at a higher level, using software to filter and prepare their input data, but because the model was built in Python it doesn’t lose any resolution.
Often decision makers are wary of committing to a specific model, but in truth to avoid this they often commit to having in-house technical skills in order to maintain a flexibility that isn’t producing the right model anyway.
To conclude, self-service BI and analytics tools are empowering, of that there’s no doubt, but much like playing Guitar Hero when you want to see Mark Knopfler, they might not be the best solution for you.