New businesses registered (number)

Source: worldbank.org, 01.09.2025

Year: 2018

Flag Country Value Value change, % Rank
Afghanistan Afghanistan 4,274 +41.4% 100
Albania Albania 2,990 +0.235% 113
United Arab Emirates United Arab Emirates 17,907 +9.96% 52
Argentina Argentina 5,667 -8.73% 90
Armenia Armenia 6,137 +38.1% 85
Antigua & Barbuda Antigua & Barbuda 280 -26.3% 146
Australia Australia 235,684 -5.37% 5
Austria Austria 5,876 -2.7% 88
Azerbaijan Azerbaijan 11,611 +5% 66
Belgium Belgium 25,728 +1.96% 39
Benin Benin 3,315 -1.84% 109
Burkina Faso Burkina Faso 3,416 +16.2% 107
Bangladesh Bangladesh 4,473 -41.4% 99
Bulgaria Bulgaria 46,131 -1.32% 25
Bahrain Bahrain 4,938 -1.12% 96
Bosnia & Herzegovina Bosnia & Herzegovina 2,493 +2.47% 118
Belarus Belarus 8,700 +10.7% 77
Belize Belize 763 -1.8% 137
Bolivia Bolivia 3,593 105
Brazil Brazil 414,854 +12% 2
Barbados Barbados 859 -9.1% 134
Brunei Brunei 731 -8.4% 138
Bhutan Bhutan 43 -36.8% 158
Botswana Botswana 7,487 +4.83% 82
Central African Republic Central African Republic 340 +28.3% 145
Canada Canada 47,101 +1,443% 24
Switzerland Switzerland 25,637 -0.593% 40
Chile Chile 101,997 +16.5% 12
China China 228,559 -0.323% 6
Côte d’Ivoire Côte d’Ivoire 10,507 +26.1% 71
Congo - Kinshasa Congo - Kinshasa 2,102 +43.6% 123
Congo - Brazzaville Congo - Brazzaville 113 +18.9% 156
Colombia Colombia 67,560 +1.73% 21
Comoros Comoros 132 -17% 154
Cape Verde Cape Verde 5,974 +33.3% 87
Costa Rica Costa Rica 20,758 +18.1% 46
Cayman Islands Cayman Islands 16,326 +25.1% 55
Cyprus Cyprus 14,526 +6.21% 60
Czechia Czechia 30,336 -2.75% 35
Germany Germany 72,844 +1.45% 19
Dominica Dominica 169 +28% 152
Denmark Denmark 37,196 +1.95% 32
Dominican Republic Dominican Republic 10,204 +6.32% 74
Algeria Algeria 15,708 -5.84% 57
Egypt Egypt 10,411 +93.3% 72
Spain Spain 93,560 +1.02% 14
Estonia Estonia 19,950 +8.07% 48
Ethiopia Ethiopia 10,935 -2.93% 68
Finland Finland 15,829 +14.3% 56
France France 222,555 +5.83% 7
Micronesia (Federated States of) Micronesia (Federated States of) 25 160
Gabon Gabon 1,218 +2.18% 128
United Kingdom United Kingdom 664,974 +5.13% 1
Georgia Georgia 25,562 -1.35% 41
Ghana Ghana 26,402 -3.94% 38
Guinea Guinea 2,929 +24.9% 114
Greece Greece 9,921 +28.3% 76
Grenada Grenada 247 -9.52% 150
Guatemala Guatemala 5,497 -3.14% 91
Guyana Guyana 589 +25.6% 139
Hong Kong SAR China Hong Kong SAR China 151,739 -5.3% 8
Honduras Honduras 2,321 -4.37% 121
Croatia Croatia 15,585 +4.47% 58
Hungary Hungary 24,467 +6.72% 42
Isle of Man Isle of Man 1,672 -8.73% 126
India India 117,834 +9.62% 9
Ireland Ireland 22,217 +0.767% 45
Iraq Iraq 2,398 -15.1% 119
Iceland Iceland 2,312 -10.7% 122
Israel Israel 17,456 +1.41% 53
Italy Italy 114,939 +3.78% 10
Jamaica Jamaica 2,673 +14.5% 116
Jordan Jordan 3,499 -16.2% 106
Japan Japan 29,243 +6.56% 37
Kazakhstan Kazakhstan 23,464 -16.2% 44
Kenya Kenya 44,381 +17.6% 28
Cambodia Cambodia 7,007 +29% 84
Kiribati Kiribati 2 -50% 162
St. Kitts & Nevis St. Kitts & Nevis 262 +79.5% 148
Kuwait Kuwait 18,157 +87.6% 51
Laos Laos 427 +35.6% 142
Liberia Liberia 58 +81.3% 157
St. Lucia St. Lucia 350 +8.7% 144
Liechtenstein Liechtenstein 163 +28.3% 153
Sri Lanka Sri Lanka 10,510 +10.9% 70
Lesotho Lesotho 3,725 +52.5% 104
Lithuania Lithuania 6,072 -7.69% 86
Luxembourg Luxembourg 7,309 +10.1% 83
Latvia Latvia 9,939 +5.55% 75
Morocco Morocco 45,680 +13.5% 26
Moldova Moldova 4,849 -8.01% 97
Madagascar Madagascar 1,737 -0.686% 125
Maldives Maldives 1,092 -13.5% 129
Mexico Mexico 83,903 +1.15% 17
North Macedonia North Macedonia 5,273 -2.94% 95
Mali Mali 3,151 +137% 111
Malta Malta 5,756 +9.1% 89
Myanmar (Burma) Myanmar (Burma) 14,051 +85.9% 61
Montenegro Montenegro 4,694 +47.5% 98
Mongolia Mongolia 11,544 -6.32% 67
Mozambique Mozambique 3,300 -7.15% 110
Mauritania Mauritania 959 -14.5% 130
Mauritius Mauritius 8,285 -5.39% 81
Malaysia Malaysia 51,732 -0.706% 23
Namibia Namibia 2,850 +150% 115
Niger Niger 931 +22.7% 131
Nigeria Nigeria 86,309 +9.89% 15
Netherlands Netherlands 33,084 +3.45% 34
Norway Norway 29,963 +0.238% 36
Nepal Nepal 24,088 +25% 43
New Zealand New Zealand 56,417 -2.67% 22
Oman Oman 5,425 -6.58% 92
Pakistan Pakistan 12,560 +34.3% 65
Panama Panama 13,204 -15.2% 63
Peru Peru 80,029 +0.548% 18
Philippines Philippines 20,092 -17.6% 47
Papua New Guinea Papua New Guinea 3,881 103
Poland Poland 37,281 -5.42% 31
Puerto Rico Puerto Rico 8,477 +46.3% 79
Portugal Portugal 43,114 +14.8% 29
Paraguay Paraguay 568 +37.9% 140
Qatar Qatar 14,824 +5.27% 59
Romania Romania 94,244 -4.23% 13
Russia Russia 317,475 -18.7% 4
Rwanda Rwanda 10,547 +5.42% 69
Saudi Arabia Saudi Arabia 13,817 +11.5% 62
Senegal Senegal 8,465 +12.6% 80
Singapore Singapore 43,050 +15.8% 30
Solomon Islands Solomon Islands 444 +33.3% 141
Sierra Leone Sierra Leone 1,980 +60.6% 124
El Salvador El Salvador 2,361 +9.87% 120
Somalia Somalia 800 -38.5% 136
Serbia Serbia 8,667 +0.324% 78
São Tomé & Príncipe São Tomé & Príncipe 266 -10.7% 147
Suriname Suriname 890 +3.49% 132
Slovakia Slovakia 19,723 -0.454% 49
Slovenia Slovenia 4,118 -8.73% 101
Sweden Sweden 45,590 -6.08% 27
Eswatini Eswatini 2,626 +18.7% 117
Seychelles Seychelles 174 -10.8% 151
Chad Chad 878 +12.6% 133
Togo Togo 3,020 +48.6% 112
Thailand Thailand 72,109 -3.23% 20
Tajikistan Tajikistan 831 +4.79% 135
Timor-Leste Timor-Leste 1,574 -20.4% 127
Tonga Tonga 32 +18.5% 159
Trinidad & Tobago Trinidad & Tobago 4,115 +6.14% 102
Tunisia Tunisia 12,977 +10.2% 64
Turkey Turkey 86,210 +15% 16
Tuvalu Tuvalu 7 +75% 161
Tanzania Tanzania 5,276 -18.9% 94
Uganda Uganda 18,862 +8.26% 50
Uruguay Uruguay 3,326 -17.7% 108
Uzbekistan Uzbekistan 35,801 +36.7% 33
St. Vincent & Grenadines St. Vincent & Grenadines 414 +137% 143
Vietnam Vietnam 106,931 +4.38% 11
Vanuatu Vanuatu 258 +53.6% 149
Samoa Samoa 126 -8.7% 155
Kosovo Kosovo 5,367 +15.3% 93
South Africa South Africa 401,054 +0.783% 3
Zambia Zambia 10,240 +8.94% 73
Zimbabwe Zimbabwe 16,810 +76.6% 54

                    
# Install missing packages
import sys
import subprocess

