Skip to content

Supply Shed Risk Analysis

View or edit on GitHub

This page is synchronized from trase/engagement/brazil/ciff/supply_shed_risk_analysis/README.md. Last modified on 2026-08-28 19:58 CEST by Harry Biddle. Please view or edit the original file there; changes should be reflected here after a midnight build (CET time), or manually triggering it with a GitHub action (link).

Trase CIFF Brazil Beef Supply Shed Risk Analysis

Static dashboard package for Netlify hosting of the CIFF supply shed work. Deploy or upload the full contents of this folder as one prefix; keep the relative folder structure unchanged.

Entry Points

  • index.html - landing page, methods overview, use cases and guidance links.
  • supply_shed.html - facility supply-shed mapping dashboard.
  • risk_exposure.html - combined supply-shed risk exposure dashboard with map selectors for deforestation and conversion exposure or pasture gross CO2e emissions exposure, OpenStreetMap/CARTO basemap tiles, facility points sized by the selected exposure index and a selected-data table for supply flows and facilities.

Main findings

This dashboard package presents Brazil beef supply-shed data for risk-based screening by downstream companies, financial institutions, civil society users and procurement teams. It combines facility locations, inferred sourcing municipalities, deforestation exposure, emissions exposure, TAC evidence and audit results.

1,249
slaughterhouse facilities represented
182,231
facility-source municipality links
212
deforestation at-risk facilities
113
emissions at-risk facilities
123
median source municipalities per facility
9
median municipalities explaining 50% of supply-network weight
192 / 212
at-risk facilities located in Amazonia or Cerrado municipalities
61 / 212
at-risk facilities matched to TAC signatory evidence

The main analytical message is that supply sheds are broad, but exposure is concentrated. The median facility sources from 123 municipalities, yet the median number of municipalities accounting for half of supply-network weight is only 9. Among SIF facilities, the median supply shed is slightly broader, at 135 source municipalities, while the median number explaining half of supplied network weight is 8. This makes the dashboard useful for prioritisation: users do not need to engage every source municipality with the same intensity.

1. Facility exposure is concentrated in a smaller at-risk group

Donut chart showing deforestation exposure classification for facilities.

Donut chart showing emissions exposure classification for facilities.

The deforestation exposure classification identifies 212 at-risk facilities out of 1,249. The emissions classification is narrower, identifying 113 at-risk facilities. These classifications are based on the stable Trase indicator parquet listed below. Source municipalities are tagged at-risk if they are part of the set accounting for the first 95% of national deforestation or emissions; facilities are tagged at-risk when at least 50% of their supply-shed flow comes from at-risk source municipalities.

2. Amazonia and Cerrado dominate the at-risk profile

Facility location biome At-risk facilities
Amazonia 112
Cerrado 80
Mata Atlantica 8
Pantanal 5
Caatinga 3
No biome match 4

Of the 212 deforestation at-risk facilities, 192 are located in Amazonia or Cerrado municipalities. Looking at the sourcing footprint rather than facility location, 211 of the 212 at-risk facilities have at-risk source-municipality links in Amazonia and/or Cerrado. This supports using the dashboard as a biome-sensitive engagement tool: Amazonia and Cerrado should be the first screening lens, while a smaller set of Pantanal, Caatinga and other links should still be retained where exposure remains material.

At-risk deforestation exposure index is also strongly concentrated by biome:

Source biome among at-risk source municipalities Deforestation exposure index share
Amazonia 82.9%
Cerrado 13.7%
Pantanal 3.0%
Caatinga 0.5%
Mata Atlantica 0.0%

3. TAC and audit evidence should guide engagement, not replace it

TAC status All facilities Deforestation at-risk facilities
TAC signatory 78 61
Not signatory 15 12
No TAC data matched 1,156 139

TAC evidence is important because it shows whether facilities are part of legitimate compliance spaces. In the dashboard-matched data, 61 of the 212 deforestation at-risk facilities are matched to TAC signatory evidence. However, 139 at-risk facilities have no TAC match, and only 41 at-risk facilities have a third-party environmental audit score in the current workbook. Automated environmental audit scores are available for 20 at-risk facilities.

The TAC source table can contain multiple records for the same facility because audit results are reported by AUDIT_CYCLE. Before merging TAC fields into the dashboard facility tables, the preparation script keeps only the most recent audit cycle for each CNPJ14 facility key. The root-tax/municipality fallback lookup applies the same latest-cycle rule.

