# Question Bank Coverage — String Normalisation + Trailing Mean Series

> Question Bank Coverage — String Normalisation + Trailing Mean Series 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-23).

Runs string normalisation and trailing mean series analysis on question bank coverage records (item_count, objective_count) for up to 200 rows, returning two analytical reports.

## Facts

- Endpoint: POST https://market.datapackvibe.com/x402/assistant-ib26-education-18-028?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-23
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/question-bank-coverage-string-normalisation-trailing-mean-series-ded2718d
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_KLD-aOtGdx0hbiKYv_ax2

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 question-bank-coverage-string-normalisation-trailing-mean-series-ded2718d -d '<json body>'
```

Example prompt: Run a string normalisation and trailing mean series (window of 3) on my question bank coverage data using item_count as the field — I have 5 rows: row-1 2026-10-01 group-a item_count=10 objective_count=2, row-2 2026-10-02 group-b item_count=20 objective_count=3, row-3 2026-10-03 group-a item_count=15 objective_count=4, row-4 2026-10-04 group-b item_count=30 objective_count=5, row-5 2026-10-05 group-a item_count=25 objective_count=6.

## When to prefer this

Choose this endpoint when you need both string normalisation of categorical labels (course groups) and a trailing mean smoothing series for numeric question bank coverage metrics in a single low-cost call. Ideal for education analytics pipelines processing up to 200 rows of time-series coverage data without requiring live lookups or external data sources. Best when you need two bundled local analytical reports at minimal cost ($0.01 USDC).

## Known failure modes

- Fewer than 1 row submitted returns a validation error
- Window size larger than number of rows may yield incomplete trailing mean values or error
- Missing required fields (row_id, date, course_group) cause schema validation failure
- date values not matching YYYY-MM-DD pattern are rejected
- More than 200 rows submitted exceeds the maximum and is rejected
- Null numeric values in item_count or objective_count may produce gaps in the trailing mean series

## How this service works

Question bank coverage — String normalisation + Trailing mean series: String normalisation + Trailing mean series for supplied question bank coverage records (item_count, objective_count). 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 string-normalisation report standardising course_group labels and text fields across submitted rows, and (2) a trailing mean series for the selected numeric field (item_count or objective_count) computed with the specified window size over up to 200 supplied rows. No external data is fetched; all computation is local to the engine.

## Request schema (JSON Schema)

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

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/question-bank-coverage-string-normalisation-trailing-mean-series-ded2718d/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)
