docsendpointsaccuracy-summary

Accuracy Summary

GET/api/v1/accuracy/summary

Aggregate accuracy stats: MAE, bias, std dev, RMSE, and sample count. Filter by station_id or city. Supports rolling window (days) or explicit date range (date_from/date_to). CSV export available. For metric=low, the database must have non-null forecast_low_f in weather_forecasts and running/final low in weather_daily_highs—otherwise responses are empty.

Parameters

NameTypeRequiredDescription
station_idstringoptionalICAO station identifier (e.g., KLAX)
citystringoptionalFilter by city name (e.g., Chicago maps to KMDW)
daysintegeroptionalRolling window in days (max 365) Default: 90
date_fromYYYY-MM-DDoptionalStart of data window (overrides days when used with date_to)
date_toYYYY-MM-DDoptionalEnd of data window
formatstringoptionaljson or csv Default: json
metricstringoptionalhigh (default) or low — daily high vs daily low verification Default: high

Response Fields

FieldTypeDescription
verification_pairsintegerNumber of forecast-actual pairs
unique_daysintegerDistinct calendar days with data
mean_errorfloatMean error in °F (negative = under-predicted)
std_devfloatStandard deviation of forecast errors
maefloatMean Absolute Error in °F
rmsefloatRoot Mean Square Error in °F
abs_error_p50floatMedian absolute error (50th percentile) °F
abs_error_p90float90th percentile absolute error °F
abs_error_p95float95th percentile absolute error °F
cURL
# Daily high (default)
curl -s -H "Authorization: Bearer $API_KEY" "https://api.deltadaemon.com/api/v1/accuracy/summary?station_id=KMDW&days=30"
# Daily low (forecast_low vs observed low)
curl -s -H "Authorization: Bearer $API_KEY" "https://api.deltadaemon.com/api/v1/accuracy/summary?station_id=KMDW&days=30&metric=low"
JSON
{
"success": true,
"data": {
"verification_pairs": 872,
"unique_days": 5,
"mean_error": 1.43,
"std_dev": 8.13,
"mae": 5.77,
"rmse": 8.25,
"abs_error_p50": 3.6,
"abs_error_p90": 13.2,
"abs_error_p95": 18.09
},
"metadata": {
"generated_at": "2026-02-22T07:53:22.547425467Z",
"days_analyzed": 30,
"period_start": "2026-01-23",
"period_end": "2026-02-22",
"total_records": 872,
"query_time_ms": 5,
"accuracy_metric": "high",
"error_convention": "forecast_minus_actual",
"verification_coverage": {
"verified_days": 82,
"preliminary_days": 8,
"verified_pct": 0.9111
}
}
}