<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="../../assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Coordable (Articles sur address quality)</title><link>https://coordable.co/</link><description></description><atom:link href="https://coordable.co/fr/categories/address-quality.xml" rel="self" type="application/rss+xml"></atom:link><language>fr</language><copyright>Contents © 2026 &lt;a href="mailto:contact@coordable.co"&gt;Nikola Tesla&lt;/a&gt; </copyright><lastBuildDate>Tue, 28 Apr 2026 16:26:40 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>When a bad geocode changes your flood risk classification</title><link>https://coordable.co/fr/blog/geocoding-ppri-insurance-impact-2026/</link><dc:creator>Julien Crétin</dc:creator><description>&lt;p&gt;French home insurers don't price flood risk by intuition. They price it by zone, specifically by the PPRI (Plan de Prévention des Risques d'Inondation), a government-issued flood risk map that classifies every address in France into one of three statuses: &lt;em&gt;Risque Existant&lt;/em&gt; (known flood zone), &lt;em&gt;Risque non Connu&lt;/em&gt; (municipality at risk, precise address not mapped), or no risk.&lt;/p&gt;
&lt;p&gt;The classification feeds directly into the premium. A property in a &lt;em&gt;Risque Existant&lt;/em&gt; zone typically carries a 10 to 30% surcharge on the natural disaster component of the home insurance premium, and in high-risk zones, coverage can be refused altogether.&lt;/p&gt;
&lt;p&gt;What happens when the geocode is wrong? We tested 300 addresses where two geocoders disagreed; &lt;strong&gt;1 in 7 ended up in a different PPRI classification&lt;/strong&gt; depending on which one was used.&lt;/p&gt;
&lt;div class="toc"&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://coordable.co/fr/blog/geocoding-ppri-insurance-impact-2026/#the-mechanics"&gt;The mechanics&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://coordable.co/fr/blog/geocoding-ppri-insurance-impact-2026/#what-we-measured"&gt;What we measured&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://coordable.co/fr/blog/geocoding-ppri-insurance-impact-2026/#three-cases"&gt;Three cases&lt;/a&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="https://coordable.co/fr/blog/geocoding-ppri-insurance-impact-2026/#case-1-loire-atlantique-dept-44-13-km-flood-zone-missed"&gt;Case 1 — Loire-Atlantique (dept. 44): 1.3 km, flood zone missed&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://coordable.co/fr/blog/geocoding-ppri-insurance-impact-2026/#case-2-vendee-dept-85-11-km-flood-zone-added"&gt;Case 2 — Vendée (dept. 85): 1.1 km, flood zone added&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://coordable.co/fr/blog/geocoding-ppri-insurance-impact-2026/#case-3-moselle-dept-57-three-addresses-same-divergence-pattern"&gt;Case 3 — Moselle (dept. 57): three addresses, same divergence pattern&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://coordable.co/fr/blog/geocoding-ppri-insurance-impact-2026/#what-this-means-for-a-portfolio-audit"&gt;What this means for a portfolio audit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://coordable.co/fr/blog/geocoding-ppri-insurance-impact-2026/#running-an-audit-on-your-portfolio"&gt;Running an audit on your portfolio&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://coordable.co/fr/blog/geocoding-ppri-insurance-impact-2026/#methodology-note"&gt;Methodology note&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;hr&gt;
&lt;h3 id="the-mechanics"&gt;The mechanics&lt;/h3&gt;
&lt;p&gt;One common approach: an insurer's system geocodes the address, converting a street address into latitude/longitude coordinates, then queries the PPRI database with those coordinates. The system trusts the coordinates it receives; it has no way to verify whether the geocode is accurate.&lt;/p&gt;
&lt;p&gt;If the geocode places the address 1.2 km from its actual location, the PPRI query runs against the wrong point on the map. Whether that matters depends entirely on where the wrong point lands: in a flood zone, out of one, or across a municipal boundary where the PPRI itself changes.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="what-we-measured"&gt;What we measured&lt;/h3&gt;
&lt;p&gt;We ran 300 French addresses through two geocoders, BAN (Base Adresse Nationale, the French open-source reference) and Google Maps, and queried the Géorisques PPRI API for both coordinate pairs. We selected addresses where the two providers disagreed on location by at least 50 metres.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;1 in 7 addresses ended up in a different PPRI classification&lt;/strong&gt; depending on which geocoder was used.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;That's not 1 in 7 addresses overall. It's 1 in 7 among addresses where the geocoders already disagreed.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The right question for a portfolio audit isn't "how many addresses have a bad geocode?"; it's "how many addresses have a geocode divergence large enough to cross a PPRI boundary?"&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h3 id="three-cases"&gt;Three cases&lt;/h3&gt;
&lt;p&gt;&lt;em&gt;On all maps: &lt;/em&gt;&lt;em&gt;orange pin = BAN coordinate&lt;/em&gt;&lt;em&gt;, &lt;/em&gt;&lt;em&gt;green pin = Google coordinate&lt;/em&gt;&lt;em&gt;. Red/blue zones = flood risk areas (PPRI). Source: Géorisques / georisques.gouv.fr · © OpenStreetMap contributors.&lt;/em&gt;&lt;/p&gt;
&lt;h4 id="case-1-loire-atlantique-dept-44-13-km-flood-zone-missed"&gt;Case 1 — Loire-Atlantique (dept. 44): 1.3 km, flood zone missed&lt;/h4&gt;
&lt;p&gt;An address in the Loire-Atlantique estuary area. BAN placed it at 47.2807°N, 2.4322°W, in a known flood zone (&lt;em&gt;Risque Existant&lt;/em&gt;). Google placed it at 47.2691°N, 2.4331°W, 1,294 metres away, outside the mapped zone (&lt;em&gt;Risque non Connu&lt;/em&gt;). BAN confidence score: 0.681.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Case 1, Loire-Atlantique: BAN (orange) in flood zone, Google (green) outside. Gap: 1,294 m." src="https://coordable.co/images/geocoding-ppri-insurance-impact-2026/ppri_case1_loire_atlantique.png"&gt;&lt;/p&gt;
&lt;p&gt;An insurer using Google's coordinates would classify this property as outside the flood zone. No surcharge. Potentially a significant underpricing of risk.&lt;/p&gt;
&lt;hr&gt;
&lt;h4 id="case-2-vendee-dept-85-11-km-flood-zone-added"&gt;Case 2 — Vendée (dept. 85): 1.1 km, flood zone added&lt;/h4&gt;
&lt;p&gt;An address on the Vendée coast. BAN placed it at 46.4963°N, 1.8072°W, outside the mapped flood zone (&lt;em&gt;Risque non Connu&lt;/em&gt;). Google placed it at 46.4974°N, 1.7925°W, 1,135 metres away, inside a flood zone (&lt;em&gt;Risque Existant&lt;/em&gt;). BAN confidence score: 0.702.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Case 2, Vendée: BAN (orange) outside flood zone, Google (green) inside. Gap: 1,135 m." src="https://coordable.co/images/geocoding-ppri-insurance-impact-2026/ppri_case2_vendee.png"&gt;&lt;/p&gt;
&lt;p&gt;Here the error runs in the other direction. An insurer using BAN would miss the flood zone entirely, no surcharge applied to a property that should carry one. A loss exposure that doesn't show up in the underwriting model.&lt;/p&gt;
&lt;hr&gt;
&lt;h4 id="case-3-moselle-dept-57-three-addresses-same-divergence-pattern"&gt;Case 3 — Moselle (dept. 57): three addresses, same divergence pattern&lt;/h4&gt;
&lt;p&gt;Three addresses on the same street in the Moselle valley showed a consistent 1,850 to 1,900 metre gap between BAN and Google. All three: BAN in a flood zone (&lt;em&gt;Risque Existant&lt;/em&gt;), Google outside (&lt;em&gt;Risque non Connu&lt;/em&gt;). BAN score: 0.551.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Case 3, Moselle: three addresses (orange = BAN, green = Google) showing the same systematic divergence. Gap: ~1,880 m." src="https://coordable.co/images/geocoding-ppri-insurance-impact-2026/ppri_case3_moselle.png"&gt;&lt;/p&gt;
&lt;p&gt;This is the pattern that matters at portfolio scale. A single address with a bad geocode is a one-off. Three addresses with the same systematic divergence, likely sharing a street, a building, or a postal code, suggest a structured data quality problem that will recur across every address in that zone.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="what-this-means-for-a-portfolio-audit"&gt;What this means for a portfolio audit&lt;/h3&gt;
&lt;p&gt;The 14.5% reclassification rate we observed applies to addresses with a known geocoding divergence. The prior question, how many addresses in a typical insurance portfolio have a divergence large enough to matter, is the one worth answering first.&lt;/p&gt;
&lt;p&gt;Our benchmark on 10,000 French addresses suggests that roughly 3% produce a gap of 500 metres or more between BAN and a premium provider. Applied to a portfolio of 1,000,000 home insurance policies, that's approximately 30,000 addresses worth auditing.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;At a 14.5% reclassification rate: &lt;strong&gt;roughly 4,350 policies may be incorrectly classified for flood risk&lt;/strong&gt;. For the subset under-classified as standard risk, the annual premium shortfall runs from €33,000 to €196,000. Beyond the premium impact, these policies carry an unrecognised claims exposure: at a conservative 1% annual flood event probability, roughly 20 under-classified policies will generate a claim in any given year, each potentially running to €20,000 to €80,000 in damages on a contract priced for standard risk.&lt;/p&gt;
&lt;p&gt;A geocoding audit doesn't require re-underwriting the entire portfolio. It requires identifying the addresses where the geocode is uncertain enough to cross a risk boundary, and those addresses are identifiable before any claim is filed.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The signal is already in your data: the BAN confidence score. Addresses with a score below 0.7 are the ones most likely to produce a divergence large enough to matter. In our sample, every fine-category reclassification came from an address with a BAN score below 0.71.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="running-an-audit-on-your-portfolio"&gt;Running an audit on your portfolio&lt;/h3&gt;
&lt;p&gt;One simplified approach for a portfolio audit, noting that in practice, any geocoder can be wrong, and more robust workflows would cross-reference three or more providers:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Run your address file through BAN and flag addresses with a confidence score below 0.7&lt;/li&gt;
&lt;li&gt;For flagged addresses, run a secondary geocoder and compute the coordinate gap&lt;/li&gt;
&lt;li&gt;For addresses with a gap above ~500 metres, query the PPRI API for both coordinate pairs&lt;/li&gt;
&lt;li&gt;Surface the cases where the two coordinates produce different PPRI classifications&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Steps 1 to 3 can be automated with a cascading geocoding pipeline. Step 4 is a one-time enrichment.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Coordable&lt;/strong&gt; builds multi-provider geocoding pipelines that automate exactly this kind of cascade, surfacing address uncertainty before it becomes a classification error. If you're thinking about a portfolio audit, &lt;a href="mailto:contact@coordable.co"&gt;we'd be happy to talk through the approach&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h3 id="methodology-note"&gt;Methodology note&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Dataset:&lt;/strong&gt; 300 French addresses drawn from the ADEME DPE database (10,000-address stratified sample across urban and rural zones), geocoded with BAN and Google Maps. Only addresses where both providers returned valid French metropolitan coordinates were included.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Selection:&lt;/strong&gt; Addresses split into two groups, &lt;em&gt;fine&lt;/em&gt; (50m to 2km gap, 200 addresses) and &lt;em&gt;gross&lt;/em&gt; (2km to 50km gap, 100 addresses). Gaps above 50km excluded as geocoding errors.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;PPRI API:&lt;/strong&gt; Géorisques &lt;code&gt;/api/v1/resultats_rapport_risque&lt;/code&gt;, queried for both coordinate pairs. 72 of 300 address pairs returned network errors (24%), reducing the effective sample. 3 communes returned HTTP 404 (no PPRI data available).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Reclassification rate:&lt;/strong&gt; Computed on address pairs where both coordinates returned a valid, non-null PPRI status. "Risque Inconnu" normalised to "Risque non Connu" (API variant).&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;em&gt;This post is part of a series on geocoding quality in French operations. For the cost impact on last-mile logistics, see our &lt;a href="https://coordable.co/blog/cost-failed-delivery-urban-europe-2026/"&gt;failed delivery cost models&lt;/a&gt; and &lt;a href="https://coordable.co/blog/geocoding-routing-impact-france-2026/"&gt;routing impact benchmark&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;</description><guid>https://coordable.co/fr/blog/geocoding-ppri-insurance-impact-2026/</guid><pubDate>Sun, 19 Apr 2026 08:00:00 GMT</pubDate></item><item><title>Your routing engine is only as good as your coordinates</title><link>https://coordable.co/fr/blog/geocoding-routing-impact-france-2026/</link><dc:creator>Julien Crétin</dc:creator><description>&lt;p&gt;Route optimization gets most of the attention in last-mile logistics. The tooling has become genuinely sophisticated.&lt;/p&gt;
&lt;p&gt;The input data has not received the same scrutiny.&lt;/p&gt;
&lt;p&gt;A routing engine optimizes the problem it is given. When coordinates are off - resolved to the wrong street, the wrong side of a building, or a town center instead of a specific address - the engine is still mathematically correct. It just optimizes the wrong problem. We ran the numbers on what that costs: &lt;strong&gt;up to €18,966/month in avoidable driver time&lt;/strong&gt;, against €165 in geocoding API calls to avoid it.&lt;/p&gt;
&lt;div class="toc"&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://coordable.co/fr/blog/geocoding-routing-impact-france-2026/#the-setup"&gt;The setup&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://coordable.co/fr/blog/geocoding-routing-impact-france-2026/#the-model"&gt;The model&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://coordable.co/fr/blog/geocoding-routing-impact-france-2026/#results"&gt;Results&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://coordable.co/fr/blog/geocoding-routing-impact-france-2026/#the-variance-problem-and-why-it-matters"&gt;The variance problem — and why it matters&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://coordable.co/fr/blog/geocoding-routing-impact-france-2026/#projection-45000-deliveries-per-month"&gt;Projection — 45,000 deliveries per month&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://coordable.co/fr/blog/geocoding-routing-impact-france-2026/#what-the-routing-engine-cannot-fix"&gt;What the routing engine cannot fix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://coordable.co/fr/blog/geocoding-routing-impact-france-2026/#limitations"&gt;Limitations&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://coordable.co/fr/blog/geocoding-routing-impact-france-2026/#want-to-fix-the-input-not-the-algorithm"&gt;Want to fix the input, not the algorithm?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://coordable.co/fr/blog/geocoding-routing-impact-france-2026/#methodology"&gt;Methodology&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://coordable.co/fr/blog/geocoding-routing-impact-france-2026/#note-on-geocoding-cost-estimates"&gt;Note on geocoding cost estimates&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;hr&gt;
&lt;h3 id="the-setup"&gt;The setup&lt;/h3&gt;
&lt;p&gt;We used the same 10,000 French addresses from our &lt;a href="https://coordable.co/blog/geocoding-ban-google-benchmark-france-2026/"&gt;geocoding benchmark&lt;/a&gt; (DPE database, stratified by density zone). For each address, we had two sets of coordinates: BAN results and Google results.&lt;/p&gt;
&lt;p&gt;Two categories matter here: degraded stops (low BAN score) and risky stops (degraded + gap &amp;gt; 100m). The second is the operational problem. The first is the signal that predicts it.&lt;/p&gt;
&lt;p&gt;Degraded addresses: BAN confidence score below 0.7. In our benchmark, 20–40% of these show a coordinate gap above 100 metres - the threshold above which a driver can no longer reliably locate the right building. The lower the score, the higher the proportion of large divergences.&lt;/p&gt;
&lt;p&gt;We ran the simulation on 10 routes per zone, using actual stop counts representative of each context. Each route was drawn from a geographically constrained pool - stops selected within a realistic radius around a random centroid, to reflect actual last-mile clustering rather than department-wide dispersion.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Zone&lt;/th&gt;
&lt;th&gt;Dept&lt;/th&gt;
&lt;th&gt;Radius&lt;/th&gt;
&lt;th&gt;Stops per route&lt;/th&gt;
&lt;th&gt;Degraded stops (avg)&lt;/th&gt;
&lt;th&gt;Risky stops (avg)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1 — Dense urban&lt;/td&gt;
&lt;td&gt;92&lt;/td&gt;
&lt;td&gt;8 km&lt;/td&gt;
&lt;td&gt;25&lt;/td&gt;
&lt;td&gt;24.6 (98%)&lt;/td&gt;
&lt;td&gt;4.1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2 — Peri-urban&lt;/td&gt;
&lt;td&gt;60&lt;/td&gt;
&lt;td&gt;15 km&lt;/td&gt;
&lt;td&gt;20&lt;/td&gt;
&lt;td&gt;10.1 (51%)&lt;/td&gt;
&lt;td&gt;2.8&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3 — Rural&lt;/td&gt;
&lt;td&gt;85&lt;/td&gt;
&lt;td&gt;20 km&lt;/td&gt;
&lt;td&gt;12&lt;/td&gt;
&lt;td&gt;7.0 (58%)&lt;/td&gt;
&lt;td&gt;4.8&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h3 id="the-model"&gt;The model&lt;/h3&gt;
&lt;p&gt;Route planning uses BAN coordinates throughout - this is the realistic scenario where an operator geocodes addresses once and builds routes on the result.&lt;/p&gt;
&lt;p&gt;When a driver arrives at a risky stop, two things happen. First, the coordinates are off by more than 100 metres: the driver spends time searching for the right building or entrance. We model this conservatively at 3 minutes per stop. Second, once the driver locates the actual address, they need to travel from the real position to the next stop in the planned sequence - a sequence that was built around the BAN coordinates, not the real ones.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;This second cost is the one that is almost never accounted for. The routing engine planned a direct path from stop A to stop B. In reality, the driver leaves stop A, travels to the actual building, makes the delivery, then drives to stop B - from the wrong starting point. The detour compounds across every risky stop in the route.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img alt="Routing detour — planned route (blue, 29 min / 7.3 km) vs actual route (orange, 48 min / 16.4 km) caused by a 1,542 m geocoding gap. Route 9, Stop 3, Seine-Saint-Denis." src="https://coordable.co/images/geocoding-routing-impact-france-2026/routing_detour_case_r9s3.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Route 9, Stop 3 - Seine-Saint-Denis (93) - BAN score 0.587 - Gap BAN vs Google: 1,542 m - Map: Leaflet · © OpenStreetMap contributors · © CARTO.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;We computed this detour using road distances from OpenRouteService Directions API for each risky stop individually. Route planning used OpenRouteService Matrix API.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="results"&gt;Results&lt;/h3&gt;
&lt;p&gt;Before the numbers: the dense urban figure (+19.7 km) is higher than other contexts in our simulations. In dense urban areas, large geocoding errors tend to resolve to a different street or neighborhood entirely - likely failed deliveries rather than recoverable detours. The peri-urban and rural figures are more representative of typical detour costs.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Zone&lt;/th&gt;
&lt;th&gt;Risky stops (avg)&lt;/th&gt;
&lt;th&gt;Extra distance (median)&lt;/th&gt;
&lt;th&gt;Extra time (median)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1 — Dense urban&lt;/td&gt;
&lt;td&gt;4.1&lt;/td&gt;
&lt;td&gt;+19.7 km&lt;/td&gt;
&lt;td&gt;+55.7 min&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2 — Peri-urban&lt;/td&gt;
&lt;td&gt;2.8&lt;/td&gt;
&lt;td&gt;+1.9 km&lt;/td&gt;
&lt;td&gt;+10.3 min&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3 — Rural&lt;/td&gt;
&lt;td&gt;4.8&lt;/td&gt;
&lt;td&gt;+3.8 km&lt;/td&gt;
&lt;td&gt;+29.1 min&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Zone&lt;/th&gt;
&lt;th&gt;Cost per route&lt;/th&gt;
&lt;th&gt;Google fallback cost&lt;/th&gt;
&lt;th&gt;ROI&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1 — Dense urban&lt;/td&gt;
&lt;td&gt;€15.61&lt;/td&gt;
&lt;td&gt;€0.12&lt;/td&gt;
&lt;td&gt;126x&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2 — Peri-urban&lt;/td&gt;
&lt;td&gt;€5.14&lt;/td&gt;
&lt;td&gt;€0.08&lt;/td&gt;
&lt;td&gt;65x&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3 — Rural&lt;/td&gt;
&lt;td&gt;€7.94&lt;/td&gt;
&lt;td&gt;€0.06&lt;/td&gt;
&lt;td&gt;138x&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;em&gt;Costs based on €17/h fully loaded driver cost (French CCN Transport 2025). Google fallback cost: €0.005/call applied to degraded stops only.&lt;/em&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;For every euro spent routing degraded addresses through a quality geocoder as fallback, between €65 and €138 in driver time is avoided.&lt;/strong&gt; The rural zone shows the highest ROI at 138x - a combination of high degradation rate (58% of stops) and the relative cost of re-routing in areas where roads are less redundant.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;A note on the dense urban zone.&lt;/strong&gt; The urban figures should be read as a combined effect of detours and likely failed deliveries - not detours alone. For the cost of those failures, see our &lt;a href="https://coordable.co/blog/cost-failed-delivery-urban-europe-2026/"&gt;urban&lt;/a&gt; and &lt;a href="https://coordable.co/blog/cost-failed-delivery-peri-urban-europe-2026/"&gt;peri-urban&lt;/a&gt; models.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="the-variance-problem-and-why-it-matters"&gt;The variance problem — and why it matters&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;Results vary significantly between routes in the same zone. A rural route with 7 risky stops generates +10.9 km of extra distance. Another with 0 risky stops generates nothing. This is not noise - it is the actual distribution.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The implication is that average-based cost estimates understate the tail risk. An operator running 100 routes per day will occasionally have routes that cost €20–25 in extra time due to coordinate errors alone.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Those routes are invisible in the planning system. They show up as driver delay, late deliveries, and overtime - attributed to traffic or difficulty, not to data quality.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h3 id="projection-45000-deliveries-per-month"&gt;Projection — 45,000 deliveries per month&lt;/h3&gt;
&lt;p&gt;Assuming a typical French last-mile operator with a mix of urban (40%), peri-urban (30%), and rural (20%) deliveries:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Zone&lt;/th&gt;
&lt;th&gt;Deliveries/month&lt;/th&gt;
&lt;th&gt;Degraded stops&lt;/th&gt;
&lt;th&gt;Extra km&lt;/th&gt;
&lt;th&gt;Extra time&lt;/th&gt;
&lt;th&gt;Cost of degradation&lt;/th&gt;
&lt;th&gt;Fallback cost&lt;/th&gt;
&lt;th&gt;Net saving&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1 — Dense urban&lt;/td&gt;
&lt;td&gt;20,000&lt;/td&gt;
&lt;td&gt;19,680&lt;/td&gt;
&lt;td&gt;15,526 km&lt;/td&gt;
&lt;td&gt;44,064 min&lt;/td&gt;
&lt;td&gt;€12,485&lt;/td&gt;
&lt;td&gt;€98&lt;/td&gt;
&lt;td&gt;€12,386&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2 — Peri-urban&lt;/td&gt;
&lt;td&gt;15,000&lt;/td&gt;
&lt;td&gt;7,575&lt;/td&gt;
&lt;td&gt;2,669 km&lt;/td&gt;
&lt;td&gt;13,598 min&lt;/td&gt;
&lt;td&gt;€3,853&lt;/td&gt;
&lt;td&gt;€38&lt;/td&gt;
&lt;td&gt;€3,815&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3 — Rural&lt;/td&gt;
&lt;td&gt;10,000&lt;/td&gt;
&lt;td&gt;5,833&lt;/td&gt;
&lt;td&gt;2,013 km&lt;/td&gt;
&lt;td&gt;9,275 min&lt;/td&gt;
&lt;td&gt;€2,628&lt;/td&gt;
&lt;td&gt;€29&lt;/td&gt;
&lt;td&gt;€2,599&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Total&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;45,000&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;33,088&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;20,208 km&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;66,937 min&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;€18,966&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;€165&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;€18,800&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;For routing detours alone (peri-urban + rural): €6,481/month against €67 in fallback costs - a 97:1 ratio.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The urban figure (€12,485) includes large geocoding errors that likely result in failed deliveries rather than recoverable detours - bringing the total to €18,966. For the cost of those failures, see our &lt;a href="https://coordable.co/blog/cost-failed-delivery-urban-europe-2026/"&gt;urban&lt;/a&gt; and &lt;a href="https://coordable.co/blog/cost-failed-delivery-peri-urban-europe-2026/"&gt;peri-urban&lt;/a&gt; cost models.&lt;/p&gt;
&lt;p&gt;At scale, address quality is not a data engineering concern. It is a P&amp;amp;L line.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h3 id="what-the-routing-engine-cannot-fix"&gt;What the routing engine cannot fix&lt;/h3&gt;
&lt;p&gt;A routing engine optimizes the problem it is given. If the input coordinates are degraded, the optimization is degraded - and the optimizer has no way to know.&lt;/p&gt;
&lt;p&gt;No amount of algorithmic sophistication changes this. A state-of-the-art solver running on wrong coordinates produces a worse result than a simple nearest-neighbor heuristic running on correct ones. The quality of the output is bounded by the quality of the input.&lt;/p&gt;
&lt;p&gt;In French last-mile logistics, degraded geocoding costs approximately &lt;strong&gt;€0.60 per degraded stop&lt;/strong&gt; in extra driver time, against a fallback cost of €0.005. The ratio holds across all three geographic contexts tested.&lt;/p&gt;
&lt;p&gt;The fix is not a better routing engine. It is better coordinates going in.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="limitations"&gt;Limitations&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;3-minute search penalty is a floor, not an average.&lt;/strong&gt; The 3-minute search penalty per risky stop is deliberately conservative - the actual cost is likely higher in areas where buildings are not clearly numbered or GPS signal is unreliable.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Simulated routes, not observed ones.&lt;/strong&gt; Routes were generated by OR-Tools on real addresses, not drawn from actual carrier data. Real routes may have different stop density, time window constraints, and geographic clustering.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Deviations modeled in isolation.&lt;/strong&gt; In practice, a driver who arrives at the wrong location may also affect the next 2–3 stops through cascade delays - the same dynamic documented in our &lt;a href="https://coordable.co/blog/cost-failed-delivery-urban-europe-2026/"&gt;failed delivery cost models&lt;/a&gt;. We modeled only the direct detour cost, not the downstream schedule disruption.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Google as the reference.&lt;/strong&gt; We use Google coordinates as the reference position for risky stops. Google can also be wrong - as documented in our benchmark, 0.76% of Google results were located outside France entirely. The model assumes Google is correct where BAN is degraded, which is an approximation.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Deep rural zone excluded.&lt;/strong&gt; The deep rural zone showed insufficient risky stops per route to generate a reliable signal. The projection covers 45,000 of the assumed 50,000 monthly deliveries.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="want-to-fix-the-input-not-the-algorithm"&gt;Want to fix the input, not the algorithm?&lt;/h3&gt;
&lt;p&gt;If you're working on route optimization and want to understand where coordinate quality is limiting your results, we'd be happy to talk through your setup.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Coordable&lt;/strong&gt; builds multi-provider geocoding pipelines that automatically route degraded addresses through a quality fallback - so your routing engine gets the right coordinates from the start. &lt;a href="mailto:contact@coordable.co"&gt;Get in touch&lt;/a&gt; to run the numbers on your own operation.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h3 id="methodology"&gt;Methodology&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Dataset:&lt;/strong&gt; 10,000 French addresses from the ADEME DPE database (existing residential buildings, post-July 2021). Stratified sample across four INSEE density zones. Zones tested: Dept 92 (dense urban), Dept 60 (peri-urban), Dept 85 (rural).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Geographic constraint:&lt;/strong&gt; Each route drawn from addresses within a fixed radius of a randomly selected centroid - 8 km (urban), 15 km (peri-urban), 20 km (rural). Routes with geographic span exceeding 2× the radius were discarded.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Route simulation:&lt;/strong&gt; OR-Tools (Google) with PATH_CHEAPEST_ARC + GUIDED_LOCAL_SEARCH, 10-second time limit per route. Route planning distances from OpenRouteService Matrix API (driving-car profile). Depot set to centroid of each route's stops.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Degraded stops:&lt;/strong&gt; BAN confidence score &amp;lt; 0.7. Validated as predictive of significant coordinate divergence in benchmark analysis.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Risky stops:&lt;/strong&gt; Degraded stops where BAN↔Google Haversine distance ≥ 100m.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Deviation cost:&lt;/strong&gt; For each risky stop, extra distance = road_distance(BAN → Google) + road_distance(Google → next_BAN) − road_distance(BAN → next_BAN). Road distances from OpenRouteService Directions API. Fallback to Haversine × 1.3 when ORS unavailable. Time cost = extra travel time + 3 min on-site search per risky stop.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Driver cost:&lt;/strong&gt; €17/h fully loaded (French CCN Transport routier, 2025, including employer social charges at ~30%).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Google fallback cost:&lt;/strong&gt; €0.005/call (Google Geocoding API standard pricing), applied only to degraded stops.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Projection figures:&lt;/strong&gt; Based on medians. Extrapolated linearly from simulated routes.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="note-on-geocoding-cost-estimates"&gt;Note on geocoding cost estimates&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Geocoding pipeline cost&lt;/strong&gt; - Estimated using BAN (free, open source) as primary geocoder, with a premium provider (Google Geocoding API, ~€0.005/address) triggered only on addresses where BAN confidence score falls below 0.7 - roughly 15-20% of a typical French address file. This cascading approach is the architecture Coordable is built around: &lt;a href="https://coordable.co"&gt;coordable.co&lt;/a&gt;.&lt;/p&gt;</description><guid>https://coordable.co/fr/blog/geocoding-routing-impact-france-2026/</guid><pubDate>Tue, 14 Apr 2026 14:00:00 GMT</pubDate></item></channel></rss>