<?xml version="1.0" encoding="UTF-8"?>
<rss  xmlns:atom="http://www.w3.org/2005/Atom" 
      xmlns:media="http://search.yahoo.com/mrss/" 
      xmlns:content="http://purl.org/rss/1.0/modules/content/" 
      xmlns:dc="http://purl.org/dc/elements/1.1/" 
      version="2.0">
<channel>
<title>Just Knowledge</title>
<link>https://justknowledge.org.uk/blog.html</link>
<atom:link href="https://justknowledge.org.uk/blog.xml" rel="self" type="application/rss+xml"/>
<description>Different Perspectives. Different Results. We combine high-quality data with lived experience to drive social change.</description>
<generator>quarto-1.8.11</generator>
<lastBuildDate>Sun, 07 Jun 2026 23:00:00 GMT</lastBuildDate>
<item>
  <title>New Indices of Deprivation 2025 Data: MSOA level</title>
  <dc:creator>Just Knowledge Team</dc:creator>
  <link>https://justknowledge.org.uk/blog/imd.html</link>
  <description><![CDATA[ 




<section id="new-indices-of-deprivation-2025-data-msoa-level" class="level1">
<h1>New Indices of Deprivation 2025 Data: MSOA level</h1>
<div style="text-align: center;">
<p>
<strong><em>27 November 2025</em></strong>
</p>
</div>
<div id="290a08e6" class="cell" data-execution_count="6">
<div class="cell-output cell-output-display">
<div>
<figure class="figure">
<p><img src="https://justknowledge.org.uk/blog/imd_files/figure-html/cell-7-output-1.png" width="730" height="742" class="figure-img"></p>
</figure>
</div>
</div>
</div>
<p>New <a href="https://www.gov.uk/government/statistics/english-indices-of-deprivation-2025">Indices of Deprivation data</a> were released in November 2025. These data provide measures of deprivation in areas relative to other areas in England. The data have been published for Lower layer Super Output Areas (LSOAs) and Local Authority Districts, as well as other area types. However, we’ve noticed that the data haven’t been published at Middle layer Super Output Area (MSOA).</p>
<p>In our recent project <a href="https://justknowledge.org.uk/case-studies/child-poverty-analysis.html">Understanding Poverty in Place</a>, we aggregated deprivation data to MSOA level (the estate of Northumberland Park can be defined as a single MSOA), and we’d like to share this aggregated dataset in case it’s of use to others.</p>
<div style="text-align: center;">
<a href="https://github.com/JustKnowledge-UK/public-downloads/releases/download/data-release/iod25_msoa.csv" download=""> <img src="https://justknowledge.org.uk/assets/images/shared/new-knowledge-icon.svg" alt="New Knowledge Icon" style="margin-top: 20px;"> </a>
<p>
<strong>Download the MSOA level data</strong>
</p>
</div>
<section id="more-information-on-how-we-aggregated-these-data" class="level2">
<h2 class="anchored" data-anchor-id="more-information-on-how-we-aggregated-these-data">More information on how we aggregated these data</h2>
<p>To aggregate LSOA data to MSOA, we followed the guidance set out in Appendix A of the <a href="https://www.gov.uk/government/publications/english-indices-of-deprivation-2025-research-report">English Indices of Deprivation Research Report</a>. In brief, the process involves:</p>
<ol type="1">
<li>Creating population weights for each LSOA by dividing the population of each LSOA by the total population of its corresponding MSOA (note some population denominators are specific populations, e.g.&nbsp;children, older people, employed people)</li>
<li>Multiplying the LSOA deprivation scores by their population weights</li>
<li>Summing the weighted scores of LSOAs for each MSOA</li>
</ol>
<p>The result is a population-weighted score for each MSOA, where each LSOA’s contribution is weighted by how big its population is relative to the MSOA’s total population.</p>
<p>For each deprivation metric, we then ranked the MSOAs and allocated each MSOA to a decile, where lower ranks and deciles correspond to greater deprivation.</p>
<p>Below is the code used to aggregate the LSOA data to MSOA.</p>
<div id="c1cb838c" class="cell" data-execution_count="7">
<details class="code-fold">
<summary>Code for Nerds</summary>
<div class="sourceCode cell-code" id="cb1" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb1-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Preliminaries</span></span>
<span id="cb1-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> psycopg2</span>
<span id="cb1-3"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> configparser</span>
<span id="cb1-4"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> os</span>
<span id="cb1-5"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> requests</span>
<span id="cb1-6"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> pandas <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> pd</span>
<span id="cb1-7"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> sqlalchemy <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> create_engine</span>
<span id="cb1-8"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> sqlalchemy <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> create_engine</span>
<span id="cb1-9"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> janitor</span>
<span id="cb1-10"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> pickle</span>
<span id="cb1-11"></span>
<span id="cb1-12"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Load DB config</span></span>
<span id="cb1-13">config <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> configparser.ConfigParser()</span>
<span id="cb1-14">config.read(os.path.join(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'..'</span>,<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'db_config.ini'</span>))</span>
<span id="cb1-15">db_params <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">dict</span>(config[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'postgresql'</span>])</span>
<span id="cb1-16"></span>
<span id="cb1-17"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Build SQLAlchemy connection string</span></span>
<span id="cb1-18">conn_str <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (</span>
<span id="cb1-19">    <span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"postgresql+psycopg2://</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>db_params[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'user'</span>]<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">:</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>db_params[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'password'</span>]<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span></span>
<span id="cb1-20">    <span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"@</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>db_params[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'host'</span>]<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">:</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>db_params[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'port'</span>]<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">/</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>db_params[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'database'</span>]<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span></span>
<span id="cb1-21">)</span>
<span id="cb1-22"></span>
<span id="cb1-23"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Create engine</span></span>
<span id="cb1-24">engine <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> create_engine(conn_str)</span>
<span id="cb1-25"></span>
<span id="cb1-26"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Get Iod Data from source</span></span>
<span id="cb1-27">data_dir <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> os.path.join(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'data'</span>)</span>
<span id="cb1-28"></span>
<span id="cb1-29">filepath <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> os.path.join(data_dir, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'iod25.csv'</span>)</span>
<span id="cb1-30"></span>
<span id="cb1-31">url <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'https://assets.publishing.service.gov.uk/media/68ff5daabcb10f6bf9bef911/File_7_IoD2025_All_Ranks_Scores_Deciles_Population_Denominators.csv'</span></span>
<span id="cb1-32"></span>
<span id="cb1-33"><span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">if</span> os.path.isfile(filepath)<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">False</span>:</span>
<span id="cb1-34">    response <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> requests.get(url)</span>
<span id="cb1-35">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">with</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">open</span>(filepath, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'wb'</span>) <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">file</span>:</span>
<span id="cb1-36">        <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">file</span>.write(response.content)</span>
<span id="cb1-37"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># else:</span></span>
<span id="cb1-38">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># print('Data already acquired. Loading it.')</span></span>
<span id="cb1-39"></span>
<span id="cb1-40">iod25 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pd.read_csv(filepath)</span>
<span id="cb1-41"></span>
<span id="cb1-42"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Clean column names</span></span>
<span id="cb1-43">iod25 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> janitor.clean_names(iod25)</span>
<span id="cb1-44">iod25.columns <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> iod25.columns.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">str</span>.strip(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'_'</span>)</span>
<span id="cb1-45"></span>
<span id="cb1-46">domains_of_interest <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [</span>
<span id="cb1-47">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'index_of_multiple_deprivation'</span>,</span>
<span id="cb1-48">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'income'</span>,</span>
<span id="cb1-49">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'employment'</span>,</span>
<span id="cb1-50">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'education_skills_and_training'</span>,</span>
<span id="cb1-51">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'health_deprivation_and_disability'</span>,</span>
<span id="cb1-52">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'crime'</span>,</span>
<span id="cb1-53">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'barriers_to_housing_and_services'</span>,</span>
<span id="cb1-54">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'living_environment'</span>,</span>
<span id="cb1-55">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'income_deprivation_affecting_children'</span>,</span>
<span id="cb1-56">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'income_deprivation_affecting_older_people'</span>,</span>
<span id="cb1-57">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'children_and_young_people_sub-domain'</span>,</span>
<span id="cb1-58">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'adult_skills_sub-domain'</span>,</span>
<span id="cb1-59">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'geographical_barriers_sub-domain'</span>,</span>
<span id="cb1-60">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'wider_barriers_sub-domain'</span>,</span>
<span id="cb1-61">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'indoors_sub-domain'</span>,</span>
<span id="cb1-62">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'outdoors_sub-domain'</span>,</span>
<span id="cb1-63">]</span>
<span id="cb1-64"></span>
<span id="cb1-65"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> clean_domain_name(domain):</span>
<span id="cb1-66">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> domain.replace(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'_'</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">' '</span>).title()</span>
<span id="cb1-67">domain_dict <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> {domain: clean_domain_name(domain) <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> domain <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> domains_of_interest}</span>
<span id="cb1-68"></span>
<span id="cb1-69"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Reorder columns</span></span>
<span id="cb1-70">cols <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [</span>
<span id="cb1-71">    col <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> col <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> iod25.columns</span>
<span id="cb1-72">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">if</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'score'</span> <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> col</span>
<span id="cb1-73">    <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">and</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">any</span>(domain <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> col <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> domain <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> domains_of_interest)</span>
<span id="cb1-74">]</span>
<span id="cb1-75"></span>
<span id="cb1-76">population_cols <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [</span>
<span id="cb1-77">    col <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> col <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> iod25.columns </span>
<span id="cb1-78">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">if</span> (<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'population'</span> <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> col)</span>
<span id="cb1-79">    <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">or</span> (<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'dependent_children'</span> <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> col)</span>
<span id="cb1-80">]</span>
<span id="cb1-81"></span>
<span id="cb1-82">iod25 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> iod25.rename(</span>
<span id="cb1-83">    columns <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> {</span>
<span id="cb1-84">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'lsoa_code_2021'</span>: <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'lsoa21cd'</span>,</span>
<span id="cb1-85">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'lsoa_name_2021'</span>: <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'lsoa21nm'</span>,</span>
<span id="cb1-86">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'local_authority_district_code_2024'</span>: <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'lad24cd'</span>,</span>
<span id="cb1-87">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'local_authority_district_name_2024'</span>: <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'lad24nm'</span>,</span>
<span id="cb1-88"></span>
<span id="cb1-89">    })</span>
<span id="cb1-90"></span>
<span id="cb1-91">iod25 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> iod25[[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'lsoa21cd'</span>,<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'lsoa21nm'</span>,<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'lad24cd'</span>,<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'lad24nm'</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> cols <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> population_cols]</span>
<span id="cb1-92"></span>
<span id="cb1-93"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Get the lookup from LSOA to MSOA. This is from our DB. </span></span>
<span id="cb1-94"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Lookups are available at ONS geoportal, e.g. https://geoportal.statistics.gov.uk/datasets/45fdd4465604493cb7d2238ad642172b_0/explore</span></span>
<span id="cb1-95"></span>
<span id="cb1-96">filepath <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> os.path.join(data_dir, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'lsoa_msoa21_lookup.pkl'</span>)</span>
<span id="cb1-97"><span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">if</span> <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">not</span> os.path.isfile(filepath):</span>
<span id="cb1-98">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">with</span> engine.<span class="ex" style="color: null;
background-color: null;
font-style: inherit;">connect</span>() <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> con:</span>
<span id="cb1-99">        query <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'''SELECT DISTINCT lsoa21cd, msoa21cd</span></span>
<span id="cb1-100"><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">                FROM pcode_census21_lookup</span></span>
<span id="cb1-101"><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">            '''</span></span>
<span id="cb1-102">        lookup21 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pd.read_sql(query, con <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> con)</span>
<span id="cb1-103"></span>
<span id="cb1-104">        <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">with</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">open</span>(filepath, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'wb'</span>) <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">file</span>:</span>
<span id="cb1-105">            pickle.dump(lookup21, <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">file</span>)</span>
<span id="cb1-106"><span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">else</span>:</span>
<span id="cb1-107">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">with</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">open</span>(filepath, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'rb'</span>) <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">file</span>:</span>
<span id="cb1-108">        lookup21 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pickle.load(<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">file</span>)</span>
<span id="cb1-109"></span>
<span id="cb1-110">iod25_msoa <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> iod25.copy()</span>
<span id="cb1-111"></span>
<span id="cb1-112">iod25_msoa <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> iod25_msoa.merge(lookup21, how<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'left'</span>, on<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'lsoa21cd'</span>)    </span>
<span id="cb1-113"></span>
<span id="cb1-114">cols <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> iod25_msoa.columns[iod25_msoa.columns.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">str</span>.contains(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'score'</span>)]</span>
<span id="cb1-115"></span>
<span id="cb1-116"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Note - denominator may need to be different for particular domains</span></span>
<span id="cb1-117"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Create a dictionary to index the correct population column</span></span>
<span id="cb1-118"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># These are metrics with specific denominators</span></span>
<span id="cb1-119">special_cols <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [</span>
<span id="cb1-120">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'income_deprivation_affecting_children_index_idaci_score_rate'</span>,</span>
<span id="cb1-121">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'income_deprivation_affecting_older_people_idaopi_score_rate'</span>,</span>
<span id="cb1-122">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'employment_score_rate'</span></span>
<span id="cb1-123">]</span>
<span id="cb1-124"></span>
<span id="cb1-125"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># These are the metrics with the general pop denominator</span></span>
<span id="cb1-126">normal_cols <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [col <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> col <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> cols <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">if</span> col <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">not</span> <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> special_cols]</span>
<span id="cb1-127"></span>
<span id="cb1-128"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Map the special metrics to specific denoms</span></span>
<span id="cb1-129">pop_dict <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> {</span>
<span id="cb1-130">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'income_deprivation_affecting_children_index_idaci_score_rate'</span>: <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'dependent_children_aged_0_15_mid_2022'</span>,</span>
<span id="cb1-131">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'income_deprivation_affecting_older_people_idaopi_score_rate'</span>: <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'older_population_aged_60_and_over_mid_2022'</span>,</span>
<span id="cb1-132">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'employment_score_rate'</span>: <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'working_age_population_18_66_for_use_with_employment_deprivation_domain_mid_2022'</span></span>
<span id="cb1-133">}</span>
<span id="cb1-134"></span>
<span id="cb1-135"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Map the normal metrics to the total pop denom</span></span>
<span id="cb1-136">temp_dict <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> {col: <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'total_population_mid_2022'</span> <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> col <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> normal_cols}</span>
<span id="cb1-137"></span>
<span id="cb1-138"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Add the two dicts</span></span>
<span id="cb1-139">pop_dict.update(temp_dict)</span>
<span id="cb1-140"></span>
<span id="cb1-141"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Multiply each score by population</span></span>
<span id="cb1-142"><span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> col <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> cols:</span>
<span id="cb1-143">    population_col <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pop_dict[col]</span>
<span id="cb1-144">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># print(col)</span></span>
<span id="cb1-145">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># print(population_col)</span></span>
<span id="cb1-146">    iod25_msoa[col <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'_weighted'</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> iod25_msoa[col] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> iod25_msoa[population_col]</span>
<span id="cb1-147"></span>
<span id="cb1-148"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Group by MSOA and sum the weighted scores and population</span></span>
<span id="cb1-149">grouped <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> iod25_msoa.groupby([<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'msoa21cd'</span>,<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'lad24cd'</span>,<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'lad24nm'</span>]).agg(</span>
<span id="cb1-150">    {col <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'_weighted'</span>: <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'sum'</span> <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> col <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> cols} <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">|</span></span>
<span id="cb1-151">    {<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'total_population_mid_2022'</span>: <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'sum'</span>,</span>
<span id="cb1-152">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'dependent_children_aged_0_15_mid_2022'</span>: <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'sum'</span>,</span>
<span id="cb1-153">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'older_population_aged_60_and_over_mid_2022'</span>: <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'sum'</span>,</span>
<span id="cb1-154">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'working_age_population_18_66_for_use_with_employment_deprivation_domain_mid_2022'</span>: <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'sum'</span>}</span>
<span id="cb1-155">).reset_index()</span>
<span id="cb1-156"></span>
<span id="cb1-157"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Calculate weighted average, rank, and decile</span></span>
<span id="cb1-158"><span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> col <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> cols:</span>
<span id="cb1-159">    avg_col <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> col <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'_weighted_avg'</span></span>
<span id="cb1-160">    rank_col <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> col <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'_rank'</span></span>
<span id="cb1-161">    decile_col <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> col <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'_decile'</span></span>
<span id="cb1-162">    population_col <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pop_dict[col]</span>
<span id="cb1-163"></span>
<span id="cb1-164">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># print(col + ': ' + population_col)</span></span>
<span id="cb1-165">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># print(grouped[population_col])</span></span>
<span id="cb1-166"></span>
<span id="cb1-167">    grouped[avg_col] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> grouped[col <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'_weighted'</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> grouped[population_col]</span>
<span id="cb1-168">    grouped[rank_col] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> grouped[avg_col].rank(method<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'min'</span>, ascending<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">False</span>)</span>
<span id="cb1-169">    grouped[decile_col] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pd.qcut(grouped[rank_col], q<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>, labels<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">range</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">11</span>), duplicates<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'drop'</span>)</span>
<span id="cb1-170"></span>
<span id="cb1-171"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Select final columns to keep</span></span>
<span id="cb1-172">iod25_msoa <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> grouped[[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'msoa21cd'</span>,<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'lad24cd'</span>,<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'lad24nm'</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> </span>
<span id="cb1-173">                   [col <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> suffix <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> col <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> cols <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> suffix <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> [<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'_weighted_avg'</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'_rank'</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'_decile'</span>]]]</span>
<span id="cb1-174"></span>
<span id="cb1-175"></span>
<span id="cb1-176">iod25_msoa.to_csv(os.path.join(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'data'</span>,<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'iod25_msoa.csv'</span>), index<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">False</span>)</span></code></pre></div>
</details>
</div>


<!-- -->

</section>
</section>

 ]]></description>
  <category>blog</category>
  <category>data-analysis</category>
  <category>place-based-change</category>
  <guid>https://justknowledge.org.uk/blog/imd.html</guid>
  <pubDate>Sun, 07 Jun 2026 23:00:00 GMT</pubDate>
  <media:content url="https://justknowledge.org.uk/assets/images/blog/imd25-msoa.png" medium="image" type="image/png" height="146" width="144"/>
</item>
<item>
  <title>Exploring Social Capital</title>
  <dc:creator>Just Knowledge Team</dc:creator>
  <link>https://justknowledge.org.uk/blog/exploring-social-capital.html</link>
  <description><![CDATA[ 




<div class="quarto-figure quarto-figure-center">
<figure class="figure">
<p><img src="https://justknowledge.org.uk/assets/images/blog/social-connections.png" class="quarto-figure quarto-figure-center figure-img" height="300"></p>
</figure>
</div>
<section id="exploring-social-capital" class="level1">
<h1>Exploring Social Capital</h1>
<div class="columns">
<div class="column" style="width:50%;">
<div style="text-align: center;">
<p><em>Jolyon Miles-Wilson</em></p>
</div>
</div><div class="column" style="width:50%;">
<div style="text-align: center;">
<p><em>17-10-2025</em></p>
</div>
</div>
</div>
<!-- end columns -->
<p>We’re currently exploring some opportunities to support Lloyds Bank Foundation with their <strong>place-based change</strong> work using novel data on Social Capital, based on data from Facebook.<sup>1</sup> The aim is to understand how social capital can help identify and shape development stategies for areas at a hyperlocal level.</p>
<section id="the-data" class="level2">
<h2 class="anchored" data-anchor-id="the-data">The Data</h2>
<p>The dataset is based on 20.5 million active UK Facebook users with at least 100 friends, aged 25-64, which represents approximately 58% of the 25-64 UK population.<sup>2</sup> It was produced through a collaboration between Meta, Behavioural Insights Team, the Royal Society of Arts, Stripe Partners, Neighbourly Lab, Opportunity Insights, New York University and Stanford University. During our time at the RSA, both Celestin and I were closely involved in this work.</p>
<p>The data contain many variables measuring different facets of social capital. For now, we focus on just one: <strong>Economic Connectedness</strong>. Economic Connectedness represents the <strong>proportion of friends of people of low socioeconomic status (SES) who are of high SES</strong>. In the seminal work in the US context by Chetty et al.&nbsp;(2022),<sup>3</sup> Economic Connectedness was found to strongly predict upward social mobility.</p>
</section>
<section id="the-national-view" class="level2">
<h2 class="anchored" data-anchor-id="the-national-view">The National View</h2>
<p>Social capital is stronger in the UK than it is in the US. But it is qualitatively different; in the UK it is driven by hobby groups, whereas in the US it is driven by religious groups.</p>
<p>While the overall picture is strong, social capital varies across England and Wales.</p>
<div id="b38deea4" class="cell" data-execution_count="5">
<div class="cell-output cell-output-display">
<div class="quarto-figure quarto-figure-center">
<figure class="figure">
<p><img src="https://justknowledge.org.uk/blog/exploring-social-capital_files/figure-html/cell-6-output-1.png" class="quarto-figure quarto-figure-center figure-img" width="494" height="758"></p>
</figure>
</div>
</div>
</div>
<!-- Start regions -->
</section>
<section id="the-regional-picture" class="level2 smaller">
<h2 class="smaller anchored" data-anchor-id="the-regional-picture">The Regional Picture</h2>
<p>Social Capital varies from place to place, which may make it a particularly useful metric for judging the strengths and needs of local areas. Below, we can see how social capital varies between and within regions.<sup>4</sup></p>
<div class="tabset-margin-container"></div><div class="panel-tabset">
<ul class="nav nav-tabs"><li class="nav-item"><a class="nav-link active" id="tabset-1-1-tab" data-bs-toggle="tab" data-bs-target="#tabset-1-1" aria-controls="tabset-1-1" aria-selected="true">North East</a></li><li class="nav-item"><a class="nav-link" id="tabset-1-2-tab" data-bs-toggle="tab" data-bs-target="#tabset-1-2" aria-controls="tabset-1-2" aria-selected="false">West Midlands</a></li><li class="nav-item"><a class="nav-link" id="tabset-1-3-tab" data-bs-toggle="tab" data-bs-target="#tabset-1-3" aria-controls="tabset-1-3" aria-selected="false">East of England</a></li></ul>
<div class="tab-content">
<div id="tabset-1-1" class="tab-pane active" aria-labelledby="tabset-1-1-tab">
<p>This map shows Economic Connectedness by <strong>Local Authority District</strong> for the <strong>North East</strong>.</p>
<p>Purple values indicate lower Economic Connectedness.</p>
<p>Whiter values indicate higher Economic Connectedness.</p>
<div id="db404ac6" class="cell" data-execution_count="8">
<div class="cell-output cell-output-display">
<div>
<figure class="figure">
<p><img src="https://justknowledge.org.uk/blog/exploring-social-capital_files/figure-html/cell-9-output-1.png" width="514" height="537" class="figure-img"></p>
</figure>
</div>
</div>
</div>
</div>
<div id="tabset-1-2" class="tab-pane" aria-labelledby="tabset-1-2-tab">
<p>This map shows Economic Connectedness by <strong>Local Authority District</strong> for the <strong>West Midlands</strong>.</p>
<p>Purple values indicate lower Economic Connectedness.</p>
<p>Whiter values indicate higher Economic Connectedness.</p>
<div id="1d9082c9" class="cell" data-execution_count="10">
<div class="cell-output cell-output-display">
<div>
<figure class="figure">
<p><img src="https://justknowledge.org.uk/blog/exploring-social-capital_files/figure-html/cell-11-output-1.png" width="565" height="537" class="figure-img"></p>
</figure>
</div>
</div>
</div>
</div>
<div id="tabset-1-3" class="tab-pane" aria-labelledby="tabset-1-3-tab">
<p>This map shows Economic Connectedness by <strong>Local Authority District</strong> for the <strong>East of England</strong>.</p>
<p>Purple values indicate lower Economic Connectedness.</p>
<p>Whiter values indicate higher Economic Connectedness.</p>
<div id="f5181b26" class="cell" data-execution_count="12">
<div class="cell-output cell-output-display">
<div>
<figure class="figure">
<p><img src="https://justknowledge.org.uk/blog/exploring-social-capital_files/figure-html/cell-13-output-1.png" width="586" height="513" class="figure-img"></p>
</figure>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- End tabset -->
<!-- Start LADs -->
</section>
<section id="social-capital-is-hyper-local" class="level2 smaller">
<h2 class="smaller anchored" data-anchor-id="social-capital-is-hyper-local">Social Capital is Hyper-local</h2>
<p>Zooming in even further highlights that social capital can be hyperlocal. Below, we visualise small areas within local authorities to show how social connections vary from neighbourhood to neighbourhood.</p>
<div class="tabset-margin-container"></div><div class="panel-tabset">
<ul class="nav nav-tabs"><li class="nav-item"><a class="nav-link active" id="tabset-2-1-tab" data-bs-toggle="tab" data-bs-target="#tabset-2-1" aria-controls="tabset-2-1" aria-selected="true">Redcar and Cleveland</a></li><li class="nav-item"><a class="nav-link" id="tabset-2-2-tab" data-bs-toggle="tab" data-bs-target="#tabset-2-2" aria-controls="tabset-2-2" aria-selected="false">Telford and Wrekin</a></li><li class="nav-item"><a class="nav-link" id="tabset-2-3-tab" data-bs-toggle="tab" data-bs-target="#tabset-2-3" aria-controls="tabset-2-3" aria-selected="false">Great Yarmouth</a></li></ul>
<div class="tab-content">
<div id="tabset-2-1" class="tab-pane active" aria-labelledby="tabset-2-1-tab">
<p>This map shows Economic Connectedness by <strong>Middle layer Super Output Area</strong> for <strong>Redcar and Cleveland</strong>.</p>
<p>Purple values indicate lower Economic Connectedness.</p>
<p>Whiter values indicate higher Economic Connectedness.</p>
<div id="738503f2" class="cell" data-execution_count="14">
<div class="cell-output cell-output-display">
<div>
<figure class="figure">
<p><img src="https://justknowledge.org.uk/blog/exploring-social-capital_files/figure-html/cell-15-output-1.png" width="586" height="341" class="figure-img"></p>
</figure>
</div>
</div>
</div>
</div>
<div id="tabset-2-2" class="tab-pane" aria-labelledby="tabset-2-2-tab">
<p>This map shows Economic Connectedness by <strong>Middle layer Super Output Area</strong> for <strong>Telford and Wrekin</strong>.</p>
<p>Purple values indicate lower Economic Connectedness.</p>
<p>Whiter values indicate higher Economic Connectedness.</p>
<div id="168c876e" class="cell" data-execution_count="16">
<div class="cell-output cell-output-display">
<div>
<figure class="figure">
<p><img src="https://justknowledge.org.uk/blog/exploring-social-capital_files/figure-html/cell-17-output-1.png" width="586" height="502" class="figure-img"></p>
</figure>
</div>
</div>
</div>
</div>
<div id="tabset-2-3" class="tab-pane" aria-labelledby="tabset-2-3-tab">
<p>This map shows Economic Connectedness by <strong>Middle layer Super Output Area</strong> for <strong>Great Yarmouth</strong>.</p>
<p>Purple values indicate lower Economic Connectedness.</p>
<p>Whiter values indicate higher Economic Connectedness.</p>
<div id="1e0a160e" class="cell" data-execution_count="18">
<div class="cell-output cell-output-display">
<div>
<figure class="figure">
<p><img src="https://justknowledge.org.uk/blog/exploring-social-capital_files/figure-html/cell-19-output-1.png" width="395" height="537" class="figure-img"></p>
</figure>
</div>
</div>
</div>
</div>
</div>
</div>
<p><!-- End tabset --></p>
</section>
<section id="the-work-continues" class="level2">
<h2 class="anchored" data-anchor-id="the-work-continues">The Work continues</h2>
<p>We aim to further explore how these novel data on social capital can be put to use to help improve social outcomes. Stay tuned by subscribing to our newsletter below to hear about our progress.</p>


<!-- -->

</section>
</section>


<div id="quarto-appendix" class="default"><section id="footnotes" class="footnotes footnotes-end-of-document"><h2 class="anchored quarto-appendix-heading">Footnotes</h2>

<ol>
<li id="fn1"><p><a href="https://data.humdata.org/dataset/%20uk-social-capital-atlas">https://data.humdata.org/dataset/uk-social-capital-atlas</a>↩︎</p></li>
<li id="fn2"><p>Harris, T., Iyer, S., Rutter, T., Chi, G., Johnston, D., Lam, P., Makinson, L., Silva, A., Wessel, M., Liou, M.-C., Wang, Y., Zaman, Q., &amp; Bailey, M. (2025). Social Capital in the United Kingdom: Evidence from Six Billion Friendships. OSF. <a href="https://doi.org/10.31235/osf.io/kb7dy_v1">https://doi.org/10.31235/osf.io/kb7dy_v1</a>↩︎</p></li>
<li id="fn3"><p>Chetty, R., Jackson, M. O., Kuchler, T., Stroebel, J., Hendren, N., Fluegge, R. B., Gong, S., Gonzalez, F., Grondin, A., Jacob, M., Johnston, D., Koenen, M., Laguna-Muggenburg, E., Mudekereza, F., Rutter, T., Thor, N., Townsend, W., Zhang, R., Bailey, M., … Wernerfelt, N. (2022). Social capital I: Measurement and associations with economic mobility. Nature, 608(7921), 108–121. <a href="https://doi.org/10.1038/s41586-022-04996-4">https://doi.org/10.1038/s41586-022-04996-4</a>↩︎</p></li>
<li id="fn4"><p>We focus here only on this handful of areas because these are the places where some of Lloyds Bank Foundation’s work is already focused. The same exercise can be done for any place in the UK↩︎</p></li>
</ol>
</section></div> ]]></description>
  <category>blog</category>
  <category>policy-impact</category>
  <category>data-analysis</category>
  <category>place-based-change</category>
  <guid>https://justknowledge.org.uk/blog/exploring-social-capital.html</guid>
  <pubDate>Thu, 16 Oct 2025 23:00:00 GMT</pubDate>
  <media:content url="https://justknowledge.org.uk/assets/images/blog/social-connections.png" medium="image" type="image/png" height="144" width="144"/>
</item>
<item>
  <title>Welcome to Just Knowledge</title>
  <dc:creator>Dr Celestin Okoroji</dc:creator>
  <link>https://justknowledge.org.uk/blog/welcome-to-just-knowledge.html</link>
  <description><![CDATA[ 




<section id="welcome-to-just-knowledge" class="level1">
<h1>Welcome to Just Knowledge</h1>
<p>We’re excited to launch Just Knowledge and share our vision for a more equitable approach to research and data analysis.</p>
<section id="why-we-started-just-knowledge" class="level2">
<h2 class="anchored" data-anchor-id="why-we-started-just-knowledge">Why We Started Just Knowledge</h2>
<p>Traditional research often excludes the very communities most affected by the issues being studied. <strong>We believe this has to change.</strong></p>
<p>At Just Knowledge, we’re building a different model—one where:</p>
<ul>
<li>Communities lead the questions being asked</li>
<li>Data interpretation happens <em>with</em> people, not <em>about</em> them<br>
</li>
<li>Knowledge creation serves justice, not just academic careers</li>
<li>Research findings are accessible to everyone who needs them</li>
</ul>
</section>
<section id="our-first-principles" class="level2">
<h2 class="anchored" data-anchor-id="our-first-principles">Our First Principles</h2>
<section id="communities-first" class="level3">
<h3 class="anchored" data-anchor-id="communities-first">Communities First</h3>
<p>The people closest to problems are closest to solutions. We provide tools and resources that support locally-led change.</p>
</section>
<section id="working-in-the-open" class="level3">
<h3 class="anchored" data-anchor-id="working-in-the-open">Working In the Open</h3>
<p>Knowledge belongs to everyone. All our data, code, and methods are open and freely accessible.</p>
</section>
<section id="change-is-possible" class="level3">
<h3 class="anchored" data-anchor-id="change-is-possible">Change is Possible</h3>
<p>We focus on actionable insights that communities can use to drive real systemic change.</p>
</section>
<section id="knowledge-is-power" class="level3">
<h3 class="anchored" data-anchor-id="knowledge-is-power">Knowledge is Power</h3>
<p>We work to build epistemic power in marginalised communities by ensuring they have the methods and tools needed to advocate for themselves.</p>
</section>
</section>
<section id="whats-next" class="level2">
<h2 class="anchored" data-anchor-id="whats-next">What’s Next?</h2>
<p>Over the coming months, we’ll be sharing:</p>
<ul>
<li>Case studies from our community partnerships</li>
<li>Open datasets and analysis tools</li>
<li>Methodological insights from our collaborative approach</li>
<li>Stories of change from the communities we work with</li>
</ul>
</section>
<section id="get-involved" class="level2">
<h2 class="anchored" data-anchor-id="get-involved">Get Involved</h2>
<p>Whether you’re a community organisation, researcher, funder, or simply someone passionate about social justice—we want to hear from you.</p>
<p><a href="../our-approach.html">Read about our approach</a> or <a href="../contact.html">get in touch</a> to explore how we might work together.</p>
<hr>
<p><em>This is our first step in building a more just approach to knowledge creation. Thank you for joining us on this journey.</em></p>


</section>
</section>

 ]]></description>
  <category>blog</category>
  <category>announcement</category>
  <category>community-research</category>
  <category>data-democracy</category>
  <guid>https://justknowledge.org.uk/blog/welcome-to-just-knowledge.html</guid>
  <pubDate>Thu, 02 Oct 2025 23:00:00 GMT</pubDate>
  <media:content url="https://justknowledge.org.uk/assets/images/shared/placeholder-icon.svg" medium="image" type="image/svg+xml"/>
</item>
<item>
  <title>From Food Banks to Football Stadia: Where Data Meets Reality in Northumberland Park</title>
  <dc:creator>Jolyon Miles-Wilson</dc:creator>
  <link>https://justknowledge.org.uk/blog/food-banks-to-football-stadia.html</link>
  <description><![CDATA[ 




<section id="from-food-banks-to-football-stadia-where-data-meets-reality-in-northumberland-park" class="level1">
<h1>From Food Banks to Football Stadia: Where Data Meets Reality in Northumberland Park</h1>
<p><em>Dr Jolyon Miles-Wilson - 23rd July 2025</em></p>
<p>In June we met for the second time with the residents of Northumberland Park in Haringey as part of our work on the <a href="https://insightinfrastructure.co.uk/">JRF Insight Infrastructure</a> Convening project focused on child poverty. Our first session was dedicated to getting to know participants and getting their initial thoughts on the concept of ‘child poverty’. <a href="https://justknowledge.org.uk/blog/poverty-power-place.html">As my colleague Celestin wrote following the first session</a>, we seek to anchor high quality data analysis on the perspectives of people directly experiencing the issues the data concern. In our second session, we brought bespoke data analysis based on the discussion and interests arising from that first session.</p>
<p>We first discussed child poverty rates for the UK overall and Haringey and Northumberland Park in particular. The data are produced by the Department for Work and Pensions and describe the number and proportion of children who live in low income families <span class="citation" data-cites="noauthor_children_2025">(<span>“Children in Low Income Families: Local Area Statistics”</span> 2025)</span>.<sup>1</sup> The figure below shows the rate of child poverty in the UK, Haringey, and Northumberland Park from 2014 to 2023. It shows that while Haringey on average has lower rates of child poverty than the UK average, Northumberland Park specifically not only has much higher rates, but these rates have also increased more steeply since 2014/15.</p>
<p><img src="https://justknowledge.org.uk/assets/images/blog/UK_Haringey_NP_CLIF.png" class="img-fluid"></p>
<p>Participants intuited this pattern before seeing the plot in the session. The discussion quickly went beyond the data and into the nuance of place in Haringey. One participant described a split into East and West Haringey.</p>
<blockquote class="blockquote">
<p>“the reason why that line is as it is, is because the west part of the borough is technically more wealthy … And you can actually see that, like, if you go to Wood Green and you pass a certain place, you already know, like it feels different … when you come to the east part of Haringey from coming through the West, it’s as if you’re in a simulation. It actually feels like you’re in two different worlds.”</p>
</blockquote>
<p>They also described how the wealth disparity can be readily witnessed along the W3 bus route spanning the east-west axis, taking passengers from some of the poorest areas of the borough to some of the richest. Alexandra Palace was described as a notable intersection where the change in worlds is felt.</p>
<blockquote class="blockquote">
<p>“once you get to that little peak, and you see, like, Ally Pally, that’s when you start coming into, ‘Oh, wow, London actually is nice!’ and you start feeling a bit ougie-bougie. And then the bougie really sets in once it goes down that hill.”</p>
</blockquote>
<p>These descriptions mapped, literally, onto a visualisation we had prepared – but hadn’t yet shown the group – showing the spatial distribution of child poverty in Haringey. The transition point described by participants is evident where the blue areas on the left meet the green areas on the right . This dividing North-South line (whose approximate position is depicted in red) follows the Great Northern Route railway, which forms part of the East Coast Main Line.</p>
<p><img src="https://justknowledge.org.uk/assets/images/blog/cilif_haringey.png" class="img-fluid"></p>
<p>The account of the geography of Haringey that participants shared was not only validated by the existing data, but also went much deeper than what can be inferred by maps alone. For example, their interpretations included reflections on the presence of Tottenham Hotspur Stadium.</p>
<p>After our last session, my colleague Celestin wrote about the juxtaposition of extreme wealth embodied by the stadium within the highly deprived area of Northumberland Park. In our most recent session, participants expanded on this.</p>
<p>Since that session, Tottenham Hotspur Stadium hosted Beyoncé on her Cowboy Carter Tour. The artist, <a href="https://www.forbes.com/profile/beyonce-knowles-carter/">whose net worth is estimated to be $780 million</a> <span class="citation" data-cites="noauthor_beyonce_2025">(<span>“Beyoncé <span>Knowles</span>-<span>Carter</span>”</span> 2025)</span>, <a href="https://www.forbes.com/profile/beyonce-knowles-carter/">broke records at the stadium</a> over the six shows she performed between 5 and 16 June 2025, including highest grossing concerts for any artist at over £45,000,000 <span class="citation" data-cites="noauthor_beyonce_2025-1">(<span>“Beyoncé <span>Breaks</span> <span>Her</span> <span>Own</span> <span>Record</span>”</span> 2025)</span>. But for residents of Tottenham and Northumberland Park, the glamour and glitz of these performances contrast strongly with the reality of life in the area and in some respects makes life harder through the disruption to services and infrastructure that events at the stadium bring.</p>
<blockquote class="blockquote">
<p>“…I can’t lie, the Beyoncé thing, and her breaking the million record thing … And then that going on for the time it went on for. And then the way this estate had to experience disruption and the fallback from it. And then it was so funny, because she had one of her performances, and all the food banks were open. I remember walking because there was no buses, init, I was coming back late … so I had to walk … and then there was like the food bank”.</p>
</blockquote>
<blockquote class="blockquote">
<p>“we have to rearrange [everything] because of the concert, the roads will be closed. It’s disruption. It’s just too much.”</p>
</blockquote>
<p>This sharp distinction between hyper-wealth and poverty was something we aimed to investigate and discuss further with residents this time around. One question elicited from our previous conversation was “is Tottenham unique in its positioning of a multi-million-pound stadium in an area of high poverty?”</p>
<p>To answer this question, we scraped the web for the names and locations of the 2024-2025 Premier League Stadia and identified the neighbourhoods within a 1km radius of them. We then calculated the rate of child poverty in these neighbourhoods (using the same data source as above) and ranked them so that rank 1 is the area with the highest rate of child poverty in England and Wales and rank 7,264 is the area with the lowest rate of child poverty. The result of this exercise is shown in the figure below.</p>
<p>The vertical axis shows the stadium names and the horizontal axis represents the child poverty rank. The red vertical lines indicate the deciles where, for example, decile 1 can be understood to contain the poorest 10% of areas in England and Wales, and decile 10 can be understood to contain the wealthiest 10% of areas. The dots on the plot represent the areas within 1km of each stadium.</p>
<p>The areas within 1km of Tottenham Hotspur Stadium are highlighted in black for ease of viewing, and Northumberland Park is highlighted in red. The blue diamonds represent the average rank of the local authority the stadium is in. This data point helps provide a baseline for judging the extent to which inequality might be inherent in the locating of a stadium. Areas where the dots are evenly distributed around the diamond suggest that the level of poverty within 1km of the stadium is typical of the wider local authority. Areas where the dots are mostly to right of the blue diamond suggest that the level of poverty within 1km is lower than average for the local authority. Areas where the dots are mostly to the left of the blue diamond indicate places where the level of poverty within 1km of the stadium is higher than the average for the local authority.</p>
<p><img src="https://justknowledge.org.uk/assets/images/blog/all_stadiums_1km.png" class="img-fluid"></p>
<p>The figure indicates that Tottenham is not unique in its positioning of a wealthy Premier League stadium in an extremely poor area; many stadia across the country appear to be located in poor areas, perhaps the result of football’s <a href="https://jacobin.com/2024/02/football-soccer-working-class-history">working class roots</a> <span class="citation" data-cites="noauthor_how_2024">(<span>“How <span>Football</span> <span>Made</span> the <span>Working</span> <span>Class</span>”</span> 2024)</span>, or perhaps because the land is cheaper. Throughout England and Wales there are indeed places where the level of poverty surrounding a stadium is worse than it is for Northumberland Park (e.g.&nbsp;Villa Park in Birmingham). In addition, looking at the position of the blue diamonds relative to the dots indicates that most stadia are located in areas that are poorer than the average for the local authority, suggesting that this pattern is typical.</p>
<p>But comparing London areas to non-London areas can be misleading because there may be broader economic differences between places anyway. For example, the local authority of Birmingham has higher levels of child poverty than London boroughs. It is therefore more appropriate to compare Tottenham to other areas in London. The below figure is identical to the previous but only shows the London stadia.</p>
<p><img src="https://justknowledge.org.uk/assets/images/blog/london_stadiums_1km.png" class="img-fluid"></p>
<p>Here we can see that other London stadia tend to have a more even distribution of child poverty around the local authority average within a kilometre (Emirates Stadium in Islington, London Stadium in Newham), or that areas around the stadia experience less poverty than the local authority average (Brentford Community Stadium in Hounslow, Stamford Bridge and Craven Cottage in Hammersmith and Fulham). Only Tottenham Hotspur Stadium and Selhurst Park in Croydon show the skew towards high levels of child poverty that are not characteristic of the local authority as a whole, and the case of Tottenham Hotspur Stadium is the worse of the two. So, when we consider only London, the data suggest that Tottenham is unique; most other Premier League London stadia are not located exclusively in the poorest areas of their respective boroughs.</p>
<p>On top of this, although developments like constructing a stadium typically come with legal obligations to mitigate their impact on the local area (commonly known as ‘section 106’ or ‘developer contributions’; see <a href="https://www.gov.uk/guidance/planning-obligations">https://www.gov.uk/guidance/planning-obligations</a>; <span class="citation" data-cites="noauthor_planning_2019"><span>“Planning Obligations”</span> (2019)</span>), the residents we spoke with rarely described any benefit they had directly or indirectly experienced from the presence of the Tottenham Hotspur Stadium. One mitigator related to the potential boost to the local economy that the stadium might have brought. However, residents of Northumberland Park described no evidence of such a boost for existing small businesses in the area but rather the opposite. Participants described how even those businesses that weren’t bought out or ‘relocated’ to make way for the new development saw little benefit of increased custom. Instead, stadium-goers were described to ‘parachute in and parachute out’, limiting their spending to businesses on the new development and ignoring existing businesses in the Northumberland Park area. The question of business viability in the area was something that participants were particularly interested to explore and we intend to identify datasets that can speak to this for discussion in the next session.</p>
<p>One of the foci of this project concerns how race factors into child poverty. When we raised this question with the residents of Northumberland Park, while ‘richer’ areas were described as ‘Whiter’ on average, there was general agreement in the group that ethnicity was not a salient differentiator between people living on the estate. Instead, Northumberland Park (and the wider area of Tottenham) was described as an ethnically diverse area where everybody’s circumstances were similar – regardless of race – and this engendered a sense of solidarity among residents that was felt to be absent in other areas.</p>
<blockquote class="blockquote">
<p>“generally there’s a mix of ethnicity in Northumberland Park, but the vibration in the entire area is the same. So, White, Black, Turkish, whichever race, everyone has suppression, low, low moods, low like, no opportunity, control from the government.”</p>
</blockquote>
<blockquote class="blockquote">
<p>“there’s like a saying … you can find the whole world in Tottenham. Yeah, because you can go anywhere in Tottenham, you’ll meet someone from somewhere you don’t know.”</p>
</blockquote>
<blockquote class="blockquote">
<p>“when you go on that side [the west of Haringey] … you don’t see the mix, or, yeah, the intertwining that you see here. And when you go over there, it’s a different type of White, because here we have White … They speak how we speak. They they’re basically like us. They just happen to be White. But they experience similar circumstance – somewhat low – so they understand how it is here.”</p>
</blockquote>
<blockquote class="blockquote">
<p>“A lot of people you’ll find in this area as well, you’ll find to be selfless, like they care for others … when you go to other areas, it’s very selfish. It’s like for themselves. There’s no mingling, per se. Do you know what I mean? There’s no community there. So there’s definitely a big difference in the sense of class here and class in Muswell Hill or Alexandra Palace. It’s very different.”</p>
</blockquote>
<p>Expanding on this further, one participant described class over race as the more salient factor shaping their experience of early motherhood in Haringey.</p>
<blockquote class="blockquote">
<p>“when I explored motherhood and I thought I’d go to different playgroups… you expect everybody to be like ‘Hi!’ No, there’s cliques … So … I wouldn’t say it’s just race, because the same way that you could feel like isolated by a White middle class mum in that group, same with a Black middle class woman, in that they’ve made that transition.”</p>
</blockquote>
<p>The final piece of data that we discussed concerned the English Indices of Deprivation, which measures relative deprivation in small areas in England across seven domains: income, employment, education, health, crime, barriers to housing and services and living environment. Each small area is ranked relative to the rest of the small areas in the country on each domain, where higher ranks indicate greater deprivation. The figure below shows a subset of these domains for Haringey. The black dots indicate Northumberland Park and the grey dots represent other small areas in Haringey.</p>
<p><img src="https://justknowledge.org.uk/assets/images/blog/deprivation.png" class="img-fluid"></p>
<p>Before showing this Figure, we asked participants what they believed was the most important metric for child poverty in Northumberland Park. There was a mix of opinions, with each metric being cited by at least one person. However, income deprivation was by far felt to be the most pressing issue affecting families, with parents working extremely hard – often in more than one job – to only just make ends meet.</p>
<blockquote class="blockquote">
<p>“People are working really hard. They put in the effort, and they don’t have enough to stay afloat, even with like, benefits and stuff.”</p>
</blockquote>
<p>The sentiment that people work really hard but still struggle economically was expressed more than once, with state welfare again being described as insufficient to make a difference.</p>
<blockquote class="blockquote">
<p>“People can’t live comfortably on benefits… Most of the people on Universal Credit are working and still not being able to survive.”</p>
</blockquote>
<blockquote class="blockquote">
<p>“When it’s like poverty to the point where someone’s basic needs aren’t being met, that’s not entitlement, that’s human rights.”</p>
</blockquote>
<p>Employment and by extension education were felt to be relevant to the income issue. For some, education was felt to be important for employment outcomes, while for others the link was felt to be theoretical and not reflective of reality.</p>
<p>This latter notion was borne out by the fact that Northumberland Park ranked in the second decile for education but the first decile for employment. One participant theorised that education might act as a means for gaining employment elsewhere and leaving the area, and that this might explain the discord between the two metrics. Another remarked on the fact that nothing seems to have changed over the years despite the data evidencing the profound challenges facing people in the area.</p>
<blockquote class="blockquote">
<p>“How much more data, data, data, do they need for them to realise ‘wait, there’s a pattern, there’s a clear problem’ … At this point, it’s not even about whether or not you live here. It’s like, whether or not you’re human.”</p>
</blockquote>
<p>Housing was expressed by some as the paramount issue affecting people in Northumberland Park – both in terms of access to housing and the quality of housing. One participant explained how having secure housing is the necessary condition to enable change on any and all of the other domains of deprivation:</p>
<blockquote class="blockquote">
<p>“If you’ve got secure, affordable housing … all of those things [the other domains of deprivation] fall into place.”</p>
</blockquote>
<p>In addition to access to housing, the quality of housing was described as extremely important for people’s sense of wellbeing, self-worth and motivation, and that when people’s basic needs for quality housing are ignored there are heavy consequences for their physical and mental health, and this in turn deteriorates the social fabric of the neighbourhood.</p>
<blockquote class="blockquote">
<p>“This estate, they’ve let it just rot, like physically speaking, they’ve let the estate rot… we can say ‘oh, people should encourage themselves, motivate themselves, to do well’ … but… when you walk out your flat and … you’re greeted first thing in the morning, while you’re trying to go work – mould. Why should you care? If gets to a point where, like as humans, if you’re not, if there’s not, like, a positive response to you, you naturally will just start spiralling yourself. And that’s what we’re seeing in the estate… people don’t care to try anymore… they’ve tried and tried and tried… you’re now at a point where it’s like ‘I might as well just try to survive as a person. I might as well try to live’ … people are surviving. People are not living.”</p>
</blockquote>
<p>Spending time in conversation with residents of the Northumberland Park highlights to me how lived experience carries a sharper clarity than distant analysis. The residents offered a deep, nuanced account of the realities of life in their neighbourhood – an understanding that would be unattainable observing only the data from afar. As someone who has lived in relative financial security growing up, hearing these stories first-hand was an important and grounding experience for me, which has helped me grow both personally and professionally. Personally in connecting with and learning from people with experiences different from my own; professionally in checking the limits of experience-blind research and interpretation. Such a wealth of knowledge – more profound than any dataset alone could provide – has been shared with us in just two sessions with the residents of Northumberland Park. I look forward to seeing them all again at the next session and continuing the conversation.</p>
<section id="references" class="level2">




</section>
</section>


<div id="quarto-appendix" class="default"><section class="quarto-appendix-contents" id="quarto-bibliography"><h2 class="anchored quarto-appendix-heading">References</h2><div id="refs" class="references csl-bib-body hanging-indent" data-entry-spacing="0">
<div id="ref-noauthor_beyonce_2025-1" class="csl-entry">
<span>“Beyoncé <span>Breaks</span> <span>Her</span> <span>Own</span> <span>Record</span>.”</span> 2025. <em>Tottenham Hotspur Stadium</em>. <a href="https://www.tottenhamhotspurstadium.com/latest-news/beyonce-breaks-her-own-record-at-tottenham-hotspur-stadium">https://www.tottenhamhotspurstadium.com/latest-news/beyonce-breaks-her-own-record-at-tottenham-hotspur-stadium</a>.
</div>
<div id="ref-noauthor_beyonce_2025" class="csl-entry">
<span>“Beyoncé <span>Knowles</span>-<span>Carter</span>.”</span> 2025. <em>Forbes</em>. <a href="https://www.forbes.com/profile/beyonce-knowles-carter/">https://www.forbes.com/profile/beyonce-knowles-carter/</a>.
</div>
<div id="ref-noauthor_children_2025" class="csl-entry">
<span>“Children in Low Income Families: Local Area Statistics.”</span> 2025. <em>GOV.UK</em>. <a href="https://www.gov.uk/government/collections/children-in-low-income-families-local-area-statistics">https://www.gov.uk/government/collections/children-in-low-income-families-local-area-statistics</a>.
</div>
<div id="ref-noauthor_how_2024" class="csl-entry">
<span>“How <span>Football</span> <span>Made</span> the <span>Working</span> <span>Class</span>.”</span> 2024. <a href="https://jacobin.com/2024/02/football-soccer-working-class-history">https://jacobin.com/2024/02/football-soccer-working-class-history</a>.
</div>
<div id="ref-noauthor_planning_2019" class="csl-entry">
<span>“Planning Obligations.”</span> 2019. <em>GOV.UK</em>. <a href="https://www.gov.uk/guidance/planning-obligations">https://www.gov.uk/guidance/planning-obligations</a>.
</div>
</div></section><section id="footnotes" class="footnotes footnotes-end-of-document"><h2 class="anchored quarto-appendix-heading">Footnotes</h2>

<ol>
<li id="fn1"><p>This data source considers children to be dependent individuals under 16 years of age, or aged 16-19 and in full-time non-advanced education. In the absence of population estimates for 16–19-year-olds in full-time non-advanced education, for our visualisations we focused on under-16s.↩︎</p></li>
</ol>
</section></div> ]]></description>
  <category>blog</category>
  <category>data-democracy</category>
  <category>child-poverty</category>
  <guid>https://justknowledge.org.uk/blog/food-banks-to-football-stadia.html</guid>
  <pubDate>Tue, 22 Jul 2025 23:00:00 GMT</pubDate>
  <media:content url="https://justknowledge.org.uk/assets/images/blog/cilif_haringey.png" medium="image" type="image/png" height="78" width="144"/>
</item>
<item>
  <title>Poverty, Place, and Power in Northumberland Park</title>
  <dc:creator>Celestin Okoroji</dc:creator>
  <link>https://justknowledge.org.uk/blog/poverty-power-place.html</link>
  <description><![CDATA[ 




<section id="poverty-place-and-power-in-northumberland-park" class="level1">
<h1>Poverty, Place, and Power in Northumberland Park</h1>
<p><em>Dr Celestin Okoroji - 17th June 2025</em></p>
<p>Aga Saga Woman was a satirical character from the Catherine Tate Show - a posh, pretentious upper-middle-class mother who reacted with exaggerated horror to everyday situations, particularly encounters with working-class people. In one episode, she ‘takes a wrong turn’ and ends up in Tottenham. Panic ensues. She instructs her children to ‘remember the time we were on safari in the Serengeti - keep the windows and doors locked, and don’t let the locals see the windscreen wipers moving in case they try to rip them off’. Over four million people watched this episode when it aired in 2006.</p>
<p>Some jokes work because they do interesting things in the relationship between the familiar and unfamiliar. In this case leaning on something familiar, a widely held perception of Tottenham as dangerous, chaotic, poverty stricken and Black, and in the context, something unfamiliar, a caricature of a white upper-middle class family. For me, this sketch stung. I grew up in Tottenham, in Northumberland Park, and recognised both the grain of truth and the fundamental misunderstanding in Catherine Tate’s portrayal.</p>
<p>This tension between external perception and lived reality drives our current work on child poverty. Through our JRF Insight Infrastructure Convening project we are working with the people of Northumberland Park to explore child poverty and ethnic disparities, focusing on data interpretation through lived experience.</p>
<p>This is our first blog in a series of four where my colleagues and I reflect on the community-based research process and our early findings and reflections. Our work will culminate in a webinar in late autumn and you can stay in the loop by joining our learning community.</p>
<section id="our-approach" class="level2">
<h2 class="anchored" data-anchor-id="our-approach">Our Approach</h2>
<p>This project is a collaboration between Place Matters, Just Knowledge, Roots and Rigour and North London Partnership Consortium (NLPC). We are working together to explore how data can be used to empower and give agency to people rather than simply describe their circumstances. Or worse still, be used to other and disenfranchise.</p>
<p>We each share a commitment to doing research that centres the people most directly affected by the data, or issues under study. We recognise that our current conceptual resources are, by observation, inadequate for solving major social challenges like child poverty. While this kind of work goes by many names - Place Matters uses the term Data Democracy, others may call it community research or community-led research. As part of this approach, I am particularly drawn to the framing of Epistemic Justice. Whatever the label, the fundamental commitment is to walk in the direction our communities take us.</p>
<p>In this case, our community colleagues are the people of Northumberland Park, an estate in Tottenham where I grew up. Northumberland Park ward has the highest Index of Multiple Deprivation (IMD) score in Haringey. At a household level, Northumberland Park was ranked eighth out of 7,264 Middle Super Output Areas in England and Wales for the percentage of households that were deprived across all four areas measured in the 2021 Census: Housing, Employment, Education, and Health and Disability. Working with the community, we will explore child poverty over four workshops, culminating in a report, webinar, and hopefully community action.</p>
<p>Following a methodology we developed with several partners on this project in previous work, we provide communities with bespoke, high-quality data analysis and visualisation that connects to their own interests and observations. Rather than presenting data as definitive truth, our approach starts from a simple recognition that any data can support an infinite number of interpretations. And, while we value theoretical and conceptual frameworks, we believe there are distinct epistemic advantages to interpretation rooted in lived experience of the issues the data claims to represent.</p>
<p>As with any research project involving people, we spent our first session simply getting to know participants and eliciting their initial responses to the concept of ‘child poverty’. To allow for unfiltered reactions, we deliberately did not display any data. The session was large, with 17 participants ranging from grandmothers to teenagers, held at the Neighbourhood Resource Centre in the heart of Northumberland Park, where NLPC is based. We purposely aimed for a big turnout to gauge community interest, spark intergenerational conversations, and lay the foundation for a group that might want to continue engaging in the research process.</p>
</section>
<section id="what-is-child-poverty" class="level2">
<h2 class="anchored" data-anchor-id="what-is-child-poverty">What Is Child Poverty?</h2>
<p>To help to structure people’s initial thoughts on Child Poverty we used the Grid Elaboration Method (Joffe &amp; Elsey, 2014). The method is a simple way of eliciting reactions to a topic without initial input from the facilitator. In this case everyone was given a sheet of A4 with four boxes and simply asked to write or draw one thing that comes to mind when they think about child poverty in each box.</p>
<p>The results were fascinating. Concepts ranged from the psychological to the institutional and the structural, showing how complex the concept of child poverty is and also how, through lived experience, comprehensive understanding can emerge. For instance, one member of our group discussed how children are stigmatised for their poverty in school:</p>
<blockquote class="blockquote">
<p>“Also from school, they get abused because […] they’re not dressed well […] they don’t look well.”</p>
</blockquote>
<p>This stigmatisation was also seen as something that can persist over time:</p>
<blockquote class="blockquote">
<p>“If you are in poverty and you’re in this impoverished area, then you don’t really matter, per se.”</p>
</blockquote>
<blockquote class="blockquote">
<p>“If you are in poverty and you’re in this impoverished area, then you don’t really matter, per se.”</p>
</blockquote>
<blockquote class="blockquote">
<p>“Your postcode, your family background, that will follow you”</p>
</blockquote>
<p>Another emerging theme was the administrative burden (Herd &amp; Moynihan, 2018) related to being poor and accessing relevant support and services such as employment, mental health or housing.</p>
<blockquote class="blockquote">
<p>“When it comes to children in poverty, it’s a waiting list. There’s a long system of just waiting and [getting] no result, no like, no improvement or upgrade to their own needs and care”</p>
</blockquote>
<blockquote class="blockquote">
<p>“In addition to that point, that’s if the parent has the know how to access support for them”</p>
</blockquote>
<blockquote class="blockquote">
<p>“Services that are good, they’re out of the borough. So now people have to travel, and then that’s where the dangers come in, because there’s some young people they can’t go to other post codes, or they can’t travel that far because they can’t afford the TFL”</p>
</blockquote>
<p>The group, and in particular the young people, gave a scathing analysis of the broader contextual challenges that shape their outlook and prospects for social mobility:</p>
<blockquote class="blockquote">
<p>“Our generation, we were born when there’s been multiple recessions then the pandemic, then Brexit. Well, Brexit then a pandemic, and then now we have what’s going on now. So our generation […] don’t know the better half of it. We don’t know.”</p>
</blockquote>
<blockquote class="blockquote">
<p>“So it’s a bit hard to have, like aspiration, especially for those who are born in Tottenham, when we look to our parents, our parents are still in the same place. We look to our friends and their family, they’re still in the same place. They’ve worked, and worked and worked. For others, how long? And yet, look at how they’re living, there’s nothing to show for the work they’ve put in, to the country, to the system”</p>
</blockquote>
</section>
<section id="participatory-map-making" class="level2">
<h2 class="anchored" data-anchor-id="participatory-map-making">Participatory Map Making</h2>
<p>Following this discussion, we turned our attention to participatory map-making. There is a long history of dialogue between geography and psychology, going back at least to Milgram and Jodelet (1976), but our immediate aim was practical: to explore how people define their neighbourhoods, and to assess what spatial units might be appropriate for analysing data in later sessions <sup>1</sup>. Yet, when we invited participants to draw their local area, two things stood out.</p>
<p>First, in several cases, the “map of the area” consisted solely of the person’s own flat or a few blocks. This revealed how poverty may compress spatial perception, reducing the neighbourhood not to wards or boroughs, but to a few metres of lived space. This seems to challenge dominant conceptions of ‘place-based’ work, which often operates at the scale of towns, cities, or Local Authorities. These findings remind us that for some, “place” is profoundly, even unsettlingly, local.</p>
<p><img src="https://justknowledge.org.uk/assets/images/blog/npk-pic-1.png" class="img-fluid"></p>
<p>Secondly, many maps prominently featured the Tottenham Hotspur stadium, which sits on the edge of my old estate, as a striking contrast to the surrounding poverty of Northumberland Park. In one particularly illustrative example, the map was drawn almost entirely in black pen, despite the availability of coloured materials, with two exceptions: the stadium and Tottenham Marshes. The stadium, rendered in gold, stands out as a gleaming symbol of affluence amid a largely monochrome landscape.</p>
<p><img src="https://justknowledge.org.uk/assets/images/blog/npk-pic-2.png" class="img-fluid"></p>
<p>The illustrator described the area like this:</p>
<blockquote class="blockquote">
<p>“Here on Park Lane, there’s so many shops on both sides closed down. Like, I just feel like, because of the area being so, I won’t say just broke, but it’s obviously, once they open up, there’s no customers. There’s no clientele to even purchase the thing, so they don’t stay open.”</p>
</blockquote>
<blockquote class="blockquote">
<p>“And then up here, all the way at the top of Park Lane, I’ve got the stadium, which is all gold and diamonds and money, money, money.”</p>
</blockquote>
<p>The imagery captures a profound spatial and economic juxtaposition: the hyper-visibility of elite wealth set against the invisibility or decay of everyday urban life. As a social and cultural psychologist by training, even the representation of the Stadium as being at the ‘top’ is interesting and may indicate the ways in which social hierarchies become intertwined with our understanding of physical space.</p>
<p>In future sessions, we plan to explore whether this proximity between extreme capital investment, embodied by a Premier League stadium, and extreme local deprivation is unique to Northumberland Park or part of a wider pattern, illustrating the principle of our approach – providing data and analysis that meets the communities’ needs and interests. What is clear at this stage, is that for most people in our group the presence of the stadium implies or signifies a combination of neglect and contempt for the local community.</p>
</section>
<section id="what-next" class="level2">
<h2 class="anchored" data-anchor-id="what-next">What next</h2>
<p>We ended the session with a discussion about the impact, good and bad of having Tottenham Hotspur right outside. We are planning a range of analysis for our next session in a month’s time. Some people in our group clearly had more to say, and for some it seems that a one-to-one approach might be more appropriate.</p>
<p>From the perspective of a researcher, it feels like we have an amazing opportunity to learn, which I think is all we can ever ask for. Just as our session ended, the space in the community centre that we used opened as soup kitchen, many people gathered for food. Including young people.</p>
<p>My colleagues had been asking me how it might feel to return home, and my honest answer is I didn’t really feel anything until that soup kitchen opened and I realised that if not for a few friends, and particularly their mothers, I would have been using it had it been available at the time. There is survivors’ guilt there. But also, a recognition that although I don’t have the power to directly solve all the problems in the area, I have skills that I can put into the service of the community – and I am grateful to have the opportunity to serve and to contribute. As the great poet Yasiin Bey (aka Mos Def) put it “There’s grief here, there’s peace here, it’s easy and hard to be here”.</p>
</section>
<section id="references" class="level2">
<h2 class="anchored" data-anchor-id="references">References</h2>
<p>Fotheringham, A. S., &amp; Wong, D. W. S. (1991). The Modifiable Areal Unit Problem in Multivariate Statistical Analysis. https://doi.org/10.1068/a231025</p>
<p>Herd, P., &amp; Moynihan, D. P. (2018). Administrative Burden: Policymaking by Other Means. Russell Sage Foundation. https://doi.org/10.7758/9781610448789</p>
<p>Joffe, H., &amp; Elsey, J. W. B. (2014). Free association in psychology and the grid elaboration method. Review of General Psychology, 18(3), 173–185. https://doi.org/10.1037/gpr0000014</p>
<p>Kwan, M.-P. (2012). The Uncertain Geographic Context Problem. Annals of the Association of American Geographers, 102(5), 958–968. https://doi.org/10.1080/00045608.2012.687349</p>
<p>Milgram, S., &amp; Jodelet, D. (1976). Psychological Maps of Paris. In The Individual In the Social World: Essays and Experiments.</p>


</section>
</section>


<div id="quarto-appendix" class="default"><section id="footnotes" class="footnotes footnotes-end-of-document"><h2 class="anchored quarto-appendix-heading">Footnotes</h2>

<ol>
<li id="fn1"><p>Commonly used spatial units, such as Local Authorities and Wards, are largely administrative constructs and often bear little relation to how people perceive their neighbourhoods. While census units are useful due to their statistical consistency, they may also fail to reflect the social or psychological boundaries that shape lived experiences of place. These issues are well-documented in the literature as the Modifiable Areal Unit Problem (Fotheringham &amp; Wong, 1991) and the Uncertain Geographic Context Problem (Kwan, 2012). Participatory mapping along with other geospatial techniques can help create spatial units that more accurately represent real neighbourhoods as defined by the people who live in them.↩︎</p></li>
</ol>
</section></div> ]]></description>
  <category>blog</category>
  <category>data-democracy</category>
  <category>child-poverty</category>
  <guid>https://justknowledge.org.uk/blog/poverty-power-place.html</guid>
  <pubDate>Mon, 16 Jun 2025 23:00:00 GMT</pubDate>
  <media:content url="https://justknowledge.org.uk/assets/images/case-studies/npk.png" medium="image" type="image/png" height="83" width="144"/>
</item>
</channel>
</rss>
