Origin GFM
Il Gap Filling Module Origine determina l'origine geografica dei prodotti alimentari quando non e esplicitamente specificata. Utilizzando le statistiche commerciali della FAO (Organizzazione delle Nazioni Unite per l'Alimentazione e l'Agricoltura), calcola le quote di importazione e i rapporti di produzione domestica per stimare da dove gli ingredienti piu probabilmente provengono in base alla "posizione cucina" (paese di consumo).
Riferimento Rapido
| Proprieta | Descrizione |
|---|---|
| Eseguito su | FoodProductFlowNode (escluse le suddivisioni) |
| Dipendenze | LocationGapFillingWorker, AddClientNodesGapFillingWorker, InventoryConnectorGapFillingWorker, MatchProductNameGapFillingWorker, LinkTermToActivityNodeGapFillingWorker, IngredientAmountEstimatorGapFillingWorker |
| Input Chiave | Posizione cucina (paese), termini FoodEx2 abbinati al prodotto, dati commerciali FAO |
| Output | Suddivisione origine con percentuali specifiche per paese, proprieta di localizzazione |
| Fonte Dati | FAO STAT Detailed Trade Matrix, FAO Production Statistics |
Quando Viene Eseguito
Il modulo si attiva quando:
- Il nodo e un
FoodProductFlowNode(non una suddivisione) - Nessuna origine e gia specificata, OPPURE origini multiple necessitano elaborazione
- Tutti i GFM dipendenti sono completati
- I nodi sotto-attivita hanno le quantita di produzione calcolate
Output Chiave
Il modulo modifica il grafo di calcolo tramite:
- Suddivisione Origine: Creando nodi di flusso prodotto multipli, ognuno con un paese di origine specifico
- Allocazione Percentuale: Distribuendo le quantita basate sulle statistiche di importazione e produzione domestica
- Proprieta di Localizzazione: Impostando codici paese, coordinate e termini GADM
Metodologia Scientifica
Il modello di origine calcola la distribuzione di probabilita di dove un prodotto ha origine basandosi su:
Fornitura Totale = Produzione Domestica + Importazioni - Esportazioni
Per ogni paese di origine, la quota e calcolata come:
Quota Domestica = (Produzione Domestica - Esportazioni) / Fornitura Totale
Quota Estera = 1 - Quota Domestica
Quota Importazione per Paese = Quota Estera * (Importazione Paese / Importazione Totale)
Modello del Bilancio Commerciale
Il modello utilizza i dati FAO STAT per calcolare le distribuzioni di origine:
Quota di Produzione Domestica
domestic_import_export_total = produzione_domestica + valore_importazione - valore_esportazione
quota_origine_domestica = (produzione_domestica - valore_esportazione) / domestic_import_export_total
Se la produzione domestica supera le esportazioni, una parte del consumo e assunta essere domestica. La parte rimanente e allocata ai paesi importatori.
Distribuzione Paesi Importatori
Per le origini estere, il modulo identifica i principali paesi contributori:
# Ottieni paesi che coprono il 90% delle importazioni totali
m49_country_share = import_export_cache.import_countries_top90percent(
kitchen_country_m49_code, fao_code, year_column
)
for country, value in country_share.items():
country_total_percentage_share[country] = foreign_origin_share * value
La soglia del 90% riduce la complessita computazionale mantenendo l'accuratezza. Per prodotti senza codici FAO specifici (statistiche predefinite), vengono usati solo i primi 10 paesi.
Gestione delle Inconsistenze
I dati commerciali FAO possono avere inconsistenze. Il modulo gestisce questi casi:
| Scenario | Gestione |
|---|---|
| Esportazione ≥ Domestica + Importazione | Imposta "origine sconosciuta" |
| Nessun dato produzione domestica | Usa solo statistiche importazione |
| Nessun dato commerciale per prodotto | Ritorna alle statistiche FAO predefinite |
| Fornitura totale negativa | Imposta "origine sconosciuta" |
Dettagli di Implementazione
Configurazione Dati FAO
Il modulo utilizza due set di dati FAO primari:
FAO_IMPORT_EXPORT_ZIP_URL = "https://bulks-faostat.fao.org/production/Trade_DetailedTradeMatrix_E_All_Data.zip"
FAO_DOMESTIC_ZIP_URL = "https://bulks-faostat.fao.org/production/Production_Crops_Livestock_E_All_Data.zip"
File dati estratti:
Trade_DetailedTradeMatrix_E_All_Data_NOFLAG.csv- Quantita import/export per coppia di paesiProduction_Crops_Livestock_E_All_Data_NOFLAG.csv- Produzione domestica per paeseTrade_DetailedTradeMatrix_E_ItemCodes.csv- Definizioni codici prodotto FAO
Selezione Anno
Il modulo supporta anni primari e secondari per la disponibilita dei dati:
# Se i dati dell'anno primario mancano, ritorna all'anno secondario
if pd.isnull(domestic_production_value.values[0]):
stats_data_year_column = self.gfm_factory.secondary_year
domestic_production_value = domestic_production_row[stats_data_year_column]
Codici FAO Speciali
Codici FAO personalizzati gestiscono casi limite:
| Codice FAO | Nome | Descrizione |
|---|---|---|
100000 | Produzione Locale | Prodotti come acqua che sono di provenienza locale |
200000 | Produzione Predefinita | Prodotti senza mappature FAO specifiche |
300000 | Produzione Pesce Sconosciuto | Prodotti ittici senza dati commerciali |
400000 | Produzione Fallita | Fallback quando la stima dell'origine fallisce |
Esempio di Calcolo
Scenario: Determinare l'origine per 1 kg di pomodori consumati in Svizzera (CH)
Passo 1: Identificare il Prodotto
- Termine FoodEx2 abbinato:
A0DMX(Pomodori) - Codice FAO via glossary link:
388(Pomodori) - Paese cucina: Svizzera (M49: 756)
Passo 2: Interrogare le Statistiche Commerciali
Dati FAO per Svizzera e pomodori (codice FAO 388):
| Punto Dati | Valore (tonnellate) |
|---|---|
| Produzione Domestica | 45.000 |
| Importazioni Totali | 75.000 |
| Esportazioni Totali | 5.000 |
Passo 3: Calcolare le Quote
fornitura_totale = 45.000 + 75.000 - 5.000 = 115.000
quota_domestica = (45.000 - 5.000) / 115.000 = 0,348 (34,8%)
quota_estera = 1 - 0,348 = 0,652 (65,2%)
Passo 4: Distribuire la Quota di Importazione
Principali paesi importatori per le importazioni svizzere di pomodori:
| Paese | Importazione (tonnellate) | % Importazione | Quota Finale |
|---|---|---|---|
| Spagna | 35.000 | 46,7% | 30,4% |
| Italia | 20.000 | 26,7% | 17,4% |
| Paesi Bassi | 10.000 | 13,3% | 8,7% |
| Marocco | 5.000 | 6,7% | 4,4% |
| Altri | 5.000 | 6,7% | 4,4% |
| Svizzera (domestico) | - | - | 34,8% |
Passo 5: Modifica del Grafo
Il modulo crea nodi di suddivisione origine:
Originale:
Pomodori (1 kg) -> Attivita -> ...
Dopo Origin GFM:
Pomodori (1 kg) -> Origin-Split-Activity
|-> Pomodori (0,348 kg, CH) -> Attivita (copia) -> ...
|-> Pomodori (0,304 kg, ES) -> Attivita (copia) -> ...
|-> Pomodori (0,174 kg, IT) -> Attivita (copia) -> ...
|-> Pomodori (0,087 kg, NL) -> Attivita (copia) -> ...
|-> Pomodori (0,044 kg, MA) -> Attivita (copia) -> ...
|-> Pomodori (0,044 kg, ALTRO) -> Attivita (originale) -> ...
Ogni flusso specifico per origine riceve quindi calcoli di trasporto appropriati a valle.
Limitazioni Note
Qualita dei Dati
- Effetto Rotterdam: Merci riesportate attraverso hub commerciali (Paesi Bassi, Belgio) possono apparire come provenienti da quei paesi anziche dalle origini reali
- Lacune Dati FAO: Alcuni prodotti mancano di statistiche commerciali, ricadendo sulla stima dell'origine predefinita
- Bilanci Inconsistenti: Alcune combinazioni paese/prodotto hanno esportazioni che superano produzione + importazioni
- Ritardo Temporale: La pubblicazione dei dati FAO tipicamente ritarda di 1-2 anni rispetto alla data corrente
Lacune di Copertura
- Prodotti Ittici: Dati commerciali FAO limitati per il pesce; usa "origine sconosciuta" con trasporto predefinito
- Prodotti Trasformati: Alimenti trasformati complessi potrebbero non avere mappature FAO dirette
- Prodotti Regionali: Prodotti come acqua locale o specialita usano il codice "produzione locale"
Ipotesi del Modello
- Distribuzione Uguale: Quando origini multiple sono specificate dall'utente senza percentuali, ricevono quote uguali
- Posizione Cucina Richiesta: La stima dell'origine richiede un paese di consumo noto
- Limite 10 Paesi: Le statistiche FAO predefinite usano solo i primi 10 paesi importatori per limitare la complessita del grafo
- Soglia Copertura 90%: Fonti di importazione minori sotto il 10% di quota cumulativa sono escluse
Riferimenti
-
FAO Statistics Division. Database FAOSTAT. Organizzazione delle Nazioni Unite per l'Alimentazione e l'Agricoltura.
-
FAO Detailed Trade Matrix. Dati Commerciali. Flussi commerciali bilaterali per commodita agricole.
-
BACI Database (Alternativo). CEPII BACI. Database commerciale internazionale con tracciamento origine migliorato.
-
GADM Database. Global Administrative Areas. Confini geografici e regioni amministrative.
-
FoodEx2 Classification. EFSA FoodEx2. Sistema di classificazione alimentare dell'Autorita Europea per la Sicurezza Alimentare.