get_growth("HH Cons") in exogenous_data.py (line 265) is built from national_accounts_growth["HH Cons"], but upstream reader fallback logic can silently replace missing household-consumption data with GDP data.
As a result, both:
Household Consumption (Value)
GDP (Value)
can be driven by the same growth series, making Household Consumption (Value) / GDP (Value) constant by construction.
Relevant code paths:
IMF reader falls back to GDP when a field is missing: imf_reader.py (line 382)
OECD reader fills missing NA columns with GDP growth: oecd_economic_data.py (line 1159)
Merged NA growth gives IMF precedence: default_readers.py (line 667)
Observed for France:
na["Household Consumption (Value)"] / na["GDP (Value)"] is constant.
Expected behavior:
Missing HH Cons data should not silently inherit GDP growth. It should remain missing, be filled from OECD if available, or raise a warning.
Possible fix:
remove GDP fallback for HH Cons in the IMF reader
avoid default GDP fill for missing OECD NA components
warn when HH Cons is being proxied by GDP
Related:
exogenous_data.py (line 332) also appears to set "Household Investment (Growth)" from "HH Cons", which may be a separate bug.
get_growth("HH Cons") in exogenous_data.py (line 265) is built from national_accounts_growth["HH Cons"], but upstream reader fallback logic can silently replace missing household-consumption data with GDP data.
As a result, both:
Household Consumption (Value)
GDP (Value)
can be driven by the same growth series, making Household Consumption (Value) / GDP (Value) constant by construction.
Relevant code paths:
IMF reader falls back to GDP when a field is missing: imf_reader.py (line 382)
OECD reader fills missing NA columns with GDP growth: oecd_economic_data.py (line 1159)
Merged NA growth gives IMF precedence: default_readers.py (line 667)
Observed for France:
na["Household Consumption (Value)"] / na["GDP (Value)"] is constant.
Expected behavior:
Missing HH Cons data should not silently inherit GDP growth. It should remain missing, be filled from OECD if available, or raise a warning.
Possible fix:
remove GDP fallback for HH Cons in the IMF reader
avoid default GDP fill for missing OECD NA components
warn when HH Cons is being proxied by GDP
Related:
exogenous_data.py (line 332) also appears to set "Household Investment (Growth)" from "HH Cons", which may be a separate bug.