The systems addresses three kinds of reporting needs viz. operational statements, business analysis and predictive modelling. Operational statements are reports that report on transactions such as job status, stock in hand, costing reports and similar. This is usually at the lower to mid management levels.
Business analysis reports give indications on the trends, ratios and key indicators of business health. These give a more in-depth view of the operations and are extremely useful for senior management.
Predictive modelling uses current trends to statistically predict probable outcomes, based on data collected both within the business as well as external events. These are usually customized per requirement.
Transaction data as it occurs is stored in a NoSQL format and immediately transformed into multi-dimensional data marts. These dimensions are decided based on the industry type. For example, a service industry would require reporting done on time series, customer categories, work types.
Micro-service interfaces with SQL-like capabilities then query the data marts based on the report requirement. The data obtained is then processed by the front-end for specific visualizing and other grouping needs. The reporting engine by itself does not put restrictions on the presentation.
Due to its independent nature, the report presentation layer give more choices on the visualization techniques, variety of reports that can be created, the devices on which it can be supported and the speed at which it can be implemented.