Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
# Changelog

## v0.0.2 - 2025-08-09 - @0xnu
* EU and Non-EU Migration Analysis

## v0.0.1 - 2025-08-01 - @0xnu
* England Population Analysis
* Initial Commit
17 changes: 15 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ uv pip install -r requirements.txt
python3 -m pip install --upgrade pip
```

### Data Requirements
### Data Requirements (England Population)

The analysis needs a CSV file with these columns:

Expand All @@ -27,9 +27,22 @@ The analysis needs a CSV file with these columns:

The data (Population estimates for England and Wales: mid-2024) is from [Office for National Statistics](https://www.ons.gov.uk/peoplepopulationandcommunity/populationandmigration/populationestimates/bulletins/populationestimatesforenglandandwales/mid2024).

### Data Requirements (EU and Non-EU Migration)

The dataset contains quarterly migration data from June 2012 to December 2024, tracking:

- Period: Quarterly period (e.g., YE Jun 12 to YE Dec 24 P)
- Non-EU+ migration: Number of migrants from non-EU countries (e.g., 57,000 in YE Jun 12 to 544,000 in YE Dec 24 P)
- EU+ migration: Number of migrants from EU countries (e.g., 187,000 in YE Jun 12 to -96,000 in YE Dec 24 P)
- British migration: Number of migrants from the UK (e.g., -83,000 in YE Jun 12 to -17,000 in YE Dec 24 P)
- Total migration: Total number of migrants (e.g., 162,000 in YE Jun 12 to 431,000 in YE Dec 24 P)

The data (Net migration by EU+, non-EU+ and British nationality) is from [Office for National Statistics](https://www.ons.gov.uk/peoplepopulationandcommunity/populationandmigration/internationalmigration/bulletins/longterminternationalmigrationprovisional/yearendingdecember2024#long-term-net-migration).

### Run the Analysis

Click the `Run` button to run the individual cell of the [Jupyter Notebook](./england_population_change.ipynb).
+ Click the `Run` button to run the individual cell of the [England Population - Jupyter Notebook](./england_population_change.ipynb).
+ Click the `Run` button to run the individual cell of the [EU and Non-EU Migration - Jupyter Notebook](./england_eu_noneu.ipynb).

### License

Expand Down
52 changes: 52 additions & 0 deletions data/eu_noneu.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
"Period", "Non-EU+", "EU+", "British", "Total"
"YE Jun 12", "57,000", "187,000", "-83,000", "162,000"
"YE Sep 12", "54,000", "183,000", "-80,000", "157,000"
"YE Dec 12", "61,000", "206,000", "-72,000", "195,000"
"YE Mar 13", "60,000", "223,000", "-79,000", "204,000"
"YE Jun 13", "56,000", "242,000", "-83,000", "215,000"
"YE Sep 13", "64,000", "275,000", "-80,000", "259,000"
"YE Dec 13", "63,000", "262,000", "-81,000", "244,000"
"YE Mar 14", "67,000", "263,000", "-74,000", "256,000"
"YE Jun 14", "65,000", "258,000", "-75,000", "248,000"
"YE Sep 14", "73,000", "270,000", "-79,000", "264,000"
"YE Dec 14", "87,000", "277,000", "-80,000", "284,000"
"YE Mar 15", "94,000", "275,000", "-73,000", "296,000"
"YE Jun 15", "101,000", "267,000", "-72,000", "296,000"
"YE Sep 15", "103,000", "262,000", "-72,000", "293,000"
"YE Dec 15", "88,000", "287,000", "-73,000", "303,000"
"YE Mar 16", "80,000", "294,000", "-77,000", "298,000"
"YE Jun 16", "82,000", "322,000", "-83,000", "321,000"
"YE Sep 16", "83,000", "294,000", "-87,000", "290,000"
"YE Dec 16", "90,000", "253,000", "-94,000", "249,000"
"YE Mar 17", "97,000", "235,000", "-91,000", "240,000"
"YE Jun 17", "91,000", "188,000", "-79,000", "200,000"
"YE Sep 17", "98,000", "192,000", "-85,000", "205,000"
"YE Dec 17", "114,000", "176,000", "-81,000", "208,000"
"YE Mar 18", "122,000", "160,000", "-89,000", "193,000"
"YE Jun 18", "143,000", "158,000", "-84,000", "216,000"
"YE Sep 18", "155,000", "138,000", "-67,000", "226,000"
"YE Dec 18", "178,000", "170,000", "-72,000", "276,000"
"YE Mar 19", "190,000", "155,000", "-72,000", "274,000"
"YE Jun 19", "179,000", "126,000", "-82,000", "224,000"
"YE Sep 19", "171,000", "114,000", "-83,000", "202,000"
"YE Dec 19", "186,000", "80,000", "-82,000", "184,000"
"YE Mar 20", "166,000", "81,000", "-77,000", "170,000"
"YE Jun 20", "115,000", "70,000", "-74,000", "111,000"
"YE Sep 20", "60,000", "45,000", "-70,000", "35,000"
"YE Dec 20", "101,000", "70,000", "-78,000", "93,000"
"YE Mar 21", "150,000", "61,000", "-79,000", "132,000"
"YE Jun 21", "251,000", "75,000", "-73,000", "254,000"
"YE Sep 21", "441,000", "12,000", "14,000", "467,000"
"YE Dec 21", "529,000", "-77,000", "32,000", "484,000"
"YE Mar 22", "640,000", "-122,000", "29,000", "548,000"
"YE Jun 22", "754,000", "-140,000", "20,000", "634,000"
"YE Sep 22", "902,000", "-119,000", "6,000", "789,000"
"YE Dec 22", "965,000", "-88,000", "-4,000", "873,000"
"YE Mar 23", "957,000", "-54,000", "-9,000", "894,000"
"YE Jun 23", "954,000", "-38,000", "-10,000", "906,000"
"YE Sep 23", "957,000", "-54,000", "-31,000", "872,000"
"YE Dec 23 R", "952,000", "-55,000", "-37,000", "860,000"
"YE Mar 24 P R", "927,000", "-85,000", "-17,000", "825,000"
"YE Jun 24 P R", "856,000", "-95,000", "-21,000", "739,000"
"YE Sep 24 P", "709,000", "-86,000", "-21,000", "601,000"
"YE Dec 24 P", "544,000", "-96,000", "-17,000", "431,000"
Loading