# Promotion Observations — Exact Row Deduplication + Secondary-Measure Weighted Mean

> Promotion Observations — Exact Row Deduplication + Secondary-Measure Weighted Mean 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).

Deduplicates promotion observation rows exactly and computes a secondary-measure weighted mean for discount_amount or units_sold data, returning two analytical reports from up to 200 rows.

## Facts

- Endpoint: POST https://market.datapackvibe.com/x402/assistant-ib26-retail-05-051?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-exact-row-deduplication-secondary-measure-291485f1
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_dBJjCDagKioi9GjlMjpKi

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-exact-row-deduplication-secondary-measure-291485f1 -d '<json body>'
```

Example prompt: Can you deduplicate these promotion observation rows and compute the secondary-measure weighted mean for discount_amount? I have 4 records: row-1 for group-a on 2026-10-01 with discount_amount 10 and units_sold 1, row-2 for group-b on 2026-10-02 with discount_amount 20 and units_sold 2, row-3 for group-a on 2026-10-03 with discount_amount 15 and units_sold 3, and row-4 for group-b on 2026-10-04 with discount_amount 30 and units_sold 4.

## When to prefer this

Choose this endpoint when you have up to 200 promotion observation records with discount_amount and units_sold fields and need both exact row deduplication and a weighted mean computation in a single paid call. It is ideal for retail analytics pipelines where data quality (duplicates) and aggregated promotion metrics (weighted averages) are needed together without standing up local infrastructure. It is not suitable for live data lookups, predictions, datasets exceeding 200 rows, or fields other than discount_amount and units_sold.

## Known failure modes

- More than 200 rows submitted — request rejected with validation error
- Missing required fields (row_id, store_group, date, discount_amount, units_sold) — validation error per row
- Invalid date format (not YYYY-MM-DD) — schema validation failure
- Field value outside allowed numeric range (±1,000,000,000,000) — rejected
- Payment not fulfilled (x402 protocol) — 402 response requiring USDC payment
- Empty rows array — minItems constraint violation

## How this service works

Promotion observations — Exact row deduplication + Secondary-measure weighted mean: Exact row deduplication + Secondary-measure weighted mean 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) an exact row-deduplicated version of the supplied promotion observation rows, and (2) a secondary-measure weighted mean computed over the specified field (discount_amount or units_sold) across the deduplicated dataset, covering up to 200 input 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"
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/promotion-observations-exact-row-deduplication-secondary-measure-291485f1/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)