def install(package):
subprocess.check_call([sys.executable, "-m", "pip", "install", package])

# Required packages
for package in ['wbdata', 'country_converter']:
try:
__import__(package)
except ImportError:
install(package)

# Import libraries
import wbdata
import country_converter as coco
from datetime import datetime

# Define World Bank indicator code
dataset_code = 'IC.BUS.NREG'

# Download data from World Bank API
data = wbdata.get_dataframe({dataset_code: 'value'},
date=(datetime(1960, 1, 1), datetime.today()),
parse_dates=True,
keep_levels=True).reset_index()

# Extract year
data['year'] = data['date'].dt.year

# Convert country names to ISO codes using country_converter
cc = coco.CountryConverter()
data['iso2c'] = cc.convert(names=data['country'], to='ISO2', not_found=None)
data['iso3c'] = cc.convert(names=data['country'], to='ISO3', not_found=None)

# Filter out rows where ISO codes could not be matched — likely not real countries
data = data[data['iso2c'].notna() & data['iso3c'].notna()]

# Sort for calculation
data = data.sort_values(['iso3c', 'year'])

# Calculate YoY absolute and percent change
data['value_change'] = data.groupby('iso3c')['value'].diff()
data['value_change_percent'] = data.groupby('iso3c')['value'].pct_change() * 100

