Mapgres Map Intelligence
The engine · Map Intelligence

Cleanse. Enrich.
Reason.

The pillar that turns raw, messy records into trustworthy geographic intelligence. Your data comes in; it's cleansed, resolved to place, enriched against open reference data, and scored — ready to map, query or sell on.

Pipeline · Stage 1

One ordered, channel-agnostic pipeline.

However your data arrives — Plugin, SFTP, API — it converges on the same path. Cleansing always runs before enrichment: you can't reliably enrich what you haven't cleaned.

Step 01

Extraction-In

Your records ingested and tagged — fields you declare, not a fixed shape.

Built
Step 02

Cleansing

Validate → normalise → de-duplicate, per field, producing a quality score + flags. A product in its own right (Validation) — clients can stop here.

Built · below
Step 03

Enrichment

Resolve to boundary, join open reference data → the signals you buy on Products.

Built
Step 04

Insights / BI

Reasoning, analysis and BI over the enriched data — the "why" layer.

Stage 2 · later
Cleansers · The machinery

Field cleansers, then record scoring.

Cleansing is tag-dispatched: a field-resolver maps each field to what it is (postcode, price, title/location→free-text), the matching cleanser runs, then record-level steps de-duplicate and score. Cleansers are configured, not bought — you buy the validation outcome, not "the Postcode Cleanser". Adding a field type = adding a cleanser; the pipeline never changes.

Postcode Cleanser

Validates and normalises UK postcodes — strips spaces, checks format, flags postcode_missing / postcode_outward_only / postcode_invalid_format.

tag · postcode

Price Cleanser

Parses and normalises prices — strips currency & thousands/decimal separators, caps outliers; flags price_missing / price_unparseable / price_format_corrected / price_capped.

tag · price

Free-text Cleanser

Cleans free-text fields (title, location) — strips HTML and trims; flags html_stripped / text_empty. New text fields resolve here by default.

tag · title | location

Deduplicator

Detects repeats within your dataset (e.g. same listing id) so they aren't double-counted; flags duplicate_listing_id.

tag · record-level

Quality-scorer

Aggregates every field's flags into a per-record quality score (0–100) and band that drives the enrich / flag / audit routing.

tag · record-level

+ Your field type

Register a field, add a cleanser implementing Cleanser_interface — the orchestrator + field-resolver are untouched. Bespoke cleansers on request.

extensible
What you get · Two products

Validation stands alone. Enrichment builds on it.

Sold as a product

Validation & Data Quality

A standalone data-quality service (SaaS) — clean, validate and score your records back into your own systems (CRM, BI, migrations, dedup), or run it upstream of enrichment. A 3-tier line: Validate (score 0–100 + flags + export), Validate+ (dedup + custom thresholds), Validate Pro (re-processing + change history + bespoke cleansers).

quality_scorequality_flagsvalidation_exportdedupre-processing
See the Validation tiers →
Sold as a product

Enrichment

Cleansed records resolved to boundary and joined to open reference data — deprivation, density, settlement, access — the signals priced as Plans, Packs and Signals.

imd_decilepopulation_densityrural_urban_class+ more
Browse the catalogue →
How it's priced

You buy outcomes, not machinery. Cleansers are pluggable pipeline components (configured, not sold). What's priced is the Validation outcome and the Enrichment signals — both on Products. Prefer it without a map? See Data Intelligence →