6  ROS costs updating and comparison

This analysis aims to provide update and compare the annual budget of rural observatories in Madagascar from 1995 to 1998 with costs reported in the following decades using current prices in Malagasy Ariary and Euros. Historical financial data, originally reported in French francs, is converted to Malagasy francs using historical exchange rates. Subsequent adjustments for inflation are made based on annual consumer price indices obtained from the World Bank. The final figures are then converted to Euros using the latest exchange rates.

6.1 Objective

We find the following report on the is the original annual budget of the rural observatories from 1995 to 1998 in Droy, Ratovoarinony and Roubaud (2000, 133):

Annual budget of the rural observatories, 1995-1998 in French francs

The objective of this analysis is to update and compare the annual costs of implementing rural observatories in Madagascar from 1995 to 1998 with current prices in Malagasy Ariary and Euros.

The process involves:

  • Converting historical costs from French francs to Malagasy francs using historical exchange rates ;

  • Adjusting these values for inflation using annual consumer price indices from the World Bank ;

  • Converting the inflation-adjusted values to Euros using the latest exchange rates.

6.2 Procedure

6.2.1 Step 1: enter the original table data

We re-create the budget data by copying the original figure.

Code
# Load tidyverse for easier data manipulation
library(tidyverse)
library(gt)
options(scipen = 999) # on désactive les notations scientifiques
# Data from the image
budget_data1 <- tibble(
  Year = c(1995, 1996, 1997, 1998),
  Preparation_of_field_operations = c(12250, NA, NA, NA),
  Reproduction_of_questionnaires = c(5470, 5570, 4050, 3690),
  Vehicle_running_costs = c(5010, 17130, 7010, 6620),
  Payment_of_team_of_data_loggers = c(8330, 8120, 8430, 6680),
  Payment_of_data_collection_team = c(52600, 57080, 58240, 69980),
  Supplies_equipment_and_rent = c(6860, 5260, 3300, 3740),
  Publication_of_initial_results = c(19710, 16810, 15270, 14260),
  Total = c(110230, 109970, 96300, 104970)
)
gt(budget_data1)
Year Preparation_of_field_operations Reproduction_of_questionnaires Vehicle_running_costs Payment_of_team_of_data_loggers Payment_of_data_collection_team Supplies_equipment_and_rent Publication_of_initial_results Total
1995 12250 5470 5010 8330 52600 6860 19710 110230
1996 NA 5570 17130 8120 57080 5260 16810 109970
1997 NA 4050 7010 8430 58240 3300 15270 96300
1998 NA 3690 6620 6680 69980 3740 14260 104970

6.3 Step 2: Convert French Francs to Malagasy Francs

Note that both currency have been discarded for Euros and Ariary respectively.

Code
# Exchange rates
exchange_rates <- tibble(
  Year = c(1995, 1996, 1997, 1998),
  Exchange_Rate = c(900, 797, 884, 936)
)

# Join exchange rates and convert French francs to Malagasy francs
budget_data2 <- budget_data1 %>%
  left_join(exchange_rates, by = "Year") %>%
  mutate(across(starts_with("Preparation_of_field_operations"):starts_with("Total"), 
                ~ .x * Exchange_Rate))
gt(budget_data2)
Year Preparation_of_field_operations Reproduction_of_questionnaires Vehicle_running_costs Payment_of_team_of_data_loggers Payment_of_data_collection_team Supplies_equipment_and_rent Publication_of_initial_results Total Exchange_Rate
1995 11025000 4923000 4509000 7497000 47340000 6174000 17739000 99207000 900
1996 NA 4439290 13652610 6471640 45492760 4192220 13397570 87646090 797
1997 NA 3580200 6196840 7452120 51484160 2917200 13498680 85129200 884
1998 NA 3453840 6196320 6252480 65501280 3500640 13347360 98251920 936

6.4 Step 3: Retrieve inflation data from World Bank

We use the WDI package and download the indicator named “Inflation, consumer prices (annual %) - Madagascar”, originates from the International Monetary Fund according to the dataset metadata: https://data.worldbank.org/indicator/FP.CPI.TOTL.ZG?locations=MG

Code
# Load the World data indicator package to query world bank API
library(WDI)
# Download inflation data from the World Bank
if (!file.exists("references/inflation_data.rds")) {
  inflation_data <- WDI(country = "MG", indicator = "FP.CPI.TOTL.ZG", start = 1995, end = 2023) %>%
  rename(Year = year, Inflation = FP.CPI.TOTL.ZG)
write_rds(inflation_data, "references/inflation_data.rds")
} else {
  inflation_data <- read_rds("references/inflation_data.rds")
}