The interpretation should therefore be balanced. A TAC match should not be ignored, but it should not be treated as automatic evidence of deforestation and conversion-free sourcing. The dashboard is best used to sequence supplier engagement: facilities with no TAC or audit evidence are priority cases for requests on traceability, monitoring coverage, CAR/GTA documentation and non-compliance procedures; TAC signatories should be asked to show how those commitments apply to the specific source municipalities highlighted in their supply shed.

4. Exposure is highly concentrated among companies and facilities

The largest exposure index totals are concentrated in a small set of facility groups. For example, JBS has 39 represented facilities, of which 21 are deforestation at-risk, and accounts for about 957 deforestation exposure index points in the prepared facility table. Other high-exposure groups include Frigol and Mercurio.

Company group Facilities At-risk facilities Deforestation exposure index
JBS 39 21 957.1
Frigol 3 2 187.1
Mercurio 2 1 184.3
Ativo Alimentos Exportadora E Importadora Ltda 1 1 138.1
Vale Grande Industria E Comercio De Alimentos S/A 4 3 108.7
Frigotil - Frigorifico De Timon S/A 1 0 107.5
Frigomarca Ltda 2 2 92.7
Frigorifico Redentor S/A 1 1 83.3

The same pattern appears at facility level. The eight highest deforestation exposure facilities include plants in Sao Felix do Xingu, Tucuma, Novo Progresso, Porto Velho, Santana do Araguaia, Redencao and Maraba. In several of these cases, a small number of municipalities accounts for most of the exposure: for JBS Maraba, 211 source municipalities are active in the supply shed, but 9 municipalities account for 75% of supply-network weight and 15 municipalities account for 90% of the deforestation exposure index.

5. Shared sourcing regions create system-wide engagement opportunities

At-risk source municipalities are often shared by multiple facilities. Among deforestation at-risk facilities, 320 at-risk source municipalities supply at least five at-risk facilities. This overlap matters for engagement: a downstream company may receive more consistent evidence by asking suppliers operating in the same priority municipalities to provide comparable information on monitoring coverage, supplier controls and remediation processes.

Shared at-risk source municipality State Biome Connected at-risk facilities
Caceres Mato Grosso Pantanal 76
Altamira Para Amazonia 69
Cuiaba Mato Grosso Cerrado 60
Santo Antonio do Leverger Mato Grosso Pantanal 59
Rosario Oeste Mato Grosso Cerrado 59

Folder Structure

  • assets/brand/ - Trase logo and landing-page imagery.
  • assets/geo/ - Brazil municipality and state geometries used by Leaflet maps.
  • data/assets/ - prepared dashboard inputs. The dashboards read only from this folder.

Prepared Dashboard Data

The asset folder contains six prepared CSVs and matching YAML metadata files:

  • br_beef_ciff_facilities_prepared_2024.csv - facility-level summary used by the supply-shed dashboard.
  • br_beef_ciff_supply_shed_connections_prepared_2024.csv - source municipality connections used by the supply-shed dashboard.
  • br_beef_ciff_deforestation_risk_facilities_prepared_2024.csv - facility-level deforestation exposure summary.
  • br_beef_ciff_deforestation_risk_supply_shed_prepared_2024.csv - source municipality deforestation exposure rows.
  • br_beef_ciff_emission_risk_facilities_prepared_2024.csv - facility-level emissions exposure summary.
  • br_beef_ciff_emission_risk_supply_shed_prepared_2024.csv - source municipality emissions exposure rows.

Deforestation and emissions source-municipality values are calculated from the stable Trase indicator parquet:

s3://trase-storage/brazil/beef/indicators/gold/q4_2025/pasture_c10_beef_deforestation_emissions_2013_2023_q4_2025_multilevel.parquet

The preparation script averages the 2020-2024 values for the five-year deforestation total, five-year gross CO2e emissions total, and their respective per-tonne indicators. Source municipalities are tagged as at-risk when they are part of the set accounting for the first 95% of national deforestation or emissions; all remaining source municipalities are tagged not at-risk. Facility exposure follows the dashboard rule: a facility is at-risk when at least 50% of its supply-shed flow comes from at-risk source municipalities.

