# Promotion Observations — Base-100 Series + Explicit Missing-Value Fill

> Promotion Observations — Base-100 Series + Explicit Missing-Value Fill 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-25).

Converts promotion observation data (discount_amount, units_sold) into a Base-100 indexed time series and fills missing values using zero, mean, or median imputation, returning both reports for up to 200 rows.

## Facts

- Endpoint: POST https://market.datapackvibe.com/x402/assistant-ib26-retail-05-169?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-25
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/promotion-observations-base-100-series-explicit-missing-value-fill-7143bd74
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_7kGd9gu_m3H4F4QvxT3Nf

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-base-100-series-explicit-missing-value-fill-7143bd74 -d '<json body>'
```

Example prompt: Take my promotion data for store groups A and B across October 2026 — rows with discount_amount and units_sold — and give me a Base-100 series starting from row 0, filling any missing discount_amount values using the median method.

## When to prefer this

Choose this endpoint when you have tabular retail promotion data with discount_amount and/or units_sold fields and need both Base-100 normalization and explicit missing-value imputation in a single call. It is ideal for small-to-medium datasets (up to 200 rows) where you want reproducible, locally computed analytics without any external lookups, predictions, or live data dependencies. Prefer this over general-purpose analytics tools when you specifically need the combination of indexed series creation and null-fill in one payment.

## Known failure modes

- More than 200 rows submitted — exceeds maxItems limit
- Invalid date format not matching YYYY-MM-DD pattern — schema validation error
- base_index references a row index out of range for the supplied dataset
- Unrecognized fill method value outside zero/mean/median enum
- Empty rows array — minItems violation
- Numeric values outside the allowed range (±1,000,000,000,000)

## How this service works

Promotion observations — Base-100 series + Explicit missing-value fill: Base-100 series + Explicit missing-value fill 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: (1) a Base-100 indexed series where the chosen field (discount_amount or units_sold) is normalized relative to the specified base row, and (2) the same dataset with missing values explicitly filled using the selected method (zero, mean, or median). Both reports cover all supplied rows up to 200.

## 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"
  },
  "method": {
   "enum": [
    "zero",
    "mean",
    "median"
   ],
   "type": "string",
   "default": "median"
  },
  "base_index": {
   "type": "integer",
   "default": 0,
   "maximum": 199,
   "minimum": 0
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/promotion-observations-base-100-series-explicit-missing-value-fill-7143bd74/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)