# Calculate ranks (higher GDP per capita = better rank)
data['rank'] = data.groupby('year')['value'].rank(ascending=False, method='dense')

# Calculate rank change from previous year
data['rank_change'] = data.groupby('iso3c')['rank'].diff()

# Select desired columns
final_df = data[['country', 'iso2c', 'iso3c', 'year', 'value',
'value_change', 'value_change_percent', 'rank', 'rank_change']].copy()

# Optional: Add labels as metadata (could be useful for export or UI)
column_labels = {
'country': 'Country name',
'iso2c': 'ISO 2-letter country code',
'iso3c': 'ISO 3-letter country code',
'year': 'Year',
'value': 'GDP per capita (current US$)',
'value_change': 'Year-over-Year change in value',
'value_change_percent': 'Year-over-Year percent change in value',
'rank': 'Country rank by GDP per capita (higher = richer)',
'rank_change': 'Change in rank from previous year'
}

# Display first few rows
print(final_df.head(10))

# Optional: Save to CSV
#final_df.to_csv("gdp_per_capita_cleaned.csv", index=False)
                    
                
                    
# Check and install required packages
required_packages <- c("WDI", "countrycode", "dplyr")

for (pkg in required_packages) {
  if (!requireNamespace(pkg, quietly = TRUE)) {
    install.packages(pkg)
  }
}

# Load the necessary libraries
library(WDI)
library(dplyr)
library(countrycode)

# Define the dataset code (World Bank indicator code)
dataset_code <- 'IC.BUS.NREG'

# Download data using WDI package
dat <- WDI(indicator = dataset_code)

# Filter only countries using 'is_country' from countrycode
# This uses iso2c to identify whether the entry is a recognized country
dat <- dat %>%
  filter(countrycode(iso2c, origin = 'iso2c', destination = 'country.name', warn = FALSE) %in%
           countrycode::codelist$country.name.en)

# Ensure dataset is ordered by country and year
dat <- dat %>%
  arrange(iso3c, year)

# Rename the dataset_code column to "value" for easier manipulation
dat <- dat %>%
  rename(value = !!dataset_code)

# Calculate year-over-year (YoY) change and percentage change
dat <- dat %>%
  group_by(iso3c) %>%
  mutate(
    value_change = value - lag(value),                              # Absolute change from previous year
    value_change_percent = 100 * (value - lag(value)) / lag(value) # Percent change from previous year
  ) %>%
  ungroup()

# Calculate rank by year (higher value => higher rank)
dat <- dat %>%
  group_by(year) %>%
  mutate(rank = dense_rank(desc(value))) %>% # Rank countries by descending value
  ungroup()

# Calculate rank change (positive = moved up, negative = moved down)
dat <- dat %>%
  group_by(iso3c) %>%
  mutate(rank_change = rank - lag(rank)) %>% # Change in rank compared to previous year
  ungroup()

# Select and reorder final columns
final_data <- dat %>%
  select(
    country,
    iso2c,
    iso3c,
    year,
    value,
    value_change,
    value_change_percent,
    rank,
    rank_change
  )

# Add labels (variable descriptions)
attr(final_data$country, "label") <- "Country name"
attr(final_data$iso2c, "label") <- "ISO 2-letter country code"
attr(final_data$iso3c, "label") <- "ISO 3-letter country code"
attr(final_data$year, "label") <- "Year"
attr(final_data$value, "label") <- "GDP per capita (current US$)"
attr(final_data$value_change, "label") <- "Year-over-Year change in value"
attr(final_data$value_change_percent, "label") <- "Year-over-Year percent change in value"
attr(final_data$rank, "label") <- "Country rank by GDP per capita (higher = richer)"
attr(final_data$rank_change, "label") <- "Change in rank from previous year"

# Print the first few rows of the final dataset
print(head(final_data, 10))