1. Introduction and Motivation
Many important trade policies (e.g., tariffs), as well as other policies that may impact international trade flows (e.g., technical barriers to trade (TBT), sanitary and phytosanitary standards (SPS), and maximum residue levels (MRL)), are designed and implemented at a very disaggregated level (e.g., 6-digit harmonized system (HS) level, which covers more than 5,000 categories). Moreover, much of the current policy debate is on the effects of non-discriminatory policies that are country-specific by definition (e.g., TBT, SPS, MRL). However, due to their country-specific nature, the effects of such policies cannot be identified in a properly specified econometric model that only includes international trade flows. A simple theory-consistent solution to identify the effect of non-discriminatory trade policies and of country-specific policies on international trade relative to domestic trade is to rely on domestic (along with international) trade flows (see Heid, Larch, and Yotov, Reference Heid, Larch and Yotov2021; Beverelli et al., Reference Beverelli, Keck, Larch and Yotov2023; and for a survey Yotov, Reference Yotov2022). However, available datasets that include international and domestic trade flows, such as the USITC’s ITPD-E (Larch, Shikher, and Yotov, Reference Larch, Shikher and Yotov2025b; Borchert et al., Reference Borchert, Larch, Shikher and Yotov2021) database or CEPII’s TradeProd (Mayer, Santoni, and Vicard, Reference Mayer, Santoni and Vicard2023) database, are relatively aggregated and do not match the product-level dimension of many trade policies.
To fill this gap, we capitalize on disaggregated data from Eurostat and we implement consistent concordance procedures to construct the GRANular Trade and Production Activities (GRANTPA) database.Footnote 1 Specifically, the sources that we relied on for the construction of the GRANTPA database are Eurostat’s Comext database, which we used for the bilateral trade data, and Eurostat’s Prodcom database, which we relied on for the production data.Footnote 2
Despite the genuine intent for the European international trade and production classifications (from Comext and Prodcom, respectively) to be internally consistent over time and also consistent with each other, each of the two databases and corresponding classifications have gone through several changes over time, and many of these changes were specific to each database and independent from each other (both over time and between Comext and Prodcom). Thus, our first and most demanding task was to construct separate internally consistent concordances for the international trade data and production data over time, and combine these into a single concordance. To this end, we capitalized on previous work by Van Beveren, Bernard, and Vandenbussche (Reference Van Beveren, Bernard and Vandenbussche2012) and Pierce and Schott (Reference Pierce and Schott2012a,b) and extended this to a broad set of countries (without the use of firm-level data).
The construction of the GRANTPA database necessitated four additional steps. First, we cleaned and prepared the raw trade and production datasets by eliminating duplicate observations and taking full advantage of the raw data (e.g., by using reported export values to replace corresponding missing import values). Second, we applied our new, consistent concordance to the international trade and production data. Third, we used the bilateral trade data to construct total exports at the country level for each product, country, and year in the data, and we combined these total exports with the corresponding production data to construct domestic trade as the difference between production and export values at the product–country–year level. Finally, we combined the bilateral trade flow data with the domestic trade data to construct the GRANTPA database.
The GRANTPA database covers international trade data for 3,124 products and 247 countries over the period 1995–2019, along with production and domestic trade data for the same number of products and years for 35 European economies, including the 28 EU member states plus Norway, Iceland, Turkey, Montenegro, Bosnia and Herzegovina, Serbia, and Macedonia.Footnote 3 We end up with 3,124 products, i.e., less than the over 5,000 6-digit HS categories, because the trade and production data are recorded using different product classification codes that do not fully correspond, i.e., not all product codes in the international trade data have a correspondence to product codes in the production data and vice versa. However, we also provide a version of the GRANTPA database that corresponds to the 6-digit HS level.
We demonstrate the usefulness of the GRANTPA database with an application to the workhorse model of trade – the gravity model. Specifically, we obtain estimates of several standard gravity variables, including distance, contiguity, common language, and international borders, and we benchmark our results against the large set of existing gravity estimates from the related literature. We draw three main conclusions about the usefulness of the GRANTPA database for gravity analysis.
First, the average estimates of the gravity variables that we obtain are comparable to the gravity estimates from the existing literature. Second, while it is possible to obtain gravity estimates of the effects of distance, contiguity, and common language with datasets that only include international trade, our ‘home bias’ effects can only be obtained with the use of domestic trade flows data, highlighting this important dimension of our data. The ‘home bias’ estimates that we obtain are large, positive, and statistically significant, which is consistent with the existing literature. However, we are not aware of ‘home-bias’ estimates at such a disaggregated level. Finally, the disaggregated estimates on all gravity variables in our model vary significantly across the products in the GRANTPA database. The implication is that more aggregated gravity analysis may mask significant heterogeneity, which may be important from a policy perspective. Accordingly, we see value in using the GRANTPA database to analyze the effects of various bilateral and country-specific policies.
The rest of the paper is structured as follows. Section 2 summarizes our concordance procedures, describes the raw data, and highlights key features of the resulting GRANTPA database. Section 3 provides a proof of concept by employing the GRANTPA database to obtain benchmark gravity estimates. Section 4 offers concluding remarks and points to directions for possible uses and improvements of the database.Footnote 4
2. Sources and Methods
This section briefly describes the methods used to construct and prepare the trade and production data used for the GRANTPA database (subsection 2.1), the sources for the raw data that we use (subsection 2.2), and the steps taken to combine the raw databases for constructing domestic trade and combining it with the international trade data (subsection 2.3). Subsection 2.3 concludes with a description of the main features, dimensions, and limitations of the GRANTPA database.Footnote 5
2.1 Concordance of Trade and Production Data
2.1.1 General Procedure
Despite the genuine intent of the European international trade and production classifications (from Comext and Prodcom, respectively) to be internally consistent over time and also consistent with each other, each of the two databases and corresponding classifications have gone through several changes over time, and many of these changes were specific to each database and independent from each other (both over time and between Comext and Prodcom). As a result, the most demanding task in the creation of the GRANTPA database was to construct a consistent concordance between the international trade and production datasets.
We note at the outset that we benefited from and expanded upon the methods from several related efforts to create such data concordances. Van Beveren, Bernard, and Vandenbussche (Reference Van Beveren, Bernard and Vandenbussche2012) (henceforth, VBBV) focus on the implications of changing product classifications using Belgian firms. Even though our focus is broader (i.e., we aim to construct a consistent trade and production database for Europe), we benefited tremendously from the guidance and concordances created by VBBV.Footnote 6 In addition, we implemented some of the algorithms provided by Pierce and Schott (Reference Pierce and Schott2012a,b) for concording the US Harmonized System codes over time and with the SIC/NAICS product classes and industries. Since the GRANTPA database includes many new/additional years (the concordances from VBBV end in 2010, whereas ours run through 2022) during which the underlying international and production databases and classifications have changed significantly, we had to address some new challenges (taking care of duplicates, including accession countries) and we utilized new concordance files extracted from Eurostat.
Following the aforementioned studies, we constructed our new concordance in three broad steps. Each of these steps is described in detail in the Technical Appendix.
First, we need internal consistency of the international trade data (from Comext) over time. The European international trade data at the product level from Comext is recorded according to the 8-digit Combined Nomenclature (CN8) classification. Table 1 illustrates the evolution of the 8-digit combined nomenclature classifications through 2022. Due to various changes in the product classification and the composition of products in the trade data (e.g., some products disappear while new products emerge), we needed to construct a common and consistent concordance for the products over time in order to have consistent international trade data, which are labeled CN8+. Therefore, the first step to ensure internal consistency over time is to create a variable that identifies each ‘family’ of codes, i.e., codes that are connected over consecutive years. Table 2 reports the number of obsolete and new codes in each year, the number of families, and the number of simple changes for the years in the trade data. For the many-to-many and one-to-many mappings between two years, we rely on a ‘feedback’ loop from Pierce and Schott (Reference Pierce and Schott2012b). An additional challenge arises because some product codes change in more than one year. Hence, we implement a procedure that ensures consistency over the whole coverage period of the database. The last step in the construction of the international trade data is to merge the concordance between CN8 and CN8+ with the trade data, taking care of the time variation and ‘many-to-one’, ‘one-to-many’, and ‘many-to-many’ cases, the latter making it necessary to aggregate/collapse the data.
Structure of the Combined Nomenclature (CN8) Classification (Extended)

