
Why KPI tracking breaks down during iterative design
In the current studio workflow, KPI extraction and performance evaluation depend on repeated manual operations across design iterations. This slows down feedback, introduces version mismatch risks, and disconnects analytical outputs from the model itself.
This tool was developed as an internal instrument for the data team, enabling consistent KPI monitoring from the latest Speckle model version without manual intervention.


Project context and pain points combined with the target user perspective (Data Team).
A single automated workflow for version-based KPI extraction
The proposed solution establishes an automated link between versioned design models and performance evaluation. Every time a new model version is published, Speckle Automate triggers a pipeline that extracts model data, computes KPI values, generates a structured report, and transfers selected analytical results back into a dedicated analysis model for visual feedback.

The KPI Framework
Four KPI families structure the evaluation logic of the workflow. Together, they transform raw geometric and metadata inputs into a shared performance framework that supports spatial, material, modular, and energy-related assessment across model versions.
Column-Free Area Ratio (CFAR)
Spatial efficiency metric focused on structural interruption and usable free-span logic.
Material Usage Intensity (MUI)
Material-efficiency metric linking geometric quantities to design performance.
Modularity Index (MI)
Repetition and modular coherence metric across panel or element systems.
Energy & Radiation Performance (ERP)
Environmental reading based on analysis values and model-linked performance data.
These KPI families define what is measured; the next step is understanding how the workflow computes and returns them automatically.
How the system works
The workflow follows a clear pipeline: a Rhino/Grasshopper model is prepared, a new Speckle version is published, Automate runs, collections are parsed, KPI families are computed, a report is generated, and an analysis model is pushed back for visual feedback.

1. Inputs & Trigger
- Latest model version from Rhino/Grasshopper.
- Per-element properties: area, volume, level, panel IDs, radiation values.
- Trigger: Automation runs on every new model version (Webhook).
2. Processing & Outputs
- Parse collections (slabs, cores, columns, facades).
- Compute KPI families.
- Apply colour mapping to façade mesh.
- Outputs: Excel KPI report and Analysis model version in Speckle viewer.

From setup to successful execution
The automation is configured through a small set of parameters, including the destination model, analysis period, and source model. Once triggered, the function runs in Speckle Automate and returns both downloadable KPI outputs and an updated analysis model.

Outputs: Report and embedded analysis model
The workflow produces two direct outputs: a structured KPI report and an updated analysis model. The report consolidates the KPI families into a readable dataset, while the analysis model returns colour-coded performance information to the viewer, making feedback visible in three dimensions.

Impact on workflow and decision-making
Qualitative Impact
- No manual KPI calculation per iteration.
- Single source of truth shared across teams.
- Improved coordination between design and analysis.
- Shared visibility of the same live model state.
Quantitative Impact
- Calculation time: Reduced from 1–2h to <5 min.
- Four KPI families computed in one run.
- Zero manual data aggregation.
- Analysis model updated automatically in the 3D viewer.
Current limitations and future development
The current version already demonstrates a robust proof of concept, but it still depends on strict upstream data conventions and limited analysis transfer logic. The next stage should focus on validation, broader KPI expansion, and more direct downstream publication to collaborative dashboards.
Current Limitations
- Strict naming conventions.
- Exact property dependencies.
- Only coded KPI families available.
- One analysis period at a time.
- Exoskeleton colour transfer not fully active.
Future Scope
- Validation layer for missing properties.
- Smarter batching and more KPI families.
- Push to live dashboard / Google Sheets.
- Multi-period radiation visualisation.
- More robust downstream publication logic.
Credits and Technical Stack
Technical Stack: Rhino, Grasshopper, Speckle, Speckle Automate, SpecklePy, openpyxl, Vs CODE, GitHub