{"uid":"cap_R1tMdPwOHt2IoQg9BXtew","slug":"data-freshness-analytics-string-normalisation-adjacent-row-changes-31bed7e6","name":"Data Freshness Analytics: String Normalisation + Adjacent Row Changes","description":"Data freshness — String normalisation + Adjacent row changes: String normalisation + Adjacent row changes for supplied data freshness records (age_minutes, record_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.","url":"https://market.datapackvibe.com/x402/assistant-ib26-analytics-06-029?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"rows":{"type":"array","items":{"type":"object","required":["row_id","dataset_group","date","age_minutes","record_count"],"properties":{"date":{"type":"string","default":"","pattern":"^\\d{4}-\\d{2}-\\d{2}$","maxLength":10},"row_id":{"type":"string","default":"","maxLength":80,"minLength":1},"age_minutes":{"type":["number","null"],"maximum":1000000000000,"minimum":-1000000000000},"record_count":{"type":["number","null"],"maximum":1000000000000,"minimum":-1000000000000},"dataset_group":{"type":"string","default":"","maxLength":80}},"additionalProperties":false},"default":[{"date":"2026-10-01","row_id":"row-1","age_minutes":10,"record_count":1,"dataset_group":"group-a"},{"date":"2026-10-02","row_id":"row-2","age_minutes":20,"record_count":2,"dataset_group":"group-b"},{"date":"2026-10-03","row_id":"row-3","age_minutes":15,"record_count":3,"dataset_group":"group-a"},{"date":"2026-10-04","row_id":"row-4","age_minutes":30,"record_count":4,"dataset_group":"group-b"}],"maxItems":200,"minItems":1},"field":{"enum":["age_minutes","record_count"],"type":"string","default":"age_minutes"}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.01","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.01/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_nBV2UY-ldVmGEArp1CKWR","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.01","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Runs two local analytical reports on supplied data freshness records — string normalisation and adjacent row change detection — for up to 200 rows of age_minutes or record_count data.","exampleAgentPrompt":"Can you run string normalisation and adjacent row change detection on my data freshness records? I have rows with date, row_id, dataset_group, age_minutes, and record_count — up to 50 rows — and I want the analysis focused on the age_minutes field.","exampleUseCases":[{"title":"Pipeline freshness drift detection","prompt":"I have 80 rows of daily pipeline freshness logs with date, row_id, dataset_group, age_minutes, and record_count. Can you run adjacent row change detection on the age_minutes field so I can spot where data started going stale?"},{"title":"Dataset group label normalisation","prompt":"My freshness records have inconsistent dataset_group strings across 120 rows — things like 'Group A', 'group-a', 'GROUP_A'. Can you run string normalisation across those rows so I get consistent labels back?"},{"title":"Record count anomaly review","prompt":"I've got 40 rows of data freshness snapshots. Run both the string normalisation and adjacent row change reports on record_count — I want to see where counts jumped between consecutive rows and whether any group labels need cleaning up."}],"resultDescription":"Two analytical reports for the submitted rows: (1) a string normalisation report standardising text fields like dataset_group, and (2) an adjacent row changes report identifying differences between consecutive rows for the selected numeric field (age_minutes or record_count). Results are computed locally without external lookups or predictions.","failureModes":["More than 200 rows submitted — request rejected due to maxItems constraint","Missing required fields (row_id, dataset_group, date, age_minutes, record_count) — validation error","Invalid date format not matching YYYY-MM-DD pattern — schema validation failure","Numeric field values outside allowed range (-1e12 to 1e12) — validation error","Empty rows array — minItems constraint violation","Payment not completed — x402 payment required before processing"],"whenToPreferThis":"Choose this endpoint when you have up to 200 data freshness records and need two specific offline analyses — string normalisation of label fields and adjacent row change detection on a numeric freshness metric — without requiring live data lookups, predictions, or external integrations. It is cost-effective at $0.01 USDC for both reports simultaneously.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-18T00:57:34.767Z","isFirstParty":false,"canonicalSlug":"data-freshness-analytics-string-normalisation-adjacent-row-changes-31bed7e6"}