Skip to content

View or edit on GitHub

This page is synchronized from trase/models/brazil/qa_bol/2025BR_BOL_COMTRADE_MDIC.md. Last modified on 2026-08-05 15:56 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).

Brazil BOL 2025 comparison against MDIC and COMTRADE

Introduction and data used

This analysis compares Brazil 2025 Bill of Lading (BOL) data with Brazil’s official export statistics (MDIC) and the UN’s trade statistics (COMTRADE), before and after padding the BOL with missing flows from MDIC.

It gives context around export gaps, as the 2025 BOL doesn’t include all export data, it only includes maritime exports, and it has general differences in how data is reported in MDIC and COMTRADE. For example, the BOL’s destination country reports where the goods are unloaded - which might not be the same as the final export destination country as in MDIC.

Documentation of available fields in each dataset and what they represent, as well as a link to explore them can be found in each data source’s dbt table documentation linked below.

The main data used for this analysis is:

Main observations

  1. There are a couple of hs6 codes that seem to be reported with slightly different codes between the BOL and MDIC/COMTRADE.
  2. Some destination countries that appear in BOL don’t appear -or barely appear- in MDIC (in particular NETHERLANDS and to a lesser extent GERMANY, LIBYA and UK). Probably this is because these countries are re-exporting hubs for some hs6s instead of final export destinations. Note that the destination country of the BOL is based on the field PLACE_AND_PORTS_DEST_COUNTRY, which represents the “Country where the carrier delivered the cargo” (see the BOL’s dbt documentation above).
  3. The BOL has some hs6 soy records with destination country “EUROPEAN UNION” which is clearly not a single country as such.
  4. The MDIC includes non-maritime exports. They tend to be a small portion of each export code (visualized later on), except for hs6 0201 (fresh/chilled beef) which goes mostly to neighbouring countries.
  5. Live animals (0102) is almost absent in the BOL for 2023, which was a limitation announced by the vendor. 2024 and 2025 data has better data for this hs code and presents ~40% higher volumes.

Description of hs4’s containing SOY and BEEF in the BOL

This is the general description of each relevant hs4 code present in the BOL, and the total tonnes reported.

commodity hs4 Mtonnes description
SOY 1201 105.410 Soya beans, whether or not broken
SOY 2304 22.299 Oil-cake and other solid residues; whether or not ground or in the form of pellets, resulting from the extraction of soya-bean oil
BEEF 0202 2.855 Meat of bovine animals; frozen
SOY 1507 1.257 Soya-bean oil and its fractions; whether or not refined, but not chemically modified
BEEF 0102 0.777 Bovine animals; live
BEEF 0206 0.348 Edible offal of bovine animals, swine, sheep, goats, horses, asses, mules or hinnies; fresh, chilled or frozen
BEEF 1602 0.250 Prepared or preserved meat, meat offal or blood
BEEF 0201 0.214 Meat of bovine animals; fresh or chilled
BEEF 0210 0.145 Meat and edible meat offal; salted, in brine, dried or smoked; edible flours and meals of meat or meat offal
BEEF 0504 0.126 Guts, bladders and stomachs of animals (other than fish); whole and pieces thereof, fresh, chilled, frozen, salted, in brine, dried or smoked

Before padding

HS4 tonnes comparison

The following comparison gives a general overview between the BOL, MDIC and COMTRADE. It also distinguishes maritime vs non-maritime.

These values are generated aggregating hs6 codes (taking their first 4 digits), only for hs6’s related to SOY or BEEF (ignoring hs6’s related to CHICKEN or PORK, for which there are only a few records and are not of interest).

Special observations:

  • Beef 0102 (live animals) is fixed for 2024. It had limitations in 2023 BOL data as declared by the vendor.
  • Beef 0210 (salted, brined, dried, or smoked meat and meat products) appears primarily in BOL trade, with the majority traded by the NETHERLANDS, UK, and GERMANY, the same behavior found in 2024.

HS6 tonnes comparison

Here the comparison of the full hs6’s.

Some supporting observations:

  • The hs code 120100, while being the biggest soy hs code in the BOL, doesn’t exist in MDIC or COMTRADE. In the latter, the main code used and with similar amounts is 120190. Both hscodes refer to “SOYBEANS, WHETHER OR NOT BROKEN”.

Country gaps between BOL and MDIC, per HS6

Here the comparison of the top 20 destination countries (noting they have different definitions between the BOL and MDIC), per hs4 (so to make the visualization easier to read).

  • In the BOL, SINGAPORE no longer holds a high position for 1201. On the other hand, the decrease observed for CHINA (MAINLAND) is almost equivalent to the value that SINGAPORE had in 2024, suggesting that exports previously attributed to SINGAPORE are now being accounted for under CHINA.

  • In soy 2304 (230400)

  • The destination country “EUROPEAN UNION” appears as one of the largest countries, with ~775 k tonnes. For 1201 however, it does appear among the top 20.

SOY country gaps between BOL and MDIC by HS4

BEEF country gaps between BOL and MDIC by HS4

After padding

Currently two things are padded using MDIC as reference, for hs6’s present in BOL: * Exports to destination countries present in MDIC but not in BOL * Non-maritime exports (which are not captured in the BOL, but are present in MDIC)

Padded records have a boolean field padded = True, and a padding_type field indicating the type of padding (hs6 country padding or non-maritime padding).

HS4 tonnes comparison

HS6 tonnes comparison

Country gaps between BOL and MDIC, per HS6

SOY country gaps between BOL and MDIC by HS4

BEEF country gaps between BOL and MDIC by HS4