Skip to content (Press Enter)
Javier Ladino

Javier Ladino

{Data/Design/Engineer}

  • Home.
  • About
  • Portfolio
  • ES 🇨🇴
  • FR 🇫🇷
DataViz

Urban mobility & energy: designing a CO₂ dashboard for Nantes, Rennes, and Niort

We built, with Power BI and a Figma template, a set of visualizations that quantify and compare the carbon footprint of mobility (air, car, bus, bike) and energy use (electricity, gas) across three French cities: Nantes, Rennes, and Niort. This post documents the data pipeline, modeling, UI choices, and the main findings so others can replicate or extend the work.


Introduction

Turning urban decarbonization into something measurable and actionable was our guiding principle. We took open datasets on travel behavior and energy consumption and transformed them into an interactive dashboard that surfaces patterns in city emissions—by mode, by place, and over time.

Objectives

  1. Quantify CO₂ emissions by transport mode.
  2. Compare mobility patterns across cities.
  3. Track temporal trends (2016–2019).
  4. Deliver actionable insights for sustainable mobility.
  5. Fold in energy consumption (electricity & gas) as a second major driver.

Data & methodology

  • Sources. ADEME (mobility) and Agence ORE(annual electricity/gas by commune), plus city population and CO₂ conversion factors.
  • Modeling in Power BI. We standardized four consumption tables (Air/Bus/Bike/Car) and appended them into a single ConsommationTotale, created a composite key cle_habitants to join with population, and related transport types to carbon equivalences. Key measures include Kg CO2, tonne_co2, milliers_kms, and CO2 par habitant.
  • Energy module. We imported the Agence ORE CSV and computed CO2_Electricite_kg via LOOKUPVALUE, segmenting by Year and City.

Dashboard design (dataviz)

  • UX approach. Clear visual hierarchy on a dark theme, with slicers (Year, City, Mode) on the left to guide exploration. KPI cards sit on top for at-a-glance metrics.
  • Figma → Power BI. We drafted a template with dedicated zones for KPIs, filters, charts, and map, exported it as a background, then snapped visuals to the grid in Power BI.
  • Visuals. Aster plots (Distances; Emissions), Word Cloud (City weight), stacked bars (CO₂ per capita), a time series (CO₂ over time), and a geographic map.

Results & insights

1) Which mode emits the most?

  • Air: ~45.9 million t CO₂ (highest).
  • Car: ~2 million t CO₂.
  • Bus: ~17,141 t CO₂.
  • Bike: 0 emissions within this calculation frame. Total across the four modes: ~47.96 million t CO₂ for the period analyzed.

2) CO₂ per capita — who leads?

  • Nantes: 1,506.21 kg CO₂/person (highest).
  • Rennes: 634.18 kg CO₂/person.
  • Niort: 113.35 kg CO₂/person (lowest).

3) Trends over time (2016–2019)

  • Nantes: steady rise, peak in Aug 2019 (~808 M kg CO₂).
  • Rennes: slight rise with volatility, peak in Sep 2018 (~337 M kg CO₂).
  • Niort: low overall, peak in Mar 2019 (~61.6 M kg CO₂). Bottom line: no sustained decrease across the window; emissions increased instead.

4) Energy: consumption & electricity-related CO₂

  • Total energy (electricity + gas): Nantes > 3 M MWh/year; Rennes ~2.2–2.5 M MWh/year; Niort ~0.7–0.9 M MWh/year.
  • Electricity CO₂ (kg/year): Nantes ~111–113 M; Rennes ~73–76 M; Niort ~26–37 M, fairly stable over time.
  • Cumulative share (all years): Nantes ~448 M (52%), Rennes ~296 M (34%), Niort ~118 M (14%).

Readout: Nantes concentrates the most activity and energy use; Rennes sits in the middle; Niort is low in both absolute and per-capita terms—potentially a reflection of a cleaner energy mix and lower industrial intensity.

Impact & use cases

  • Local governments
    • Strengthen public transport (~3× less CO₂ per km than cars and 6× less than planes).
    • Implement low-emission zones in city centers.
    • Invest in safe cycling for sub-5 km trips.
  • Operators
    • Optimize low-load/high-consumption routes, renew fleets on long lines first, and seasonally adjust capacity.
  • Citizens
    • 10 km/day by car ≈ ~500 kg CO₂/year; encourage intermodality and personal emissions tracking.

Conclusions

  1. Nantes is the largest emitter (mobility and energy combined).
  2. Rennes is significant but more balanced.
  3. Niort stands out for its low carbon footprint.
  4. 2016–2019: no meaningful decline—we need to accelerate decarbonization. Priority: start with Nantes while pairing clean mobility + energy efficiency across all three cities.

Next steps

  • Expand to additional cities to spot regional patterns.
  • Integrate weather and socio-economic covariates.
  • Build predictive models for policy impact.
  • Publish an open dashboard and set up continuous KPI tracking.

Stack

  • Power BI (modeling, DAX; Aster Plot, Word Cloud, KPI, map, time series).
  • Figma (UI/UX template exported as dashboard background).
  • Open data (ADEME, Agence ORE electricity/gas).

If you want to adapt this flow to your city, simply update the consumption, population, and CO₂ equivalence tables, maintain the same relationship architecture, and reuse the base model. The result: an explainable, actionable, and scalable dashboard for urban and energy policy decisions.

Related Projects

Visualizing the presidential vote in the cities with the most corruption cases in Colombia 🗳🇨🇴

June 16, 2022

Visual analysis of the presidential speech in France with python

May 24, 2022

How to use interactive isochrone maps to find housing near the school in Nantes

May 17, 2023
© Copyright 2025 Javier Ladino. Perfect Portfolio | Developed By Rara Theme. Powered by WordPress.