The Deforestation Exposure and Emission Exposure fields are network-scaled screening indices rather than annual attributable hectares or CO2e totals. They are non-negative and open-ended, not normalised to a 0-1 or 0-100 scale. The GTA/SIG-SIF kg fields represent supply-network weight from multi-year direct, indirect and fallback evidence. For each facility-source municipality pair, the index combines the source municipality per-tonne indicator, the municipality's normalised share of the facility supply shed and a supplied volume index based on the facility's total supply-network weight relative to the median facility.

Exposure Index Equations

The exposure equations use two levels of information:

  • municipality-level environmental intensity from stable Trase indicators;
  • facility-source municipality supply-shed weights from GTA and SIG-SIF.

The indices are designed for screening and prioritisation. They preserve granularity between source municipalities and facility-size sensitivity between slaughterhouses, but they should not be interpreted as annual attributable hectares of deforestation or annual attributable tonnes of CO2e. Higher values indicate greater relative exposure, driven by higher source-municipality deforestation or emissions intensity, larger source shares and/or larger facility scale.

1. Source-municipality environmental indicators

For each source municipality m, the preparation script reads the Trase indicator parquet listed above and averages the 2020-2024 values:

D_m = mean_2020_2024(CATTLE_DEFORESTATION_5_YEAR_TOTAL_m)
G_m = mean_2020_2024(CO2_GROSS_EMISSIONS_CATTLE_DEFORESTATION_5_YEAR_TOTAL_m)
ID_m = mean_2020_2024(CATTLE_DEFORESTATION_PER_TN_5_YEAR_TOTAL_m)
IG_m = mean_2020_2024(CO2_GROSS_EMISSIONS_CATTLE_DEFORESTATION_PER_TN_5_YEAR_TOTAL_m)

Where:

  • D_m is the cattle deforestation indicator for municipality m;
  • G_m is the pasture gross CO2e emissions indicator for municipality m;
  • ID_m is the deforestation intensity per tonne of cattle production;
  • IG_m is the emissions intensity per tonne of cattle production.

2. Facility-source municipality supply-network weight

For each facility f and source municipality m, the prepared supply-shed row combines GTA and SIG-SIF fallback quantities:

kg_fm = kg_per_mun_fm + quantity_sigsif_fm
prop_flow_fm = kg_fm / sum_m(kg_fm)

kg_fm is retained in the dashboards as supplied_kg_per_mun, but it should be read as a supply-network weight. It is built from multi-year GTA records, indirect movement links and SIG-SIF fallback evidence, so it is not treated as a single-year slaughter volume.

The exported prop_flow is the source municipality share within each unique facility_id. The source-municipality prop_flow values sum to 1 for each facility supply shed.

w_fm = prop_flow_fm

Where w_fm is the share of facility f's supply shed represented by source municipality m. The same proportional flow is used for the map indicator, the downloaded disaggregated supply-shed table, source-level exposure indices and facility at-risk classification.

3. Facility-size sensitivity

To retain comparability between facilities of different observed network size, the script calculates a supplied volume index:

K_f = sum_m(kg_fm) / 1000
S_f = K_f / median(K_f for facilities where K_f > 0)

Where:

  • K_f is the total supply-network weight for facility f, expressed in tonnes;
  • S_f is the supplied volume index.

This keeps larger supply-network facilities more prominent in the exposure screening, while avoiding the claim that K_f is annual slaughter volume. The supplied volume index is unitless: S_f = 1 represents the median positive facility supply-network weight, values below 1 represent facilities below that median and values above 1 represent facilities above it.

The technical supply_network_scale_index field stores the supplied volume index and is directly proportional to the original facility-level supply-network weight. In the prepared facility table and downloads, absolute supply-network volume is calculated as supplied_kg_per_mun / 1000 after summing all source-municipality rows for each facility. Because S_f is defined as facility tonnes divided by the median facility tonnes, facilities with twice the network weight have twice the scale index. The chart below orders facilities by supply-network volume, plots the supplied volume index on the left y-axis and shows the equivalent supply-network tonnes on the right y-axis. Circle size increases with supply-network volume, the dashed line marks the median facility supplied volume index and red circles highlight facilities above the median.

Rank plot showing supplied volume index on the left y-axis, equivalent supply-network tonnes on the right y-axis, larger circles for larger facilities and a median reference line.

4. Source-level exposure indices

The source-level deforestation exposure index is:

Deforestation Exposure_fm = ID_m * w_fm * S_f

The source-level emissions exposure index is:

Emission Exposure_fm = IG_m * w_fm * S_f

