Ookla Internet Connectivity Analysis#
The data used for this analysis includes:
Ookla Data
Source: Ookla Data
Description: The Ookla Open Data provides high-resolution, crowd-sourced internet speed and latency measurements from mobile and fixed networks. It enables analysis of connectivity performance, coverage, and quality across regions, supporting data-driven assessments of digital infrastructure.
Temporal Coverage: We use data from 2019 to 2025
WorldPop Data
Source: WorldPop Population Data
Description: The WorldPop dataset provides high-resolution (100 m) gridded population estimates derived from census, survey, and satellite data. It offers spatially detailed insights into population distribution, enabling analysis of demographic patterns, accessibility, and development indicators.
Temporal Coverage: We use data from 2019 to 2025
Mobile and Fixed Network Comparison#
The initial analysis focuses on mobile networks. Fixed broadband (fibre, DSL, cable) requires physical cabling to homes and buildings, offering higher theoretical speeds but demanding extensive infrastructure deployment that is mainly feasible in urban areas. Mobile broadband, by contrast, transmits data wirelessly via cell towers, enabling far wider geographic coverage at lower infrastructure costs. In Algeria, 50.65 million cellular mobile connections were active in early 2024 (110.2% of the population), while internet penetration stood at 72.9%, driven predominantly by mobile access (Kemp, 2024). Fixed broadband penetration reached about 12 subscriptions per 100 people in 2023, with coverage largely concentrated in urban and built-up areas (Kaczmarek, 2025). Therefore, for an initial national connectivity assessment, mobile data provides the most comprehensive picture of digital access across all 48 wilayas, reflecting how most Algerians connect to the internet and representing the country’s primary digital infrastructure backbone during this development phase.
Data Pre-processing#
We apply several filtering and aggregation steps to extract mobile network performance metrics from Ookla Speedtest data for Algeria (2019–2025):
Spatial Filtering#
Quadkey Generation: Generate zoom-16 quadkeys (Ookla’s native resolution ~95 m) for tiles whose centroids fall within Algeria’s boundary, creating a pre-filtered set for efficient data loading.
Geographic Filtering: Raw quarterly data is filtered using the pre-computed quadkey set or bounding box coordinates to retain only Algeria-relevant tiles.
Aggregation#
Filtered tiles are converted to polygons and aggregated using spatial intersection to compute download speed (Mbps), upload speed (Mbps), and latency (ms) across multiple levels:
National: Country-level quarterly means, medians, and test-weighted averages
Subnational: ADM1 (wilayas), ADM2 (districts), and ADM3 (communes)
Grid: Zoom-12 (~1.5 km) and zoom-16 (~95 m) tiles for spatial mapping
Annual Trends (Downlaod and Upload Speeds)#
Download Trends#
Upload Trends#
Trends - ADMN1#
Download - ADMN1#
Upload - ADMN1#
Trends - ADMN3#
The figures below show maps at admin level 3 between 2019 and 2025. You can filter to view trends in download, upload and latency.
Latency is an important factor for AI models to run seamlessly.
Population-Weighted Mobile Internet Speed Trends#
Methodology:#
Step 1: Calculate Average Speed per Tile#
For each z12 quadkey tile, compute the yearly average download and upload speeds by aggregating all quarterly Ookla measurements within that year. Tiles with no speed data are excluded from subsequent calculations.
Step 2: Aggregate WorldPop Data to Each Tile#
Extract population estimates for each tile by performing zonal statistics on WorldPop GeoTIFF files (2019-2025). This assigns a population value to each tile for each year:
Step 3: Calculate Population-Weighted National Average#
Compute the national average speed weighted by population for each year:
where \(m\) is the number of tiles with valid speed and population data for that year.
Download Data (Population Weighted)#
Comparison - Download Data#
Upload Data (Population Weighted)#
Comparison - Upload Data#
Population-Weighted Average Download Analysis (ADMN 1)#
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
df = pd.read_csv("processed_data/algeria_pop_weighted_adm1_2019_2025_mobile.csv")
df["year"] = df["year"].astype(int)
yearly = (df[["adm1_name", "year", "pw_download_mbps"]]
.rename(columns={"pw_download_mbps": "download_mbps"})
.sort_values(["adm1_name", "year"]))
sns.set_theme(style="whitegrid")
g = sns.FacetGrid(yearly, col="adm1_name", col_wrap=4, height=2.8, sharey=True)
g.map_dataframe(sns.lineplot, x="year", y="download_mbps", marker="o", linewidth=2)
g.set_axis_labels("Year", "Download (Mbps)")
g.set_titles("{col_name}")
plt.subplots_adjust(top=0.92)
g.fig.suptitle("Algeria – Population-weighted Yearly Download Speed by ADM1 (2019–2025)", fontsize=14, weight="bold")
for ax in g.axes.flatten():
ax.set_xticks(sorted(yearly["year"].unique()))
plt.show()
Population-Weighted Average Upload Analysis (ADMN 1)#
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
df = pd.read_csv("processed_data/algeria_pop_weighted_adm1_2019_2025_mobile.csv")
df["year"] = df["year"].astype(int)
yearly = (df[["adm1_name", "year", "pw_upload_mbps"]]
.rename(columns={"pw_upload_mbps": "upload_mbps"})
.sort_values(["adm1_name", "year"]))
sns.set_theme(style="whitegrid")
g = sns.FacetGrid(yearly, col="adm1_name", col_wrap=4, height=2.8, sharey=True)
g.map_dataframe(sns.lineplot, x="year", y="upload_mbps", marker="o", linewidth=2)
g.set_axis_labels("Year", "Upload (Mbps)")
g.set_titles("{col_name}")
plt.subplots_adjust(top=0.92)
g.fig.suptitle("Algeria – Population-weighted Yearly Upload Speed by ADM1 (2019–2025)", fontsize=14, weight="bold")
for ax in g.axes.flatten():
ax.set_xticks(sorted(yearly["year"].unique()))
plt.show()
References#
Kaczmarek, M. (2025). Internet access in Algeria. TS2 Space. Available at: https://ts2.tech/en/internet-access-in-algeria/
Kemp, S. (2024). Digital 2024: Algeria. DataReportal. Available at: https://datareportal.com/reports/digital-2024-algeria