6.5 Step 4: Apply inflation rates and convert to Ariary

As of date, the most recent year for annual inflation is 2023. Conversion factor from Malagasy franc to Ariary is 1 Ariary = 5 Malagasy francs.

Code
# Calculate cumulative inflation from the year to the most recent year 
current_year <- max(inflation_data$Year)
cumulative_inflation <- inflation_data %>%
  filter(Year >= 1995) %>%
  arrange(desc(Year)) %>%
  mutate(Cumulative_Inflation = cumprod(1 + Inflation / 100)) %>%
  arrange(Year)

# Apply cumulative inflation to convert Malagasy francs to current Ariary
budget_data3 <- budget_data2 %>%
  left_join(cumulative_inflation, by = "Year") %>%
  mutate(across(starts_with("Preparation_of_field_operations"):starts_with("Total"), 
                ~ .x * Cumulative_Inflation / 5)) 

gt(budget_data3)
Year Preparation_of_field_operations Reproduction_of_questionnaires Vehicle_running_costs Payment_of_team_of_data_loggers Payment_of_data_collection_team Supplies_equipment_and_rent Publication_of_initial_results Total Exchange_Rate country iso2c iso3c Inflation, consumer prices (annual %) Cumulative_Inflation
1995 34368751 15346699 14056118 23370751 147575208 19246500 55298619 309262646 900 Madagascar MG MDG 49.080210 15.586735
1996 NA 9282793 28548339 13532546 95127797 8766156 28015036 183272667 797 Madagascar MG MDG 19.756355 10.455268
1997 NA 6251351 10820239 13012071 89895969 5093693 23569908 148643232 884 Madagascar MG MDG 4.486383 8.730449
1998 NA 5771771 10354777 10448626 109460311 5849979 22305002 164190467 936 Madagascar MG MDG 6.208016 8.355586

6.6 Step 5: Convert to euros

Code
if (!file.exists("references/exchange_rate_usd.rds")) {
  # Fetch the most recent exchange rate from MGA to USD
  exchange_rate_usd <- WDI(country = "MG", indicator = "PA.NUS.FCRF", start = 2023, end = 2023) %>%
    rename(Year = year, Exchange_Rate_to_USD = PA.NUS.FCRF)
  write_rds(exchange_rate_usd, "references/exchange_rate_usd.rds")
} else {
  exchange_rate_usd <- read_rds("references/exchange_rate_usd.rds")
}
if (!file.exists("references/exchange_rate_euro.rds")) {
  # Fetch the most recent exchange rate from USD to Euro
  exchange_rate_euro <- WDI(country = "FR", indicator = "PA.NUS.FCRF", start = 2023, end = 2023) %>%
    rename(Year = year, Exchange_Rate_to_Euro = PA.NUS.FCRF)
  write_rds(exchange_rate_euro, "references/exchange_rate_euro.rds")
} else {
  exchange_rate_euro <- read_rds("references/exchange_rate_euro.rds")
}

# Calculate the exchange rate from MGA to Euro
ariary_to_euro <- exchange_rate_usd$Exchange_Rate_to_USD * 
  (1 / exchange_rate_euro$Exchange_Rate_to_Euro)

# Convert to Euros
budget_data_euros <- budget_data3 %>%
  mutate(across(starts_with("Preparation_of_field_operations"):starts_with("Total"), 
                ~ .x / ariary_to_euro))
gt(budget_data_euros)
Year Preparation_of_field_operations Reproduction_of_questionnaires Vehicle_running_costs Payment_of_team_of_data_loggers Payment_of_data_collection_team Supplies_equipment_and_rent Publication_of_initial_results Total Exchange_Rate country iso2c iso3c Inflation, consumer prices (annual %) Cumulative_Inflation
1995 7175.756 3204.195 2934.738 4879.514 30811.82 4018.423 11545.645 64570.09 900 Madagascar MG MDG 49.080210 15.586735
1996 NA 1938.129 5960.528 2825.423 19861.47 1830.262 5849.182 38264.99 797 Madagascar MG MDG 19.756355 10.455268
1997 NA 1305.202 2259.128 2716.754 18769.13 1063.498 4921.096 31034.81 884 Madagascar MG MDG 4.486383 8.730449
1998 NA 1205.072 2161.945 2181.540 22853.91 1221.401 4657.000 34280.87 936 Madagascar MG MDG 6.208016 8.355586

6.6.1 Calculation summary in French for cross-validation

