{"schemaVersion":"1.0","preparedAt":"2026-09-11T09:09:56.409275+00:00","sourceFiles":{"national_1500m.json":{"bytes":272354,"sha256":"b1c661b808729e0a19709076d32774319182607eacb4e1dd6b1c96d0022b2372"},"national_3000m.json":{"bytes":108962,"sha256":"6e61347b544a033a0213e3898fc2b1147d3560c97f408862d1bfcc6b8dc500c2"},"national_5000m.json":{"bytes":144594,"sha256":"1e6d38aeed269c6322b14d2aab028f0545f4a4156aa388e4b784e7fa958b28bd"},"continuum.json":{"bytes":32372,"sha256":"8ef27d4814b1eff54bbe191655b7b93e1ee226af94c017315edb730ab9928c2f"},"continuum.geojson":{"bytes":245501,"sha256":"7424b448b26aa5570bc33567a06b728e426811ecb92a75cfc38b81ba4fdfb0de"},"marseille_candidates.json":{"bytes":544077,"sha256":"3184c90450059f339897fb4d91723208f828021487f8d7fb970ea5359f87490c"},"metadata.json":{"bytes":12793,"sha256":"df0bc8a797633150b295d310ff6bb4fdf86706c68c931400005354b4fbe3b81e"},"demographics.json":{"bytes":747600,"sha256":"be6e58af4d061e211af85e5c367758d11b257072d1cbe79d0453a3375293b028"},"communes.csv":{"bytes":701407,"sha256":"8ea1a2fa3b56c7d7166deb01aedaca55543c11358a70760b3ba95cdec3aa3580"}},"builderSha256":"8cc9365209c5cc9e5fb48f6f0e405ccbea0ec8eb61652b5e79b99b6bc97d7d6e","upstreamComputeSha256":"8b92cc389f501bea06b2e7653515ae01ffaa120267a8d22c9fe0d6e229358f7d","upstreamInputSha256":"1f0b2dc4e4ded6b61df6f64a2374e1c4b5247f82ae7712c8c7cc8c884d0d6104","sourceUrls":["https://www.insee.fr/fr/statistiques/fichier/8735162/Filosofi2021_carreaux_200m_csv.zip","https://www.insee.fr/fr/information/5057840"],"nationalModel":{"threshold":30000,"sigma":0.35,"description":"Exact sourcev2 income scenarios, estimated rather than observed affluent customers."},"geography":{"circleConstructionCRS":"EPSG:3035","outputCRS":"WGS84 longitude/latitude","circleVertices":128,"circleMaximumChordDeviationAt5kmMetres":1.5059065189787502,"circlePolygonAreaShortfallFraction":0.00040154685032089965,"continuumSimplificationToleranceMetres":10,"continuumPreserveTopology":true,"continuumMaxAreaChangeBeforeCoordinateRoundingFraction":1.75916486316288e-13,"irisSimplified":false,"coordinatePrecisionFeatureCounts":{"6":420},"counts":"Geometric simplification and coordinate rounding only affect display; source counts and analytical disc areas remain unchanged.","scaleRelationship":"National radii are independently optimized, not nested. Do not add counts across layers. Marseille centres are overlapping alternatives, not independent markets."},"fieldNotes":{"income2554/income2564":"Modelled counts above each row's income threshold under its lognormal assumption; national rows inheritthreshold30000sigma0.35. Not willingness-to-pay, memberships or observed affluent counts.","meanIncome":"Source ind_snv/ind using winsorised/capped living standards. This is a mean, not a median; do not compare as the same statistic as iris.medianIncome.","imputedPopulation":"Fraction0–1 of source population in imputed sourcecells, not a population count.","name":"National labels retain the actual nearest-source-cell names. Continuum prefix denotes a computedcomponent; its short label is context only, not an official agglomeration name.","region":"Derived from nearest-source-cell commune codes: allIDF=idf, allnonIDF=province, both or empty=mixed. It is not a geographic allocation of the whole catchment.","communeCodes/communeNames":"National arrays list all distinct catchment codes, not population allocated per commune. Marseille arrays provide nearest-source-cell context only because the v2 Marseille export has no full catchment-code list.","insideFields":"Inside the6th/7th/8th targetunion by source-cell centre. Full circles can reach other arrondissements. Geographic allocation is approximate at200m resolution.","base":"The source baseline scenario threshold30000sigma0.35; changing threshold or sigma retains the same selected centres.","iris":"Exact source75IRIS geometries at currentboundaryvintage; source census2022 population and2021 income medians, including null unpublished values. No inferred medians or income estimates added."},"checks":{"nationalRecords":321,"nationalLayerCounts":{"continuum":14,"5000":79,"3000":63,"1500":165},"nationalGeometries":321,"marseilleScenarioRows":216,"marseilleCandidates":12,"marseilleGeometries":24,"irisGeometries":75,"irisNullIncomeMedians":9,"allGeometriesValid":true,"allGeometryRecordIdsJoin":true,"exactSourceNumericValuesRetained":true,"nationalRegions":{"idf":150,"province":171}},"outputs":{"national.json":{"bytes":207221,"sha256":"8a0c749539100aa86c2ea5802800edf48b56f9dcbcf367852b9086ce44d28783"},"geography.geojson":{"bytes":959226,"sha256":"3d3e33218494d9c494614c27b3c3a55605a6261be7abd4b317ba3117d7286e47"},"marseille.json":{"bytes":199909,"sha256":"dfd45a45bcebba23a8dfeb137bdedefbb16ad100c61e08df1512090350d17965"},"marseille-geography.geojson":{"bytes":71253,"sha256":"b2963b42f15f527fb815c1b2980fe894249ce7c6f7d1fc8a35bbe32c0895a3b5"},"iris.geojson":{"bytes":140264,"sha256":"669e12b3ec8c60054394d741e50bf923870b98cc5a440aa8da085aae01cbc888"}}}
