How to Structure a Model for Clarity and Scalability
This guide shows you how to structure a Valsight model so that it stays understandable, scalable, and easy to maintain as it grows. By the end, your model will follow a clear flow from raw data to high-level KPIs, using submodels to separate concerns.
Core Principles
Define your target outputs first
Identify a small set of key metrics and KPIs you ultimately want to analyze, such as'Revenue','EBIT','Headcount','Capacity Utilization'. These outputs define the “head” of your model.Work backwards to inputs and drivers
For each KPI, determine which intermediate calculations are required and which input data or assumptions are needed to calculate them. This backward approach prevents unnecessary logic and unused data.Keep each node focused and interpretable
Design nodes so that each one answers a single, clear question. For example, calculate'Unit Price'and'Units Sold'separately, then derive'Revenue'from them. Avoid combining multiple steps into one complex node.Define and apply dimensions consistently
Decide early which dimensions are global across the model (for example, "Time", "Region", "Product", "Business Unit"). Apply them consistently and avoid adding niche dimensions that only apply to isolated nodes.Separate layers using submodels
Organize the model into submodels that reflect a logical flow from data to KPIs. Use numeric prefixes and descriptive names to make the order and purpose explicit.
Recommended Submodel Structure
Name the different models with numeric prefixes and clear purposes.
500_Data (Tail)
Place raw inputs and source mappings into a submodel such as500_Data. Nodes here should mainly connect to data sources or perform basic cleaning and mapping.400_Drivers
Maintain common assumptions like growth rates, FX rates, inflation, or standard cost rates in a400_Driverssubmodel so they can be reused consistently across the model.3XX_Operational Detail
Create separate3XX_submodels for major operational areas, such as sales volumes, pricing, production capacity, costs, or headcount. These submodels calculate operational metrics that feed financial results.200_Financial Calculations
Use2XX_submodels for financial statements and calculations, such as the P&L, cash flow, or balance sheet. These submodels aggregate operational outputs into financial results.000_KPIs (Head)
Place high-level KPIs and ratios in a000_KPIssubmodel. Reduce dimensions where appropriate so these nodes focus on management-relevant views, such as Time and Region only.
Notes
Respect the flow direction
Ensure dependencies only point forward. Nodes in earlier submodels (for example,'Sales'or'P&L') should be available to later ones (like'KPIs'), not the other way around.Use submodels for access control
If different users should only see parts of the model, restrict access at the submodel level. This allows, for example, OPEX owners to work in cost submodels without exposure to the full model.
Result
Your model is now structured in clear layers—from data input to detailed calculations, financial consolidation, and KPIs. This structure improves readability, reduces complexity, and makes collaboration and scaling significantly easier.