Budget total de 1995 en Fmg : 99 207 000 francs malgaches (110 230 Francs français x taux de change de 900 Fmg/FF indiqués dans la publication). Budget total de 1995 en Ariary de 1995 : 19 841 400 Ariary (99 207 000 / 5)/ Budget total de 1995 en Ariary de 2023: 309 129 012 Ariary, le taux d’inflation composé de 1995 à 2023 est de 1 558 % (309 129 012 * 15.58). Budget total de 1995 en € de 2023: 69 781 €, le taux de change moyen en 2023 était de 4 430 Ar/€. Budget par observatoire en 1995 aux prix de 2023 : 17 445 Budget par ménage enquêté: 34,89 €

6.7 Complement: other values from an other source

David-Benz et al. report the following (2010, 36): “Le coût annuel du ROR s’élève actuellement à 210 000 eur (pour 15 observatoires)”. They do not specify which year this corresponds to, but the report was published in January 2010, there was no data collection in 2009 (political crisis in Madagascar) and the latest year in which there was 15 observatories was 2006, so we assume that it corresponds to 2006.

We convert this amount to 2006 Ariary, update with the cumulative inflation since 2007 and convert back to euros with 2023 currency rate.

Code
# Define the reported cost in 2006 euros
reported_cost_eur_2006 <- 210000

if (!file.exists("references/exchange_rate_eur_to_usd_2006.rds")) {
  # Fetch the exchange rate from Euro to USD for 2006
  exchange_rate_eur_to_usd_2006 <- WDI(country = "FR", indicator = "PA.NUS.FCRF", 
                                       start = 2006, end = 2006) %>%
    pull(PA.NUS.FCRF)
  write_rds(exchange_rate_usd_to_eur_2006, 
            "references/exchange_rate_eur_to_usd_2006.rds")
  # Fetch the exchange rate from USD to MGA for 2006
  exchange_rate_usd_to_mga_2006 <- WDI(country = "MG", indicator = "PA.NUS.FCRF", 
                                       start = 2006, end = 2006) %>%
    pull(PA.NUS.FCRF)
  write_rds(exchange_rate_usd_to_mga_2006, 
            "references/exchange_rate_usd_to_mga_2006.rds")
} else {
  exchange_rate_eur_to_usd_2006 <- read_rds(
    "references/exchange_rate_eur_to_usd_2006.rds")
  exchange_rate_usd_to_mga_2006 <- read_rds(
    "references/exchange_rate_usd_to_mga_2006.rds")
}

# Convert the reported cost from euros to USD for 2006
reported_cost_usd_2006 <- reported_cost_eur_2006 * (1/exchange_rate_eur_to_usd_2006)

# Convert the reported cost from USD to MGA for 2006
reported_cost_mga_2006 <- reported_cost_usd_2006 * exchange_rate_usd_to_mga_2006

# Fetch the cumulative inflation from 2007 to 2023
cumulative_inflation_2007_to_2023 <- inflation_data %>%
  filter(Year >= 2007) %>%
  arrange(Year) %>%
  mutate(Cumulative_Inflation = cumprod(1 + Inflation / 100)) %>%
  filter(Year == 2023) %>%
  pull(Cumulative_Inflation)

# Update the 2006 MGA cost with cumulative inflation to 2023
reported_cost_mga_2023 <- reported_cost_mga_2006 * cumulative_inflation_2007_to_2023

# Convert the updated MGA cost back to euros using the 2023 exchange rate
reported_cost_eur_2023 <- reported_cost_mga_2023 / ariary_to_euro

# Print the updated cost in 2023 euros
reported_cost_eur_2023
[1] 408676.8
attr(,"label")
[1] "Official exchange rate (LCU per US$, period average)"
Code
# Print the updated 2023 cost per observatory in euros
cost_per_obs_2023 <- reported_cost_eur_2023 / 15
cost_per_obs_2023 
[1] 27245.12
attr(,"label")
[1] "Official exchange rate (LCU per US$, period average)"
Code
# Print the cost per household
cost_per_obs_2023 / 500
[1] 54.49024
attr(,"label")
[1] "Official exchange rate (LCU per US$, period average)"

6.7.1 Calculation summary in French for cross-validation

  • Budget 2006 en Ariary de 2006 : 564 900 000 Ariary (210 000€ * 2690 Ar/€ de taux de change moyen sur 2006)
  • Budget 2006 en Ariary de 2023 : 1 960 203 000 Ariary (taux d’inflation cumulé de 347 % entre 2006 et 2023)
  • Budget 2006 en euros de 2023 : 442 484 € (taux de change en 2023 de 4430 Ar/€4430)
  • Budget 2006 par observatoire : 29499 € Budget 2006 par ménage enquêté : 59€