Table 1 Long description
The table compares the number of Combined Nomenclature 8-digit (CN8) products and Harmonized System 6-digit (HS6) classifications from 1988 to 2022. CN8 products generally increased over the years, starting at 9506 in 1988 and reaching 9736 in 2022, with peaks in 1997 and 2017. HS6 classifications were recorded for select years, showing fluctuations with a peak of 5612 in 2022. Notable years for HS6 data include 1988, 1992, 1996, 2002, 2007, 2012, 2017, and 2022. The data suggests a trend of increasing product classifications over time, with specific years showing significant changes in HS6 numbers. The table highlights the evolving complexity and expansion of product classifications over the decades.
Note: All classification files are obtained from Eurostat Ramon server.
Changes in the Combined Nomenclature Classification Over Time: Extension

Table 2 Long description
This table measures the evolution of classification codes over time, focusing on obsolete codes, new codes, families, and simple changes from 1989 to 2022. Key years with substantial changes include 1996, 2002, 2007, 2012, and 2017, where both obsolete and new codes saw significant increases. The number of families and simple changes also peaked in these years, particularly in 1996 and 2007, indicating major revisions in classification. The data suggests periodic updates to the classification system, with varying degrees of change across different years. Interpretation should consider the context of revisions in HS6 codes and the source of data from Eurostat Ramon server.
Note: This table shows the number of obsolete and new codes for each year, as well as the number of families (shrinking, growing, or simple) and the number of simple changes (one-to-one). The effective year refers to the year in which the change becomes effective. HS6 codes have been revised in 1992, 1996, 2002, 2007, 2012, 2017 and 2022. The main changes in the combined nomenclature (CN8) classification over time are obtained from Eurostat Ramon server as shown in Van Beveren, Bernard and Vandenbussche (Reference Van Beveren, Bernard and Vandenbussche2012).
Second, we need consistent production data over time. We use Prodcom (Production Communautaire), which is a system used in the EU to compile statistics on the production of manufactured goods in member states. Production activities are reported at the 8-digit Prodcom level (PC8) on a monthly basis. The Prodcom declaration includes data on the physical volume and value of production sold for each product during the survey period. As highlighted by VBBV, the Prodcom list changes over time and hence we exclude codes that cannot be consistently tracked over time in the concordance. Table 3 reports the number of obsolete and new codes, the number of families, and the number of simple changes in each year of the production data. Furthermore, we focus on mandatory 8-digit Prodcom codes. To avoid double counting, we use a concordance procedure that flags aggregate codes and drops the corresponding disaggregated codes to achieve consistency. We align the Prodcom codes with CPA6 and NACE 4 classifications. As with the trade data, we need to ensure consistency over time. Furthermore, we have to align the production data with the refined PC8+ classification.
Changes in the Prodcom Classification Over Time: Extension

