# Promotion Observations — Numeric Interval Filter + Two-Measure Correlation

> Promotion Observations — Numeric Interval Filter + Two-Measure Correlation is a paid API for AI agents from market.datapackvibe.com, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-26).

Filters promotion records by a numeric interval on a selected field and computes the Pearson correlation between discount_amount and units_sold across up to 200 supplied rows.

## Facts

- Endpoint: POST https://market.datapackvibe.com/x402/assistant-ib26-retail-05-131?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-26
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/promotion-observations-numeric-interval-filter-two-measure-correlation-87c638ff
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_qvXZc9LVc5zrxCYJjRH0i

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability promotion-observations-numeric-interval-filter-two-measure-correlation-87c638ff -d '<json body>'
```

Example prompt: I have up to 200 rows of promotion data with discount_amount and units_sold — can you filter to records where discount_amount is between 5 and 75, then run a two-measure correlation between discount_amount and units_sold across the filtered set?

## When to prefer this

Choose this endpoint when you have up to 200 pre-assembled promotion observation rows (with discount_amount and units_sold fields) and need both a numeric range filter and a two-measure correlation in a single low-cost ($0.01 USDC) call. Prefer it over general-purpose analytics tools when working within a retail/promotion context and you want bundled interval filtering plus correlation without setting up a data pipeline or external BI tool.

## Known failure modes

- Input rows array is empty or exceeds 200 items — request rejected
- minimum value greater than maximum value — invalid interval, likely returns error or empty filter
- missing required fields (row_id, store_group, date, discount_amount, units_sold) in any row — validation failure
- all values null for a measure — correlation undefined or NaN returned
- date strings not matching YYYY-MM-DD pattern — schema validation error
- payment not included or insufficient — x402 payment required response

## How this service works

Promotion observations — Numeric interval filter + Two-measure correlation: Numeric interval filter + Two-measure correlation for supplied promotion observations records (discount_amount, units_sold). Up to 200 rows; 2 independent reports using shared local analytical engines. No live lookup, prediction, professional assessment or external action. 0.01 USDC includes 2 supplied-data reports for up to 200 rows.

## Output

Returns two analytical reports sharing the same local engine: (1) a filtered subset of promotion rows where the selected field (discount_amount or units_sold) falls within the specified minimum–maximum interval, and (2) a two-measure correlation result quantifying the statistical relationship between discount_amount and units_sold across the supplied data. No external lookups or predictions are made; all analysis is performed on the caller-supplied rows.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "rows": {
   "type": "array",
   "items": {
    "type": "object",
    "required": [
     "row_id",
     "store_group",
     "date",
     "discount_amount",
     "units_sold"
    ],
    "properties": {
     "date": {
      "type": "string",
      "default": "",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "maxLength": 10
     },
     "row_id": {
      "type": "string",
      "default": "",
      "maxLength": 80,
      "minLength": 1
     },
     "units_sold": {
      "type": [
       "number",
       "null"
      ],
      "maximum": 1000000000000,
      "minimum": -1000000000000
     },
     "store_group": {
      "type": "string",
      "default": "",
      "maxLength": 80
     },
     "discount_amount": {
      "type": [
       "number",
       "null"
      ],
      "maximum": 1000000000000,
      "minimum": -1000000000000
     }
    },
    "additionalProperties": false
   },
   "default": [
    {
     "date": "2026-10-01",
     "row_id": "row-1",
     "units_sold": 1,
     "store_group": "group-a",
     "discount_amount": 10
    },
    {
     "date": "2026-10-02",
     "row_id": "row-2",
     "units_sold": 2,
     "store_group": "group-b",
     "discount_amount": 20
    },
    {
     "date": "2026-10-03",
     "row_id": "row-3",
     "units_sold": 3,
     "store_group": "group-a",
     "discount_amount": 15
    },
    {
     "date": "2026-10-04",
     "row_id": "row-4",
     "units_sold": 4,
     "store_group": "group-b",
     "discount_amount": 30
    }
   ],
   "maxItems": 200,
   "minItems": 1
  },
  "field": {
   "enum": [
    "discount_amount",
    "units_sold"
   ],
   "type": "string",
   "default": "discount_amount"
  },
  "maximum": {
   "type": "number",
   "default": 100,
   "maximum": 1000000000000,
   "minimum": -1000000000000
  },
  "minimum": {
   "type": "number",
   "default": 0,
   "maximum": 1000000000000,
   "minimum": -1000000000000
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/promotion-observations-numeric-interval-filter-two-measure-correlation-87c638ff/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from market.datapackvibe.com](https://www.zero.xyz/host/market.datapackvibe.com/llms.txt)
