Open the geography first
Most civic data problems are not analysis problems. They are the consequence of five departments describing the same place in five incompatible ways.
Civiq.plus research · Platform architecture
Ask five departments in the same district how many open water complaints exist in a given ward and you will get five numbers. None of them are wrong. They are answers to five slightly different questions, because each department holds a different definition of the ward, a different notion of open, and a different idea of what counts as a complaint.
This is usually diagnosed as a data quality problem and treated with a cleaning exercise. It is actually a modelling problem, and cleaning does not fix it because the next month's data arrives with the same divergence.
GeoUnit as a first-class entity
The core architectural commitment in Civiq.plus is that every relevant record references a geographic unit identifier, and aggregation follows a single parent-child tree. Not a mapping table maintained by hand. Not a fuzzy join on ward name. One tree, configured once per deployment, that every module resolves against.
The hierarchy itself is configuration rather than code, because administrative structures differ by country and by state. What is constant is that a ward's numbers roll into its district, and a district's into its state, without anyone reconciling anything.
Why this changes the interface
Once geography is the organising primitive, the natural interaction becomes select a place and see everything about it, rather than select a report and hope it covers the place you care about. Every campaign, grievance, survey, event, community signal, media narrative and field report attaches to a unit and becomes part of that place's timeline.
That timeline is the thing teams end up using most. Not the map, not the score — the ordered list of what happened here, which finally lets someone answer why did satisfaction drop in March with evidence rather than a hypothesis.
The discipline it demands
The cost is that intake becomes stricter. A feedback record without a resolvable geographic unit cannot be filed, and that is a real friction at the edges — a caller who cannot describe where they are, a report from a boundary area, a newly reorganised municipal zone.
We think this friction is correctly placed. Resolving location at intake is annoying for one person once. Resolving it retrospectively across four hundred thousand records is a project that never quite finishes.