Table 3 Long description
The table tracks changes in the Prodcom classification from 1994 to 2021, detailing obsolete and new codes, family changes, and code entries and exits. The year 2008 experienced the most significant changes, with 4,396 obsolete codes and 3,864 new codes, alongside 3,651 family changes and 3,258 simple changes. In contrast, years like 1997, 2018, and 2020 saw no changes. Notably, 2003 and 2005 also had substantial changes, with 363 and 305 obsolete codes, respectively. The data highlights fluctuations in code changes over time, with some years showing stability and others marked by significant updates. The table provides insights into the dynamic nature of the Prodcom classification system, reflecting both stability and periods of extensive revision.
Note: This table shows the number of obsolete and new codes in each year, as well as the number of families (shrinking, growing, simple, entry or exit) and the number of simple changes (one-to-one). The effective year refers to the year in which the change became effective. Some PC8 codes are not covered throughout the whole sample period, resulting in new codes (entry) appearing on the list and old codes (exit) disappearing from the list. All changes in the PC8 classification over time are obtained from Eurostat Ramon server. Following closely Van Beveren, Bernard and Vandenbussche (Reference Van Beveren, Bernard and Vandenbussche2012), optional codes have been removed (or replaced by their mandatory aggregates) to ensure comparability over time and across countries.
Finally, we concord the international trade and production data. We use the PC8+ classification to bridge CN8 product codes (for international trade) and PC8 codes (for domestic production). As not all CN8 products are covered by the Prodcom list, we exclude them from the international trade data. However, some PC8 products are not covered by the CN8 classification. We drop some of these (industrial services) and recode others into their mandatory and aggregate counterparts to enable a PC8+ classification. Furthermore, we take care of the changing coverage of the Prodcom list over time. After this, we follow the concordance procedure outlined by VBBV, which consists of several steps. The first step deals with concording product classifications within a single year. The remaining steps focus on the actual implementation of these concordances in the international trade and production data, ensuring consistency and accuracy in the alignment between Comext and Prodcom.
2.1.2 An Alternative HS6+ Concordance
The preceding procedure is deliberately intended to exploit the high degree of granularity and fine disaggregation afforded by the PC8+ classification. Nevertheless, many recent trade-related policies (e.g., SPS or TBT measures) are often implemented at the 6-digit Harmonized System (HS6) level. As such, we also develop an HS6+ concordance, which aggregates both trade (CN8) and production (PC8) data to a consistent 6-digit HS classification over time.Footnote 7 In order to ensure internal consistency, we limit this alternative HS6+ dataset to relatively straightforward code mappings (i.e., simple or many-to-one). This inevitably means dropping some codes that have one-to-many or many-to-many mappings, but the resulting HS6+ database remains sufficiently comprehensive for policy analysis while maintaining temporal consistency and data integrity.
The construction of an HS6+ concordance follows closely the methodology laid out in VBBV, mirroring the PC8+ procedure described above. All CN8 codes in the international trade data are truncated to HS6, and any codes that do not map into a valid HS6 category are dropped. For the production data, we take the PC8-based Prodcom data, drop optional or aggregated codes that complicate mapping, and merge the remaining mandatory codes into HS6+ identifiers. Code pairs that fail to match (i.e., those involving one-to-many or many-to-many mappings) are excluded to ensure a unique product classification. We then merge trade and production at the HS6+ level at the country–year level, ensuring that each HS6+ code is uniquely represented. Table 4 summarizes the primary differences between the PC8+ and HS6+ procedures, including coverage, code structure, and how mappings are tracked over time.
Comparison of PC8+ and HS6+ procedure

