One of the problems of Business Intelligence (BI) is that you cannot define static information needs for advanced BI requirements such as data mining. Instead, you typically need to produce an entire class of enquiries ranging over all possible variables that might affect business performance.
For example, in manufacturing there are large numbers of people doing statistical process control, trying to manage derived business objects such as Process Variation, trying to identify, measure and eliminate causes of process variation. For each possible variable, or combination of variables, we may want to generate specific monitoring/measuring processes, as well as specific corrective/preventative actions.
If you want to achieve economies of scale in data mining, one of the difficulties is that you have to find systematic ways of linking different levels of abstraction within a single enquiry. For example: "which context variables are statistically correlated with these customer behaviours?" - where the object CONTEXT VARIABLE appears to belong to the metamodel rather than the model. Obviously there are ways of collapsing meta-level into the model itself, but these are fraught with danger for the logically naive: resulting in extremely clumsy class diagrams, and in error-prone or grossly inefficient implementations.
I am currently investigating something like a software factory / DSL approach to deal with the dynamic nature of emerging information needs. I'm hoping to find a safe (or at least safer) way to express specific data mining enquiries (e.g. for manufacturing or statistical process control) - reducing the potential for logical error and inefficiency, and increasing the potential for churning them out quickly.
If you have relevant ideas or experience, please contact me.
Post previously called Service-Oriented Business Intelligence, which didn't reflect the content. Name of post changed 3 April 2016