{
"_links": {
"cashflow_forecast": "/api/cashflow/forecast?as_of=2026-10-07&weeks=4",
"self": "/api/payroll/forecast?as_of=2026-10-07&weeks=4",
"summary": "/api/payroll/summary?from_date=2024-10-07&to_date=2026-10-07"
},
"anomalies_excluded": [
{
"median_window": 15120.4,
"net": 41230.55,
"pay_date": "2026-09-03",
"pay_id": 5512,
"reason": "iqr_upper_outlier"
}
],
"as_of_date": "2026-10-07",
"base_recent": {
"employer_burden_cash": 6264.65,
"employer_cost_cash": 32310.45,
"gross": 26045.8,
"net": 15340.25,
"periods_excluded_anomaly": 1,
"periods_used": 6,
"weights": [
6,
5,
4,
3,
2,
1
]
},
"cache": {
"age_seconds": 0,
"cached_at": "2026-10-07T13:19:15-04:00",
"expires_at": "2026-10-07T17:19:15-04:00",
"force_refreshed": false,
"key_hash": "sha1:374a7aa0d6ed6da73853b4004330bc9e614287c4",
"status": "miss",
"ttl_policy": "current_period_4h",
"ttl_remaining_seconds": 14400
},
"confidence_score": 90,
"filter": {
"exclude_anomalies": true,
"include_archived": false,
"lookback_months": 24,
"recent_periods": 6
},
"frequency": {
"confidence": "high",
"frequency_days": 7,
"is_inferred": true,
"median_gap_days": 7,
"sample_size": 52,
"std_dev_days": 0,
"value": "weekly"
},
"future_pays": [
{
"confidence_score": 90,
"forecast_date": "2026-10-08",
"forecast_employer_burden_cash": 6884.1,
"forecast_employer_cost_cash": 35502.85,
"forecast_gross": 28618.75,
"forecast_net": 16856.4,
"growth_count_applied": 1.0465,
"month": 10,
"pay_index": 1,
"seasonal_factor_net": 1.05
}
],
"growth": {
"count_prev": 43,
"count_recent": 45,
"growth_count": 1.0465,
"is_available": true,
"is_count_clamped": false,
"method": "employee_count",
"pay_per_employee_trend": {
"applied_to_forecast": false,
"note": "Exposé pour transparence — non appliqué au calcul",
"value": 1.03
},
"raw_growth_count": 1.0465,
"window_prev": {
"from": "2025-07-09",
"to": "2025-10-07"
},
"window_recent": {
"from": "2026-07-09",
"to": "2026-10-07"
}
},
"horizon": {
"from": "2026-10-07",
"to": "2026-11-04",
"weeks": 4
},
"metadata": {
"anomalies_excluded_count": 1,
"extracted_at": "2026-10-07T13:19:15-04:00",
"lookback_window": {
"from": "2024-10-07",
"months": 24,
"to": "2026-10-07"
},
"module_status": {
"active": true,
"has_historical_data": true
},
"organisation_id": "construction_demo",
"pays_scanned": 104,
"pays_used_for_base": 103,
"pays_used_for_seasonality": 103,
"profile_age_days": 2,
"profile_calculated_at": "2026-10-05T08:12:40-04:00",
"profile_expires_at": "2026-10-12T08:12:40-04:00",
"scope": "non_archived_only",
"sdk_indexes_used": {
"Pay": [
1
],
"Salary": [
1
]
},
"semantic_version": "v1"
},
"seasonal_factors": {
"employer_cost_cash": [
0.82,
0.85,
0.93,
1.02,
1.1,
1.14,
1.08,
1.12,
1.09,
1.05,
0.97,
0.83
],
"gross": [
0.82,
0.85,
0.93,
1.02,
1.1,
1.14,
1.08,
1.12,
1.09,
1.05,
0.97,
0.83
],
"net": [
0.82,
0.85,
0.93,
1.02,
1.1,
1.14,
1.08,
1.12,
1.09,
1.05,
0.97,
0.83
]
},
"summary": {
"future_pays_count": 4,
"total_forecast_employer_burden_cash": 27153.75,
"total_forecast_employer_cost_cash": 140028.4,
"total_forecast_gross": 112874.65,
"total_forecast_net": 66482.1
}
}