Table 4 Long description
The table compares the PC8+ and HS6+ procedures in handling trade and production data, focusing on code granularity and aggregation. PC8+ retains 8-digit detail, while HS6+ truncates to 6 digits, leading to more aggregation. Both procedures use feedback loops for code identification and matching, but PC8+ offers finer granularity. In aggregation, PC8+ can preserve more detailed codes, whereas HS6+ systematically aggregates. Over time, both methods unify code changes, with PC8+ maintaining more detail. The key difference lies in the level of detail and aggregation, with PC8+ being more granular.
Note: Both procedures follow closely Van Beveren, Bernard and Vandenbussche (Reference Van Beveren, Bernard and Vandenbussche2012) framework for identifying code mappings (one-to-many, many-to-one, many-to-many, simple). For further details on HS6+ procedure see VBBV’s supplementary: “Concording trade and production data in a single year” and “Concording HS6 products over time”: Readme files.
The resulting HS6+ dataset involves two main compromises. First is the loss of granularity resulting from merging multiple PC8 codes into a single 6-digit code which may mask the finer product-level heterogeneity that may be critical for specific research questions. Second is the aforementioned need to drop codes that do not fit neatly into a single HS6 category due to one-to-many or many-to-many mappings. Fortunately, the net effect on coverage therefore remains modest and the HS6+ dataset retains most of the underlying information on export, import, and production values. This alternative dataset thus allows direct integration with widely available 6-digit policy data without sacrificing the time consistency of trade and production flows.
2.2 Raw Data and Sources
In this section, we briefly describe the raw trade and production data and the sources that we used to retrieve it. We provide further details in the Technical Appendix. The original database for our international trade data is Comext, which we extracted using Eurostat’s bulk download facility.Footnote 8 Comext has several dimensions which we capitalize on in the construction of the GRANTPA database. First, it records international trade values for countries within the EU as well as between EU and non-EU member countries. The group of destination and origin countries in the intra-EU and extra-EU declaration has changed over time due to changes in EU membership.Footnote 9 In addition, Comext records two flows for each pair of countries, e.g., exports from Austria to Bulgaria and imports in Bulgaria from Austria. We utilize this feature by replacing some missing values in one direction of the trade flows with the corresponding values in the other direction, which are not missing. Finally, Comext reports data on trade values and quantities. For the GRANTPA database, we use trade values. However, as described in the next section, we also use trade quantities to distinguish between missing values in the data versus true zero trade values.
Production data are only available for European countries. These data are downloadable from Eurostat’s bulk download facility as ‘Europroms’.Footnote 10 Due to changes in classifications over time, the production data must be downloaded separately for different periods. Similar to Comext, we capitalize on several dimensions of the Prodcom database. Specifically, in addition to the values of production at the product level, Prodcom reports quantities, which we use to distinguish between true zeroes versus missing production values when the latter values are not reported. In addition, Prodcom classifies some values as confidential (C:). Those have to be treated as missing values. Finally, Prodcom includes data on the value of total exports, which we use where available to construct domestic trade flows – i.e., the difference between total production and exports – for each country, year, and product in our sample.Footnote 11
2.3 The GRANTPA Database: Construction and Coverage
In this subsection, we deploy the raw trade and production data that we described in subsection 2.2, and we use the concordances that we created in subsection 2.1 to construct the GRANTPA database. We proceed in five steps. We start with a description of the additional steps that we took to prepare the raw trade database (step 1) and raw production database (step 2) for merging them with each other. Then, in step 3, we apply the concordances to the trade and production databases. In step 4, we combine total product-level exports and production values for each country and year in our sample to construct domestic trade. Finally, in step 5, we combine the international and domestic trade data to construct the GRANTPA database. We conclude with a description of the main features, dimensions, and limitations of the GRANTPA database, and we flag alternative subsets of the data based on country coverage.Footnote 12
Step 1: Prepare the international trade data. The international trade data from Comext has several dimensions (e.g., intra-EU trade versus extra-EU trade and imports versus exports), which we strive to exploit to the fullest in our processing of the raw data.
We eliminate any duplicate observations, which could appear due to double reporting or because of the letter codes (T-,Q-,V-,E-). We focus on import values from Comext as our main trade variable. Thus, if Comext provides data on both exports from Germany to France and imports to France from Germany for a particular product, we use the reported imports as our measure of trade. The reason for selecting imports is that, by definition, the reported import values include trade costs (e.g., cost, insurance, and freight (CIF)). This is consistent with trade/gravity theory, which is derived at delivered prices. Furthermore, for non-intra-EU trade, importer reported data are typically considered to be more reliable, as they are based on custom statistics.
Even though we rely on imports as our main variable, we also take advantage of some of the information contained in the reported export values. For example, if data on product-level imports for a given pair are not reported or zero, we replace these import values with their trading partner’s corresponding (non-zero or non-missing) exports. Processing the Comext data in this manner yields an unbalanced product-level bilateral trade variable for trade between each of the European countries and all other countries in the world, including the European countries themselves.
Step 2: Prepare the production data. We need the production data (in combination with total exports) to calculate domestic trade flows. To construct product-level production for the years and countries in our sample, we take advantage of several dimensions of the Prodcom database. Similar to the trade data, we first eliminate duplicate production-value observations, which could appear due to double reporting or because of the letter codes (T-,Q-,V-,E-). Then, we select the reported product-level values of production for each country and year as our main production value variable. We take advantage of the fact that Prodcom reports quantities as well as values by making sure that we treat missing production values as true missing values (as opposed to zeros) when the corresponding reported quantities are not missing. Finally, we also make sure that we treat missing production values as true missing values when Prodcom includes a corresponding code for confidential data. The outcome of this step is an unbalanced production value variable for each product, country, and year in our sample.
Step 3: Add concordances to the trade and production data. We use the concordances described in subsection 2.1 to make sure that the trade and production data are consistently classified. We apply the concordances to the bilateral trade data, the total exports data, and the production values data. As expected, due to the presence of one-to-many, many-to-one, and many-to-many combinations, we have to aggregate some of the product categories in each of the datasets, so that the product classification is unique and common across the trade and production datasets.
Step 4: Construct domestic trade. In this step, we combine the data on total product-level exports and product-level production values for each country and year in our sample, and we construct domestic sales as the difference between total production and total exports. For consistency, we first use the total exports data that is reported in Prodcom. In addition, we also use the Comext trade data to create total exports when those are missing in Prodcom. To construct total exports based on Comext, we use positive bilateral import data to replace corresponding missing or zero bilateral export values.Footnote 13 Next, we sum all bilateral exports for each year and country. Importantly, we utilize the fact that Comext includes trade between each of the European economies and all other countries in the world.Footnote 14
Step 5: Construct the GRANTPA database. In this step, we construct the full and final version of the GRANTPA database. To this end, we combine the bilateral trade data that we constructed in Step 3 with the domestic trade data that we constructed in Step 4.
After all these steps, we arrive at our final product, the GRANTPA database. The GRANTPA database covers 247 countries and 3,124 products over the period 1995–2019. Our Technical Appendix includes the list of all countries in the GRANTPA database, while a list of the products that are covered in the GRANTPA database, along with the corresponding codes from Comext and Prodcom. The GRANTPA database includes the following variables: (i) ‘exporter’ is a 3-letter ISO code for each exporter; (ii) ‘importer’ is a 3-letter ISO code for each importer; (iii) ‘year’ captures the year when trade took place; and (iv) ‘product’ is a numeric product code which is unique to the GRANTPA database (a complete concordance file, which includes product IDs,Footnote 15 product names, and the corresponding codes from Comext and Prodcom); (v) ‘trade’ denotes nominal (domestic and international) trade values in thousands of Euros;Footnote 16 finally, (vi) ‘flag’ is an indicator variable that takes a value of 1 for the countries (and years) for which the database includes domestic trade data and 0 otherwise.
As discussed earlier, we also construct a version of the GRANTPA database at the HS6+ level, 1995–2019, which covers trade values at a time-consistent HS6 level for 2,406 ‘product’ categories, some of which have been aggregated to hs6_plus to handle classification splits. Furthermore, the GRANTPA HS6+ alternative includes 244 reporting and partner countries. Within the data, 35 European economies report both international trade and domestic trade, identified by a dedicated variable “flag”. Each observation is sorted by year, exporter_iso3, importer_iso3, and a product_id that maps to a synthetic HS6+ code, ensuring that products remain comparable over time despite nomenclature changes.Footnote 17 In addition, it includes the HS2 and HS4 equivalent codes to provide intermediate groupings of the HS classification, while an ‘hs6_synthetic’ indicator distinguishes between ‘pure’ HS6 categories and the “synthetic” codes that link split or merged lines generated from VBBV.
We conclude this section by discussing select limitations of the GRANTPA database and the alternative HS6+ database. First, both the main (PC8+) and HS6+ versions of the GRANTPA database cover bilateral trade between 35 European economies and all other countries in the world. However, it should be noted that (i) neither version includes trade between non-European countries, and (ii) the domestic trade data are available exclusively for European countries for which we have total trade and production data, i.e., no domestic trade data are available for non-European economies, and domestic trade data may even be missing for some European countries (e.g., late EU joiners). To help users who may want to limit their sample and corresponding analysis to only countries for which there is consistent international and domestic trade data, the GRANTPA database includes a ‘flag’ variable to denote the country–year combinations for which domestic trade data are available. Meanwhile, a limitation that is specific to the HS6+ version of GRANTPA is that it cannot/should not be aggregated by summing up individual HS6 categories as it does not provide comprehensive data coverage on account of excluding complex mappings.Footnote 18
3. Gravity with GRANTPA: A Proof of Concept
The objective of this section is to deploy our new GRANTPA database in an application as a proof of concept. To this end, we selected a ‘gravity’ application for two main reasons. First, the main motivation for constructing the GRANTPA database was that it could be employed for disaggregated gravity analysis at the product level. Second, the gravity model is the workhorse model of trade and, as such, it has been employed in thousands of papers that study various determinants of trade flows. Thus, we can rely on a large set of existing gravity estimates against which we can benchmark our new results to establish the representativeness and credibility of the GRANTPA database. We proceed in three steps. First, we combine the GRANTPA database with some existing gravity datasets. Then, we specify our estimating gravity model. Finally, we obtain and interpret our results.
The first gravity database that we combine with our GRANTPA database is the US International Trade Commission’s Dynamic Gravity Database (DGD), which is created and maintained by Gurevich and Herman (Reference Gurevich and Herman2018). We use the DGD to obtain the covariates for bilateral distance and contiguity. In addition, we rely on The Domestic and International Common Language (DICL) database of Gurevich et al. (Reference Gurevich, Herman, Toubal and Yotov2024) to obtain a variable for common language. We rely on the DICL dataset because it includes a continuous variable for common international language, which, as demonstrated by Gurevich et al. (Reference Gurevich, Herman, Toubal and Yotov2021), dominates the use of a dummy variable for common language, which is the standard approach in the literature. Finally, we construct a dummy variable that takes a value of 1 for domestic trade and is equal to 0 otherwise. The estimates of this variable will reflect the effects of forces that drive a wedge between domestic and international trade, which are referred to in the literature as ‘home bias’ effects. Identifying such effects is not possible without the availability of domestic trade data,– one of the core attributes of the GRANTPA database and one of the main motivations for its construction.
Capitalizing on some of the current gravity estimation techniques, as summarized by Larch, Shikher, and Yotov (Reference Larch, Shikher and Yotov2025a), we specify the following simple gravity model
\begin{align}
X_{ij,t}^k &= \exp [\gamma _1^kDIS{T_{ij}} + \gamma _2^kCNT{G_{ij}} + \gamma _3^kLAN{G_{ij}}] \nonumber\\
&\quad \times \exp [\gamma _4^kSMCTR{Y_{ij}} + \psi _{i,t}^k + \phi _{j,t}^k] \times \varepsilon _{ij,t}^k \end{align} Here,
$X_{ij,t}^k$ denotes the nominal exports (at delivered prices) of product
$k$ from exporter
$i$ to destination
$j$ at time
$t$ where
$\psi _{i,t}^k$ and
$\phi _{j,t}^k$ are exporter-time and importer-time fixed effects, and
$\varepsilon _{ij,t}^k$ denotes a multiplicative error term.Footnote 19 Following Santos Silva and Tenreyro (Reference Santos Silva and Tenreyro2006), we estimate equation (1) using the Poisson Pseudo Maximum Likelihood (PPML) estimator,Footnote 20 which accounts for potential heteroskedasticity issues inherent to trade data and enables us to take advantage of the information that is contained in the zero trade flows in the GRANTPA database. The gravity covariates in equation (1) include the logarithm of the bilateral distance between the trading partners
$(DIS{T_{ij}})$ and indicator variables for the presence of contiguous borders
$(CNT{G_{ij}})$, common official language
$(LAN{G_{ij}})$, and domestic vs. international trade
$(SMCTR{Y_{ij}})$. Finally, following the literature, we cluster the standard errors by country–pair.
We rely on specification (1) to obtain a set of gravity estimates for each of the 3,124 products in the GRANTPA database.Footnote 21 Due to the large number of estimates, we report them, along with their corresponding confidence intervals, in Figure 1. For clarity of exposition (due to the presence of outliers), we do not include the largest and smallest 5% of point estimates for each of the gravity variables in our model. In addition, we drop the top and bottom five product-level estimates with the widest confidence intervals. The four panels of Figure 1 report the estimates for each of the four gravity variables in our model and, in each case, we have ordered them from smallest to largest.
Gravity estimates with the GRANTPA database, 1995–2019.

