ARCNM Compare Environments
arcnm_compare_environmentsCompare the same part(s) priced across several rate environments — the parts × environments matrix of a multi-environment run. Pass the batch_id returned by a multi-environment quote/batch, OR an explicit list of calculation_ids (e.g. runs of the same part from different days). Returns, per part, the offer price (and the unit cost before surcharges) in every environment and the environment with the lowest offer price (ties included), and per environment the win count, basket total and median delta vs the baseline — all server-computed, identical to what the API and UI report. Read-only — does not re-price. To START a multi-environment run, create a batch with costing_environment_ids first. Up to 200 calculation_ids, and the pivoted grid may not exceed 500 cells (parts x environments) — compare fewer runs, or fewer distinct environments, if it does.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| batch_id | No | ||
| calculation_ids | No | ||
| baseline_environment_id | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| parts | No | ||
| batch_id | No | ||
| complete | Yes | False while any cell is still computing — don't call a winner yet. | |
| guidance | No | What the comparison shows and what to do next. | |
| not_found | No | ||
| environments | No | ||
| mixed_currency | No | True when environments quote in different currencies; deltas and totals are then restricted to same-currency cells. | |
| mixed_calibration | No | True when the compared environments were not all priced under the same calibration — at least one is aligned to the tenant's reported costs and another is the unaligned estimate. The deltas are real, but part of the gap may be alignment rather than the environments. Say so before recommending a winner. | |
| ignored_duplicates | No | Calculation ids dropped from the grid because a newer run of the same part in the same environment was also supplied — newest per (part, environment) wins. Non-empty means the matrix shows fewer cells than ids passed; compare older-vs-newer runs of one part with arcnm_compare_calculations instead. | |
| baseline_environment_id | No |