GeoScore methodology
How the index is built: design principles, the absolute scale, the aggregation scheme, and the rules that decide whether an indicator gets into the index at all.
Document status
Version 9 architecture. Axis and subindex weights are being calibrated and are not published here — what is published is the structure, the aggregation operators and the admission rules. If you are evaluating us ahead of an integration, this is the page to read, not the marketing one.
Ten design principles
These are constraints the index imposes on itself. Each one closes off a specific way of producing a number that looks good and means nothing.
- 1
One index, one value, one moment in time
GeoScore describes the state of a location today. Everything about the future — construction, plans, migration — lives in a separate momentum index. Otherwise it is unclear whether "72" means now or in three years.
- 2
Every element answers exactly one question
And belongs to exactly one parent. An industrial zone is split by the kind of effect it has: emissions go to environment, accident probability and the protection zone go to technogenic risk, jobs go to the economic base.
- 3
An absolute scale with external anchors
No score in the main index depends on the national distribution.
- 4
The equal-coverage rule
An indicator enters the main index only with national coverage of at least 90% and no systematic regional bias. Everything else goes into a city extension layer or into context flags.
- 5
Not everything is monotonic
Built density, building height and the jobs-per-resident balance have an optimum — more is not simply better. They need an inverted-U transform, not a linear ramp.
- 6
Access is not only distance
Every service is measured on four facets: proximity, capacity, choice and quality. "One pharmacy" and "twenty pharmacies" must not score the same.
- 7
Risk is not averaged in with amenities
Risk is aggregated non-compensatorily and applied to the index as a multiplier, not as a term in a sum.
- 8
Missing data is not a value
Three explicit modes: a neutral value with a coverage flag; the worst value, used only where the absence of the facility is itself the measurement; and full exclusion, with the weight redistributed inside the component.
- 9
No price inside the index
GeoScore is a feature in ASINT's valuation model. Any indicator derived from listings or transactions makes the index circular and is forbidden.
- 10
The structure is checked after it is built
If a subindex correlates above 0.90 with a neighbour it is a duplicate and gets merged. If a principal-component analysis over the subindexes yields fewer than three significant factors, the structure has not earned its size.
What "absolute" actually requires
Six requirements. The index is absolute only if all six hold — not five.
3.1The scale is tied to an external anchor
For every indicator the 0 and 100 points come from a source outside the project: a building code, a WHO guideline, a physical limit, an international standard. Percentiles are forbidden in the main index.
3.2The scale saturates
Every indicator has a point beyond which things do not get better: 500 m to a school and 50 m to a school are both "the norm is met". A cell's score does not change when a different cell changes.
3.3The meaning of a value is fixed
0 — the facility is absent or the norm is grossly violated · 25 — the lower bound of acceptable · 50 — the national norm is met · 75 — good practice · 100 — international best practice or the physical maximum.
3.4One anchor for the whole country
The norm is not adapted per region. If the average distance to a clinic in Karakalpakstan is 6 km, the score must show that rather than normalising to the Karakalpak average.
3.5The source is uniform nationwide
One indicator, one source, the same collection logic everywhere. Mixing open map data in cities with a registry in villages is not allowed: a gap in completeness becomes a gap in scores.
3.6A coverage admission gate
Coverage of at least 90% of inhabited cells; coverage in the worst region at least 0.8 of the best; missingness uncorrelated with territory type. Fail it and the indicator goes to a city layer, a context flag, or the backlog. Never a neutral 50 across most of the country.
Hierarchy levels
Six levels, from the index down to a single measurement. Codes are stable: renaming a label does not change its code, so an integration does not break because of an editorial edit.
The indicator passport
Mandatory fields for every leaf of the tree. An indicator without a complete passport does not make it into a build.
code / name_ru / name_en / name_uzCode and names in all three languagesdefinitionDefinition: what exactly is measured, in words, without ambiguityunit, directionUnit and direction: metres, downward — less means betterspatial_opSpatial operator: cell, ring, distance decay, isochrone, two-step catchmenttransformTransform: linear ramp, logarithmic, or a band with an optimumanchors, anchor_sourceAnchors and their source: 500 and 1500 m per the building codecoverage, missing_policyCoverage and the missing-data policysource, refresh, owner, versionSource, refresh frequency, owner, versionIndicator admission rules
All seven are mandatory. An indicator that fails even one does not enter the main index.
- A theoretical justification — why this affects the quality of a place at all
- Coverage, per the equal-coverage rule
- An external anchor for the 0 and 100 points
- Discriminating power — the share of tied values below a threshold
- Non-redundancy — absolute correlation below 0.85 with neighbours inside the component
- Reproducibility — the calculation repeats from the same inputs
- No circularity with price
The aggregation scheme
Weights are not set here. What is set is the operators, and where compensation is allowed and where it is not.
indicator → subcomponentweighted meansubcomponent → componentweighted meancomponent → subindexmean with an imbalance penaltysubindex → axes I, IImean with an imbalance penaltysubindexes 8, 9 → axis IIInon-compensatory: a severe hazard is not damped by a mild oneFinal assembly
GeoScore = Q(I, II) × RiskFactor(III)Opportunity and Quality of Place are combined with limited compensation, and Risk is applied to the result as a multiplier — ranging from a floor value up to one.
Limited compensation instead of full
A plain weighted mean lets transport at 95 fully compensate for an environment at 20. An imbalance penalty pulls down locations with a collapse in one dimension — without creating the geometric-mean problem where a single zero wipes out everything.
Risk is a multiplier, not a term
A place in a dam-breach zone does not get better because there is a school nearby. The multiplier's range is fixed explicitly so the penalty stays interpretable.
Influence is published, not just weight
Alongside every weight we publish an influence index: with correlated inputs, a nominal weight is almost never equal to actual influence. In the previous version transport had the largest weight and only the third-largest influence.
The missing-data policy
Missing data is not zero and not the average. Three explicit modes; the choice is recorded in the indicator's passport.
Neutral with a flag
A neutral value plus a coverage flag. Used when the absence of data says nothing about the place itself.
Worst value
Used only where the absence of the facility is itself the measurement — for example, no school at all within the access radius.
Exclude the indicator
The indicator is not computed at all and its weight is redistributed inside the component. This is the working mode for subindexes that currently ship in reduced form.
Published next to the index, but not inside it
The reasons differ: time horizon, circularity with price, being categorical, or being a metric about the index rather than about the place.
momentum — development dynamics
A separate 0–100 score with the same architecture: construction activity, planned infrastructure, demographic dynamics, market activity, investment pressure. The market block is our own data, and that is precisely why it lives here: an index containing price cannot be used as a feature in a price model.
The context layer
Attributes without a score: administrative names, settlement type, land category and designated use, master-plan zone, protection zones, coverage flags. The rule: a attribute present in fewer than 90% of cells, or that is a category rather than a magnitude, is a flag, not an indicator.
The relative view
The percentile of the absolute score within its own territory class. The absolute score answers "how good is this place"; the relative one answers "how good is it for a place of this type". The two numbers are published side by side and never mixed.
Derived outputs
Investment priority as the shortfall in score multiplied by population — where an investment reaches more people. And a population-weighted Gini coefficient by region — how unevenly quality is distributed within a region.
The registry and its gaps
329 indicators. Readiness is uneven, and we publish it as it is.
Nearly half the registry is available without a single external agreement. The remaining gaps cluster into three blocks: utility networks and amenities; welfare, demography and safety; hazardous facilities and pollution. Three or four agreements close half of all gaps. The hungriest subindexes are built environment and social environment: both are new, and until the data arrives they ship in reduced form.
What this document does not settle
An honest list of open questions is more useful than the absence of one.
- The numeric weights of axes and subindexes — being calibrated, not published here
- The floor value of the risk multiplier — fixed by a separate decision
- Exact anchor thresholds for those indicators where no national norm exists
- The composition of the built-environment and social-environment subindexes until external data arrives
Need the detail on a specific indicator?
We will send the indicator passport, its source, anchors and current coverage