Baseline Variance Analysis
Compares the current schedule against an approved baseline to detect variance, drift, and execution performance signals.\n\nPerformance indicators: BEI, Critical Path BEI, SPI(t), variance severity, on-track percentage.\n\nOptional analysis:\n- include_trends — multi-period variance trend analysis\n- include_evms_trends — EVMS SPI/CPI/EAC indices over time\n- include_forecast_trends — EAC forecast stability tracking\n- include_logic_changes — dependency graph drift detection\n\nMatch strategies: id (default), id_and_wbs, wbs_hierarchy, fuzzy_id.\n\nTier access: Starter and above.\n\nStandards: GAO BP-10, DCMA Check #14 (BEI), AACE RP 29R-03.
Request example
json{
"tasks": [
{
"id": "T1",
"duration_days": 5
}
]
}Request fields from OpenAPI contract
Required fields and the optional fields that change this call are listed here. The shared task model stays on the task schema guide.This table is generated from the endpoint schema in openapi.json.
| Field | Type | Required | Description |
|---|---|---|---|
| current_schedule | object | Required | Current schedule snapshot for baseline comparison. |
| current_schedule.tasks | array<unknown> | Required | No description in OpenAPI contract. |
| current_schedule.tasks[].id | string | Required | Unique task identifier |
| current_schedule.status_date | string | Required | No description in OpenAPI contract. |
| baseline_schedule | object | Required | Approved baseline schedule for comparison. |
| baseline_schedule.tasks | array<unknown> | Required | No description in OpenAPI contract. |
| baseline_schedule.tasks[].id | string | Required | Unique task identifier |
| baseline_schedule.baseline_date | string | Required | No description in OpenAPI contract. |
| schedule_history | array<unknown> | Optional | No description in OpenAPI contract. |
| schedule_history[].snapshot_date | string | Optional | No description in OpenAPI contract. |
| schedule_history[].tasks | array<unknown> | Optional | No description in OpenAPI contract. |
| schedule_history[].tasks[].id | string | Optional | Unique task identifier |
| schedule_history[].tasks[].duration_days | number | Optional | Task duration in days |
| schedule_history[].tasks[].predecessors | array<string | object | unknown> | Optional | List of predecessor task IDs or dependency links. Supports: 'T1', 'T1FS+5 d', 'T2SS-2 d', or DependencyLink objects |
| schedule_history[].tasks[].name | string | null | Optional | Task name |
| schedule_history[].tasks[].resource | string | null | Optional | Resource assigned to task |
| schedule_history[].tasks[].resources | array<string> | Optional | List of resources assigned (for multi-resource tasks) |
| schedule_history[].tasks[].percent_complete | number | Optional | Percent complete (0-100) |
| schedule_history[].tasks[].physical_percent_complete | number | null | Optional | Physical percent complete (0-100). Manual EVM entry by scheduler (MSP PhysicalPercentComplete). Authoritative for BCWP calculations. Captured separately from percent_complete on MSP imports. |
| schedule_history[].tasks[].planned_start | string | null | Optional | Planned start date (ISO 8601) |
| schedule_history[].tasks[].planned_finish | string | null | Optional | Planned finish date (ISO 8601) |
| schedule_history[].tasks[].actual_start | string | null | Optional | Actual start date (ISO 8601) |
| schedule_history[].tasks[].actual_finish | string | null | Optional | Actual finish date (ISO 8601) |
| schedule_history[].tasks[].baseline_start | string | null | Optional | Baseline start date (ISO 8601) |
| schedule_history[].tasks[].baseline_finish | string | null | Optional | Baseline finish date (ISO 8601) |
| schedule_history[].tasks[].constraint_type | string | null | Optional | Constraint type: ASAP, ALAP, SNET, SNLT, FNET, FNLT, MSO, MFO |
| schedule_history[].tasks[].constraint_date | string | null | Optional | Constraint date if applicable (ISO 8601) |
| schedule_history[].tasks[].task_type | string | null | Optional | Task type classification. Valid values: task (default), milestone, loe, summary, schedule_margin, planning_package, slpp, schedule_visibility. Drives DCMA check exclusions per PAM 200.1 § 3.2. |
| schedule_history[].tasks[].wbs_code | string | null | Optional | WBS code (e.g., '1.2.3') |
| schedule_history[].tasks[].organization_code | string | null | Optional | Org/dept identifier for anomaly categorization (Progress Audit) |
| schedule_history[].tasks[].custom_field_map | object | null | Optional | All WBS/OBS-pattern custom fields discovered in this MS Project file, keyed by alias (e.g., 'CWBS', 'OBS'). Null for XER imports or when no matching aliases exist. |
| schedule_history[].tasks[].forecast_start | string | null | Optional | Current forecast start date (ISO 8601) |
| schedule_history[].tasks[].forecast_finish | string | null | Optional | Current forecast finish date (ISO 8601) |
| schedule_history[].tasks[].total_float_days | number | null | Optional | Pre-computed total float in days. Auto-computed by CPM if absent. |
| schedule_history[].tasks[].baseline_duration_days | number | null | Optional | Baseline duration in days. Auto-computed from baseline dates if absent. |
| schedule_history[].tasks[].delay_category | string | null | Optional | Delay attribution category. Valid values: owner, contractor, design, procurement, weather, force_majeure. |
| schedule_history[].tasks[].earned_value | number | null | Optional | Earned Value (BCWP) in cost units. Requires options.include_ev_validation. |
| schedule_history[].tasks[].budgeted_cost | number | null | Optional | Budgeted Cost of Work Scheduled (BCWS) in cost units. |
| schedule_history[].tasks[].approval_required | boolean | null | Optional | Whether this task requires explicit approval before it can start. |
| schedule_history[].tasks[].approval_status | string | null | Optional | Approval workflow state. Valid values: not_required, pending, approved, rejected. |
| schedule_history[].planned_value_total | number | null | Optional | No description in OpenAPI contract. |
| schedule_history[].earned_value_total | number | null | Optional | No description in OpenAPI contract. |
| schedule_history[].actual_cost_total | number | null | Optional | No description in OpenAPI contract. |
| schedule_history[].budget_at_completion | number | null | Optional | No description in OpenAPI contract. |
| options | object | Optional | Options controlling baseline compare analysis. |
| options.match_strategy | string | Optional | No description in OpenAPI contract. |
| options.fuzzy_match_threshold | number | Optional | No description in OpenAPI contract. |
| options.variance_threshold_days | integer | Optional | No description in OpenAPI contract. |
| options.include_task_variances | boolean | Optional | No description in OpenAPI contract. |
| options.include_critical_path_only | boolean | Optional | No description in OpenAPI contract. |
| options.include_logic_changes | boolean | Optional | No description in OpenAPI contract. |
| options.include_oos_impact | boolean | Optional | No description in OpenAPI contract. |
| options.include_trends | boolean | Optional | No description in OpenAPI contract. |
| options.trend_analysis_periods | integer | Optional | No description in OpenAPI contract. |
| options.include_evms_trends | boolean | Optional | No description in OpenAPI contract. |
| options.eac_method | string | Optional | No description in OpenAPI contract. |
| options.include_forecast_trends | boolean | Optional | No description in OpenAPI contract. |
| options.variance_acceleration_threshold | number | Optional | No description in OpenAPI contract. |
| options.include_chart_data | boolean | Optional | No description in OpenAPI contract. |
Response example
json{
"score": 92,
"grade": "A"
}Response fields from OpenAPI contract
This table is generated from the endpoint response schema in openapi.json.
| Field | Type | Required | Description |
|---|---|---|---|
| status | string | Required | Top-level result status — always present in every response. |
| metadata | object | Required | Audit trail and processing context — always present, never null. |
| metadata.task_count | integer | Required | Number of tasks in the submitted schedule |
| metadata.endpoint | string | Required | Endpoint path e.g. /api/v1/health/score |
Schema
{
"$ref": "#/components/schemas/BellatorResponse_BaselineCompareData_"
}Authentication
- x-api-key header
Reference details
- Operation ID
- baseline_compare_api_v1_forensics_baseline_compare_post
- Section
- Forensics
- Tags
- Forensics
- Playground link
- /playground?endpoint=%2Fapi%2Fv1%2Fforensics%2Fbaseline-compare&method=post
Was this page helpful?
Your feedback helps us improve docs, reference pages, and Playground flows.
Topic: Baseline Variance Analysis · Page: /docs/api-reference/baseline_compare_api_v1_forensics_baseline_compare_post