Skip to content

Performance Metrics

The Performance Metrics page loads model evaluation data from the local SQLite database and renders interactive Plotly charts — one per model type — so you can track how well your models are performing over time.

Metrics are written to the database every time a model is run from the Model Control page or after a Simulation completes.

Use the experiment selector dropdown at the top of the page to choose which experiment’s metrics to display. The dropdown lists all experiments for which metric records exist in the database.

Performance metrics

Two checkboxes control which metric types are shown:

Training — computed during model fitting against the training window. Shows how well the model fits the data it was trained on.

Prediction — computed by comparing forecasts against actual values recorded after the prediction was made. Shows real predictive performance.

Both can be enabled simultaneously to compare training vs prediction performance on the same chart.

Choose which metric to plot from the dropdown:

MetricDescription
rmseRoot Mean Squared Error — lower is better
mseMean Squared Error — lower is better
maeMean Absolute Error — lower is better
mapeMean Absolute Percentage Error (%) — lower is better
smapeSymmetric MAPE (%) — lower is better
r2R² Score — closer to 1.0 is better
spearmanSpearman Correlation — closer to 1.0 is better
direction_accuracyDirection Accuracy (%) — higher is better
max_errorMaximum single-point error — lower is better

One chart is rendered per model type — Linear Regression, XGBoost, and LSTM. Within each chart the layout depends on the data:

Aggregated view — when metrics were computed across all entities combined, a single solid line shows training metrics and a dashed line shows prediction metrics on the same chart.

Per-entity view — when metrics were computed per reactor entity, each entity gets its own colour. Solid lines show training metrics, dashed lines of the same colour show prediction metrics. This lets you compare performance across different reactors within the same experiment.

Model name variants such as XGBoost_v2 are split automatically into a base name (XGBoost) and variant — only the three base models are plotted to keep the charts uncluttered.

MessageMeaning
Loaded N rowsMetrics loaded successfully
No metrics availableNo models have been run for this experiment yet
No metrics match selected filtersMetrics exist but not for the selected type — try enabling both Training and Prediction checkboxes