# Global trade risk lanes by HS6

HS6 trade-lane risk indicators covering demand, competition, access, volatility, drawdown, and market context.

## What one row represents
one exporter, importer, and HS6 product lane

## Included data
- Trade values and lane history
- Demand, concentration, volatility, and drawdown
- Access, tariff, and buyer-market context

## Metric notes
- USD fields are monetary values denominated in US dollars.
- Country fields use three-letter ISO 3166-1 country codes.
- HS6 identifies a product at the six-digit Harmonized System level.
- Growth percentages compare reported values across the relevant periods; calculated and projected fields are identified in the schema.

## Fields
- `exporter_iso3` — `String`
- `importer_iso3` — `String`
- `hs_code` — `String`
- `hs_description` — `String`
- `hs_chapter` — `String`
- `hs_heading` — `String`
- `price_range_label` — `Nullable(String)`
- `trade_type_label` — `Nullable(String)`
- `substitution_elasticity` — `Nullable(Float64)`
- `buyer_imports_latest_usd` — `Float64`
- `buyer_imports_avg_usd` — `Float64`
- `buyer_imports_peak_usd` — `Float64`
- `buyer_cagr_full_pct` — `Nullable(Float64)`
- `buyer_yoy_avg_pct` — `Nullable(Float64)`
- `buyer_yoy_latest_pct` — `Nullable(Float64)`
- `buyer_trend_consistency_pct` — `Nullable(Float64)`
- `buyer_imports_proj_3y_usd` — `Nullable(Float64)`
- `buyer_imports_proj_5y_usd` — `Nullable(Float64)`
- `buyer_gdp_mn_latest` — `Nullable(Float64)`
- `buyer_gdp_pc_latest` — `Nullable(Float64)`
- `buyer_population_latest` — `Nullable(Float64)`
- `buyer_investment_rate` — `Nullable(Float64)`
- `buyer_savings_rate` — `Nullable(Float64)`
- `buyer_edu_secondary` — `Nullable(Float64)`
- `buyer_gdp_mn_2030_proj` — `Nullable(Float64)`
- `buyer_gdp_pc_2030_proj` — `Nullable(Float64)`
- `buyer_gdp_pc_growth_pct` — `Nullable(Float64)`
- `buyer_gdp_mn_growth_pct` — `Nullable(Float64)`
- `buyer_pop_growth_pct` — `Nullable(Float64)`
- `exports_latest_usd` — `Float64`
- `exports_avg_usd` — `Float64`
- `exports_peak_usd` — `Float64`
- `share_latest_pct` — `Float64`
- `share_avg_pct` — `Float64`
- `share_peak_pct` — `Float64`
- `share_change_1y_pp` — `Nullable(Float64)`
- `share_trend_pp_per_yr` — `Nullable(Float64)`
- `cagr_full_pct` — `Nullable(Float64)`
- `yoy_avg_pct` — `Nullable(Float64)`
- `yoy_latest_pct` — `Nullable(Float64)`
- `trend_consistency_pct` — `Nullable(Float64)`
- `exports_proj_3y_usd` — `Nullable(Float64)`
- `exports_proj_5y_usd` — `Nullable(Float64)`
- `your_share_gap_pp` — `Nullable(Float64)`
- `addressable_proj_3y_usd` — `Nullable(Float64)`
- `addressable_proj_5y_usd` — `Nullable(Float64)`
- `peer_best_share_pct` — `Float64`
- `peer_top_exporter` — `String`
- `num_suppliers_latest` — `UInt16`
- `buyer_herfindahl_index` — `Float64`
- `distance_km` — `Nullable(Float64)`
- `shares_official_language` — `Nullable(UInt8)`
- `common_spoken_language_score` — `Nullable(Float64)`
- `has_wto_reported_fta` — `Nullable(UInt8)`
- `buyer_is_eu_member` — `Nullable(UInt8)`
- `buyer_biz_entry_days` — `Nullable(Float64)`
- `shared_legal_system` — `Nullable(UInt8)`
- `shared_religion` — `Nullable(UInt8)`
- `shares_land_border` — `Nullable(UInt8)`
- `buyer_is_wto_member` — `Nullable(UInt8)`
- `lane_volatility_cv` — `Nullable(Float64)`
- `lane_max_drawdown_pct` — `Float64`
- `signal_flag` — `String`
- `lane_data_years` — `UInt16`
- `lane_last_year` — `UInt16`
- `access_data_year` — `UInt16`
- `avg_applied_tariff_pct` — `Nullable(Float64)`
- `avg_mfn_tariff_pct` — `Nullable(Float64)`
- `avg_preferential_tariff_pct` — `Nullable(Float64)`
- `tariff_advantage_pp` — `Nullable(Float64)`
- `rta_coverage_ratio` — `Nullable(Float64)`
- `buyer_macro_latest_year` — `UInt16`
- `buyer_gdp_5y_cagr_pct` — `Nullable(Float64)`
- `buyer_gdp_pc_5y_cagr_pct` — `Nullable(Float64)`
- `buyer_population_5y_cagr_pct` — `Nullable(Float64)`
- `buyer_investment_5y_avg_pct` — `Nullable(Float64)`
- `buyer_savings_5y_avg_pct` — `Nullable(Float64)`
- `current_below_peak_usd` — `Float64`
- `current_below_peak_pct` — `Nullable(Float64)`
- `latest_vs_historical_avg_pct` — `Nullable(Float64)`
- `share_change_all_pp` — `Float64`
- `volatility_label` — `String`
- `drawdown_label` — `String`
- `competition_label` — `String`
- `demand_label` — `String`
- `access_label` — `String`
- `macro_resilience_label` — `String`
- `risk_driver_labels` — `Array(String)`
- `risk_driver_count` — `UInt8`
- `attention_level` — `String`
- `primary_risk_reason` — `String`

## Coverage and size
- Coverage: 1995-2024 where reported
- Records: 2,755,418
- Parquet file size: 876 MB
- SHA-256: `eab704ca42e83d8eca5014c5bb06c392a652fd86cc968041a2986e61ec4f9202`

## Files
- `data.parquet` - complete dataset
- `manifest.json` - release metadata and checksums
- `schema.json` - field names, types, and metric notes
- `sample.json` - example records
- `README.md` - dataset documentation

## Read with Python
```python
import pandas as pd
data = pd.read_parquet("data.parquet")
print(data.head())
```

## Sources
- OECD Balanced International Merchandise Trade Statistics (BIMTS)
- Yugalinks calculated trade-route risk measures
- OECD Terms & Conditions: https://www.oecd.org/termsandconditions/
