Designing for scale
Following some key concepts will help keep changes to your analytics processes to a minimum, as your needs scale.
Decouple key components
Decoupling means separating functional groups into components so they are not dependent upon each other to operate. This allows functionality to change or new functionality to be added with minimal impact on other components.
Encapsulate analytics
Encapsulate means grouping together similar functions and activities into distinct units. It is a core principle of object-oriented programming, and you should employ it in analytics as well. The goal is to reduce complexity and simplify future changes.
As your analytics develop, you will have a list of actions that is either transforming the data, running it through a model or algorithm, or reacting to the result. It can get complicated quickly. By encapsulating the analytics, it is easier to know where to make changes when needed down the road. You will also be able reconfigure parts of the process...