These are relative, network-scaled screening values. The previous experimental calculation multiplied supplied_kg_per_mun by total_prop_flows_pct, but this would apply the source share twice because supplied_kg_per_mun is already municipality-attributed. The current calculation avoids that double weighting. The resulting index values are not capped; their observed maxima depend on the highest municipality intensity, source share and facility scale values in the prepared data.

5. Facility-level exposure indices

Facility-level values are the sum of source-level index values across all source municipalities connected to the facility:

Deforestation Exposure_f = sum_m(Deforestation Exposure_fm)
Emission Exposure_f = sum_m(Emission Exposure_fm)

The same summed facility-level fields are used in the supply-shed dashboard exports, the risk exposure dashboard exports and the matched-supplier downloads. The disaggregated flow download (selected_supply_shed_connections.xlsx) also includes supply_network_scale_index, repeated for each source-municipality row belonging to the same facility, so users can see the facility-scale component used in each source-level exposure calculation.

6. At-risk and not-at-risk classification

Source municipalities are classified separately for deforestation and emissions. For each indicator, municipalities are ranked nationally from highest to lowest indicator value. Municipalities that together account for the first 95% of the national indicator total are tagged At-risk; all remaining municipalities are tagged Not at-risk.

Facility exposure classification is then calculated from the facility's normalised source weights:

at_risk_share_f = sum_m(w_fm for source municipalities tagged At-risk)

if at_risk_share_f >= 0.50:
    facility exposure risk = "At-risk"
else:
    facility exposure risk = "Not at-risk"

This classification is intentionally based on supply-shed composition rather than absolute annual volume. It indicates whether a facility is structurally connected to the municipalities that dominate national cattle deforestation or cattle-deforestation emissions.

Bundled Data Checks

  • Prepared supply-shed source rows: 182,231
  • GTA: 62,378
  • SIG-SIF fallback: 119,853
  • Prepared facility rows: 1,249
  • GTA: 600
  • SIG-SIF fallback: 649
  • SIF: 217
  • SIE: 811
  • SIM: 99
  • CONSORCIO: 122
  • Deforestation and conversion facility exposure:
  • At-risk: 212
  • Not at-risk: 1,037
  • Deforestation and conversion supply-shed exposure rows:
  • At-risk: 14,550
  • Not at-risk: 167,681
  • Emissions facility exposure:
  • At-risk: 113
  • Not at-risk: 1,136
  • Emissions supply-shed exposure rows:
  • At-risk: 7,557
  • Not at-risk: 174,674

Runtime Dependencies

The dashboards load these browser libraries from public CDNs:

  • Google Fonts: DM Sans
  • Leaflet
  • Chart.js
  • SheetJS/xlsx
  • html2canvas

For fully offline hosting, vendor these libraries locally and update the <script> and <link> references in the HTML files.

Runtime Performance Notes

The largest runtime inputs are the risk supply-shed prepared CSVs, each about 60-63 MB. The risk exposure dashboard loads only the active risk mode at page startup and fetches the other mode only when the user switches between deforestation and emissions. Prepared CSV requests use a fixed dashboard asset version query string rather than a per-load timestamp, so browsers and static hosts can reuse cached assets while still allowing cache invalidation when the dashboard inputs are intentionally updated.

Within a browser session, parsed deforestation and emissions mode data are cached after first load. Switching back to a previously opened mode reuses the cached data instead of re-downloading and re-parsing the large CSV. The selected data table is paginated and renders only the visible page of rows, while map and export calculations continue to use the full current filter selection.

Netlify Deploy Notes

The repository root includes a netlify.toml file that points Netlify to this static dashboard folder:

[build]
  publish = "data/brazil/beef/ciff/frontend/supply_shed_risk_analysis"

No build command is required because the dashboard is already deploy-ready static HTML, JavaScript, CSV and asset files.

S3 Upload Notes

  • Upload every file and subfolder in supply_shed_risk_analysis/.
  • Use index.html as the default document if configuring static website hosting.
  • Preserve relative paths exactly; the dashboards refer to local assets under assets/ and data/.
  • For S3 object metadata, use standard web content types where possible:
  • .html: text/html
  • .css if added later: text/css
  • .js: application/javascript
  • .csv: text/csv
  • .geojson: application/geo+json
  • .svg: image/svg+xml
  • .jpg: image/jpeg
  • This prototype is intended for internal analysis and presentation preparation, not public release as a Trase.earth published product.