Describe a metric change
did_it_changeScan a chronological numeric metric for departures from its own history using a rank-based Shiryaev-Roberts monitor; returns change state, direction, change points, and effect size.
Instructions
Scan one chronological numeric metric for departures from its own preceding observations, using a descriptive rank-based Shiryaev-Roberts monitor. Use this for a change-review queue; choose real_or_sampling when a measurement denominator may explain the movement, market_assessment when source/freshness gates matter, or spectral_assessment for a multi-series correlation panel. The first eight readings warm up the reference; comparison starts at reading nine. An alarm resets the reference and starts warmup again. Returns state (warming_up, steady, watch, changed), monitoring_statistic, direction, zero-based change_points and effect (delta in input units, robust_z, percentile from 0 to 100). The evidence field is a compatibility alias, not a calibrated e-value or p-value; never use it to assert valid_evalues in which_metrics_matter. No alarm does not establish stability. Example: {"values":[10,11,9,10,12,10,9,11,20]}.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| values | Yes | One to 2048 finite readings in chronological order, oldest first, with consistent units and cadence. The last entry is the current reading; no dates or missing values are inferred. | |
| half_life | No | Optional positive half-life measured in prior observations, not seconds. A reading this many positions older receives half the rank weight. Omit for equal weights; weighting remains descriptive, not calibrated. | |
| two_sided | No | Default true monitors upward and downward departures, with watch/changed thresholds 200/1000. False monitors upward only, with thresholds 100/500; thresholds are descriptive. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| n | No | Number of supplied observations. | |
| error | No | Validation or computation failure message; inspect MCP isError or the HTTP status. | |
| state | No | Current descriptive monitor state. | |
| effect | No | Latest reading compared with the current post-reset reference. | |
| method | No | Monitor construction and one-sided/two-sided mode. | |
| reading | No | Interpretation, including remaining warmup requirements. | |
| evidence | No | Compatibility alias of monitoring_statistic; not an e-value. | |
| validity | No | Descriptive assessment, not a probability or statistical certificate. | |
| watch_at | No | Descriptive watch threshold. | |
| weighted | No | Whether half-life weighting was requested. | |
| direction | No | Direction driving the positive monitor statistic. Null means unavailable or not applicable, never zero. | |
| guarantee | No | No statistical or market-performance guarantee is made. | |
| changed_at | No | Descriptive alarm threshold. | |
| is_e_value | No | The statistic is not a calibrated e-value. | |
| assumptions | No | Ordered statements or identifiers. | |
| change_points | No | Historical alarm indices. | |
| interpretation | No | Limits on interpreting a threshold crossing. | |
| statistic_type | No | Monitor family. | |
| monitoring_statistic | No | Descriptive Shiryaev-Roberts statistic. | |
| effect_reference_size | No | Preceding observations in the current reference. | |
| readings_since_change | No | Observations after the most recent alarm. Null means unavailable or not applicable, never zero. |