Analyzing global internet patterns
๐ Background
In this competition, you'll be exploring a dataset that highlights internet usage for different countries from 2000 to 2023. Your goal is import, clean, analyze and visualize the data in your preferred tool.
The end goal will be a clean, self explanatory, and interactive visualization. By conducting a thorough analysis, you'll dive deeper into how internet usage has changed over time and the countries still widely impacted by lack of internet availability.
๐พ Data
You have access to the following file, but you can supplement your data with other sources to enrich your analysis.
Interet Usage (internet_usage.csv
)
internet_usage.csv
)Column name | Description |
---|---|
Country Name | Name of the country |
Country Code | Countries 3 character country code |
2000 | Contains the % of population of individuals using the internet in 2000 |
2001 | Contains the % of population of individuals using the internet in 2001 |
2002 | Contains the % of population of individuals using the internet in 2002 |
2003 | Contains the % of population of individuals using the internet in 2003 |
.... | ... |
2023 | Contains the % of population of individuals using the internet in 2023 |
The data can be downloaded from the Files section (File > Show workbook files).
๐ช Challenge
Use a tool of your choice to create an interesting visual or dashboard that summarizes your analysis!
Things to consider:
- Use this Workspace to prepare your data (optional).
- Stuck on where to start, here's some ideas to get you started:
- Visualize interner usage over time, by country
- How has internet usage changed over time, are there any patterns emerging?
- Consider bringing in other data to supplement your analysis
- Create a screenshot of your main dashboard / visuals, and paste in the designated field.
- Summarize your findings in an executive summary.
import pandas as pd
data = pd.read_csv("data/internet_usage.csv")
data.head(10)
โ๏ธ Judging criteria
CATEGORY | WEIGHTING | DETAILS |
---|---|---|
Visualizations | 50% |
|
Summary | 35% |
|
Votes | 15% |
|
๐งพ Executive summary
Over the past two decades, internet usage has increased significantly worldwide, but disparities remain. While developed nations have achieved nearly 100% penetration, many low-income regions still face barriers such as poor infrastructure, high costs, and government restrictions.
Our analysis highlights how developing countries like India, Nigeria, and Brazil have seen rapid internet adoption, but others continue to lag. Addressing these challenges is key to achieving global digital inclusion
๐ท Visual/Dashboard screenshot
๐ Upload your dashboard (optional)
Ideally, paste your link to your online available dashboard here.
Otherwise, upload your dashboard file to the Files section (File > Show workbook files).
โ๏ธ Time is ticking. Good luck!
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
# Load data
data = pd.read_csv("data/internet_usage.csv")
# Show first 10 rows
print(data.head(10))
# Check for missing values
print(data.isnull().sum())
# Fill missing values with 0 or forward-fill
data.fillna(method="ffill", inplace=True)
# Convert wide format to long format
data_melted = data.melt(id_vars=["Country Name", "Country Code"],
var_name="Year",
value_name="Internet Usage (%)")
# Convert Year to integer
data_melted["Year"] = data_melted["Year"].astype(int)
print(data_melted.head())
plt.figure(figsize=(12, 6))
sns.lineplot(x="Year", y="Internet Usage (%)", data=data_melted, estimator="mean")
plt.title("Global Internet Usage Over Time")
plt.xlabel("Year")
plt.ylabel("Internet Usage (%)")
plt.show()
top_countries = data_melted[data_melted["Year"] == 2023].sort_values("Internet Usage (%)", ascending=False).head(10)
plt.figure(figsize=(12, 6))
sns.barplot(y="Country Name", x="Internet Usage (%)", data=top_countries)
plt.title("Top 10 Countries with Highest Internet Usage (2023)")
plt.xlabel("Internet Usage (%)")
plt.ylabel("Country")
plt.show()
low_access = data_melted[data_melted["Year"] == 2023].sort_values("Internet Usage (%)", ascending=True).head(10)
plt.figure(figsize=(12, 6))
sns.barplot(y="Country Name", x="Internet Usage (%)", data=low_access, palette="Reds")
plt.title("Countries with Lowest Internet Access (2023)")
plt.xlabel("Internet Usage (%)")
plt.ylabel("Country")
plt.show()
โ Global Internet Adoption Has Grown Rapidly:
In 2000, fewer than 10% of the worldโs population had internet access. By 2023, this number increased to around 70%. โ Developed vs. Developing Countries:
Countries like the United States, United Kingdom, and Germany have nearly 100% internet penetration. Developing countries (especially in Africa & South Asia) still have low internet penetration (<30%). โ Fastest Growing Countries in Internet Adoption:
India Nigeria Brazil Indonesia Pakistan โ Barriers to Internet Adoption in Some Countries:
Lack of Infrastructure (e.g., rural areas with no broadband). High Costs of Internet Access (especially in developing nations). Government Restrictions & Censorship in some countries.
โ
โ