Figure 1 Long description
The image contains four graphs labeled A, B, C and D. Graph A shows 'Distance Estimates' with the x-axis labeled 'Coefficient Rank' and the y-axis labeled 'Distance Estimates'. Graph B shows 'Contiguity Estimates' with the x-axis labeled 'Coefficient Rank' and the y-axis labeled 'Contiguity Estimates'. Graph C shows 'Common Language Estimates' with the x-axis labeled 'Coefficient Rank' and the y-axis labeled 'Common Language Estimates'. Graph D shows 'Home Bias Estimates' with the x-axis labeled 'Coefficient Rank' and the y-axis labeled 'Home Bias Estimates'. Each graph includes lines for 'Estimate', 'Lower 95 percent CI' and 'Upper 95 percent CI'. The x-axis for all graphs ranges from 150 to 3100. The notes below explain that the figure reports estimates with confidence intervals for four gravity variables using the GRANTPA database, with each panel representing different effects: bilateral distance, contiguous borders, common language and home bias.
Panel A of Figure 1 reports the results for distance, the most widely used and robust gravity covariate. The main conclusions that we draw from this figure are threefold. First, most of the estimates (about 94%) of the effects of distance on product-level trade are negative and statistically significant, which is consistent with the voluminous gravity literature. Second, in terms of magnitude, the average of the distance estimates is –0.769 (std.dev. 0.618), which is also readily comparable with the vast majority of the distance estimates from the existing literature. Third, the estimates of the effects of distance are quite heterogeneous across the products covered by the GRANTPA database. This is important for the current purposes because the wide variation in the estimates of the distance effects that we obtain suggests that more aggregate gravity estimates mask significant heterogeneity, which may be very important from a policy perspective.
Without going into too much detail, we note that the estimates on contiguity and common international language are both mostly positive and statistically significant. Specifically, 78% of the estimates of the effects of contiguity that we obtain are positive and most of them are statistically significant. Similarly, 80% of the estimates of the effects of common language are positive and, once again, most of them are statistically significant. These results are also consistent with findings from the existing literature and imply that sharing a common border and speaking the same language promote international trade. In terms of magnitude, the average estimates on common borders (0.316, std.dev. 1.174) and common language (0.876, std.dev. 2.572) are also very similar to corresponding estimates from the existing literature. In addition, we observe very heterogeneous estimates for these two variables, thus reinforcing the argument for using disaggregated data for gravity estimations.
Finally, we turn to the estimates on the
$SMCTRY$ variable, which are reported in Panel D of Figure 1. Importantly, these estimates can only be identified due to the domestic trade dimension of the GRANTPA database. As expected, most of the
$SMCTRY$ estimates (more than 90%) that we obtained are positive, and most of them are statistically significant. This result, sometimes dubbed as the ‘home bias’ effect, is well-established in the gravity literature and reflects the fact that ceteris paribus, most sales are domestic. What is novel, however, is that for the first time in the literature, we confirm this result with very disaggregated data. In terms of magnitude, the average estimate on
$SMCTRY$ that we obtain is 1.741 (std.dev. 1.513), and it implies that ceteris paribus domestic trade is about 4–5 times larger than international trade. We find this implication plausible, and it is comparable to recent estimates from the gravity literature.
Finally, and similar to the estimates on the other gravity variables, we observe very wide heterogeneity in the ‘home bias’ effects at the product level. We believe that exploring this heterogeneity further, e.g., investigating its drivers or variation across countries, etc., could be very interesting and important from a policy perspective. Similarly, we know that our gravity specification can be improved and extended to include several other important determinants of trade flows, e.g., various bilateral as well as country-specific trade policies. However, since our current purposes are simply to demonstrate the usefulness and applicability of the GRANTPA database for gravity estimations, we leave this type of more detailed analysis for future work.
4. Conclusion
This paper introduced The Granular Trade and Production Activities (GRANTPA) database, which covers international trade data for 3,124 products and 247 countries over the period 1995–2019 and production and domestic trade data for the same number of products and years for 35 European economies. After describing the methods that we employed to construct the GRANTPA database, we demonstrated its usefulness with a gravity application that delivers estimates of several standard gravity variables. We draw two main conclusions about the usefulness of GRANTPA based on this gravity analysis. First, the average estimates that we obtain on each of the standard gravity variables in our econometric model are comparable to the gravity estimates from the existing literature. This reveals that the GRANTPA database is representative in the sense that it captures and reflects the gravity forces that have already been established to shape international (and domestic) trade flows. An alternative interpretation is that gravity works at the very disaggregated level. Second, the disaggregated estimates of all gravity variables in our model vary widely across the products in the GRANTPA database. Consistent with the main motivation for constructing the GRANTPA database, the implication for our database is that more aggregated gravity analysis masks significant heterogeneity, which may be very important from a policy perspective. Accordingly, we expect that the GRANTPA database will be useful for analyzing the effects of various bilateral and country-specific policies.
The norm is that trade theory and trade policy are done in a general equilibrium (GE), e.g., a bilateral free trade agreement or a tariff war between two countries, which may have significant implications for other countries that are not part of the agreement or the tariff war. Proper GE analysis requires consistent trade and production data, and we are aware of some excellent databases that can be used for GE analysis, e.g., Timmer et al. (Reference Timmer, Dietzenbacher, Los, Stehrer and De Vries2015) (WIOD), OECD (2023) (ICIO), and Aguiar et al. (Reference Aguiar, Chepeliev, Corong, McDougall and van der Mensbrugghe2019) (GTAP) database. However, all existing GE datasets are relatively aggregated (e.g., covering around 50 sectors). As demonstrated, the GRANTPA database can be used to obtain product-level estimates. In terms of GE analysis, we are aware that the GRANTPA database only covers a limited number of countries and that the data is heavily unbalanced. Hence, for future research, we may harmonize and expand the non-EU countries’ trade and production data and expand the scope of the database.
Supplementary material
The supplementary material for this article can be found at https://doi.org/10.1017/S1474745625101365.
Acknowledgements
We are very grateful to the Eurostat team for research support and clarifications concerning Prodcom codes, combined nomenclature classifications, and complementary concordance files provided by Erlend Firth and Laia Guinovart. This paper expresses the authors’ views solely, and Eurostat or any institution is not responsible for any errors. We are grateful to Andrew Bernard, Ilke Van Beveren, and Hylke Vandenbussche for providing an earlier version of this concordance and for sharing the corresponding codes. We also thank David Zenz for his guidance in retrieving the production of manufactured goods database.
Data Availability Statement
The data referred to in this study are available in Harvard Dataverse at https://doi.org/10.7910/DVN/EQMUBE. To access the GRANTPA database, please e-mail us at grantpadatabase@gmail.com.