Author: gvcAnalyzer Package
Date: 2025-12-02

# Trade vs Output Perspectives: Comparing BM 2023 and BM 2025

#### gvcAnalyzer Package

#### 2025-12-02

# 1 Introduction

The gvcAnalyzer package implements two complementary frameworks for measuring global value chain (GVC) participation:

1. Trade-Based (BM 2025 Trade): Decomposition of gross exports.

2. Output-Based (BM 2025 Output): Decomposition of gross production.

This vignette compares these approaches, demonstrating when each measure is most appropriate and how they provide complementary insights into GVC integration.

## 1.1 References

Borin, A., & Mancini, M. (2023). Measuring What Matters in Global Value Chains and Value-Added Trade. Journal of International Economics.

Borin, A., & Mancini, M. (2025). Measuring What Matters in Value-Added Trade: An Output-Based Approach. Working Paper.

# 2 Conceptual Framework

## 2.1 Trade-Based Approach (BM 2025 Tripartite)

The trade-based framework decomposes gross exports from country s to country r into GVC components:

- DAVAX: Traditional trade (domestic value added absorbed abroad in one crossing)

- GVC_PF: Pure-forward GVC (domestic value added re-exported by the partner)

- GVC_TS: Two-sided GVC (both foreign inputs and re-export linkages)

- GVC_PB: Pure-backward GVC (foreign value added in exports)

Key feature: Measures how much of a country’s exports participate in GVCs.

## 2.2 Output-Based Approach (BM 2025 Output)

The output-based framework decomposes gross output of country s into production components:

- DomX: Purely domestic production (value never crossing borders)

- TradX: Traditional one-crossing trade

- GVC_PF_X: Pure-forward GVC-related output

- GVC_TS_X: Two-sided GVC-related output

- GVC_PB_X: Pure-backward GVC-related output

Key feature: Measures how much of a country’s production is GVC-related, regardless of export destination.

## 2.3 Fundamental Differences

Dimension | Trade-Based | Output-Based
--- | --- | ---
Unit of analysis | Gross exports | Gross output
Focus | Border-crossing flows | Production structure
Scope | Export transactions | Total production
Captures | Export intensity in GVCs | Comprehensive GVC involvement
Best for | Trade policy analysis | Industrial policy analysis

# 3 Empirical Comparison

## 3.1 Data and Setup

    io <- bm_build_io(
      Z = bm_toy_Z,
      Y = bm_toy_Y,
      VA = bm_toy_VA,
      X = bm_toy_X,
      countries = bm_toy_countries,
      sectors = bm_toy_sectors
    )

## 3.2 Computing Both Frameworks

### 3.2.1 Trade-Based Measures

    trade_meas <- bm_2025_trade_measures(io)
    trade_meas[, c("exporter", "share_GVC_trade", "share_PF_trade",
                   "share_TS_trade", "share_PB_trade", "forward_trade")]
    #>   exporter share_GVC_trade share_PF_trade share_TS_trade share_PB_trade
    #> 1    China       0.1756661      0.1984122     0.03284796      0.7687398
    #> 2    India       0.1785146      0.1811235     0.03352451      0.7853519
    #> 3    Japan       0.1837284      0.3156778     0.04722529      0.6370969
    #> 4      ROW       0.1904535      0.8021454     0.03153766      0.1663169
    #>   forward_trade
    #> 1    -0.5703276
    #> 2    -0.6042284
    #> 3    -0.3214191
    #> 4     0.6358285

### 3.2.2 Output-Based Measures

    out_meas <- bm_2025_output_measures(io)
    out_meas[, c("country", "share_GVC_output", "share_PF_output",
                 "share_TS_output", "share_PB_output", "forward_output")]
    #>   country share_GVC_output share_PF_output share_TS_output share_PB_output
    #> 1   China       0.06660911      0.03561645       0.8717403      0.09264324
    #> 2   India       0.08629724      0.03848983       0.8508079      0.11070228
    #> 3   Japan       0.07617141      0.06569826       0.8458922      0.08840956
    #> 4     ROW       0.02552628      0.14810774       0.7660051      0.08588719
    #>   forward_output
    #> 1    -0.05702680
    #> 2    -0.07221245
    #> 3    -0.02271129
    #> 4     0.06222055

## 3.3 Direct Comparison

To compare the two frameworks, we merge the key indicators:

    # Standardize column names
    trade_meas$country <- trade_meas$exporter

    comparison <- merge(
      trade_meas[, c("country", "share_GVC_trade", "forward_trade")],
      out_meas[, c("country", "share_GVC_output", "forward_output")],
      by = "country"
    )

    comparison
    #>   country share_GVC_trade forward_trade share_GVC_output forward_output
    #> 1   China       0.1756661    -0.5703276       0.06660911    -0.05702680
    #> 2   India       0.1785146    -0.6042284       0.08629724    -0.07221245
    #> 3   Japan       0.1837284    -0.3214191       0.07617141    -0.02271129
    #> 4     ROW       0.1904535     0.6358285       0.02552628     0.06222055

### 3.3.1 Interpretation

- share_GVC_trade: Share of exports in GVCs

- share_GVC_output: Share of production in GVCs

- forward_trade: Export-based forward orientation (positive = upstream supplier)

- forward_output: Production-based forward orientation

# 4 Visualization

## 4.1 GVC Participation: Trade vs Output

    oldpar <- par(mar = c(5, 5, 3, 2))

    plot(
      comparison$share_GVC_trade,
      comparison$share_GVC_output,
      pch = 19,
      col = "darkblue",
      cex = 1.5,
      xlab = "GVC Share of Exports (Trade)",
      ylab = "GVC Share of Output (Output)",
      main = "Trade-Based vs Output-Based GVC Participation",
      xlim = c(0, max(comparison$share_GVC_trade, comparison$share_GVC_output, na.rm = TRUE) * 1.1),
      ylim = c(0, max(comparison$share_GVC_trade, comparison$share_GVC_output, na.rm = TRUE) * 1.1)
    )

    text(
      comparison$share_GVC_trade,
      comparison$share_GVC_output,
      labels = comparison$country,
      pos = 3,
      cex = 0.8
    )

    abline(a = 0, b = 1, lty = 2, col = "gray", lwd = 2)

    grid()

    par(oldpar)

## 4.2 Forward Orientation: Trade vs Output

    oldpar <- par(mar = c(5, 5, 3, 2))

    plot(
      comparison$forward_trade,
      comparison$forward_output,
      pch = 19,
      col = "darkgreen",
      cex = 1.5,
      xlab = "Forward Index - Exports",
      ylab = "Forward Index - Output",
      main = "Forward Orientation: Trade vs Production Perspective",
      xlim = c(-1, 1),
      ylim = c(-1, 1)
    )

    text(
      comparison$forward_trade,
      comparison$forward_output,
      labels = comparison$country,
      pos = 3,
      cex = 0.8
    )

    abline(h = 0, v = 0, lty = 2, col = "gray")

    abline(a = 0, b = 1, lty = 2, col = "red", lwd = 2)

    grid()

    par(oldpar)

# 5 Summary

This vignette demonstrated the complementarity of trade-based and output-based GVC measures.

- Trade-based measures are ideal for export competitiveness and trade policy.

- Output-based measures are ideal for industrial policy and sectoral analysis.

- Both together provide the most comprehensive assessment of GVC integration.

For robust empirical research on global value chains, we recommend computing both frameworks and interpreting results in light of their complementary strengths.

# 6 Session Information

    sessionInfo()
    #> R version 4.5.1 (2025-06-13)
    #> Platform: aarch64-apple-darwin20
    #> Running under: macOS Sequoia 15.6
    #>
    #> Matrix products: default
    #> BLAS:   /Library/Frameworks/R.framework/Versions/4.5-arm64/Resources/lib/libRblas.0.dylib
    #> LAPACK: /Library/Frameworks/R.framework/Versions/4.5-arm64/Resources/lib/libRlapack.dylib;  LAPACK version 3.12.1
    #>
    #> locale:
    #> [1] C/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
    #>
    #> time zone: Asia/Tokyo
    #> tzcode source: internal
    #>
    #> attached base packages:
    #> [1] stats     graphics  grDevices utils     datasets  methods   base
    #>
    #> other attached packages:
    #> [1] gvcAnalyzer_0.1.1
    #>
    #> loaded via a namespace (and not attached):
    #>  [1] digest_0.6.38     R6_2.6.1          fastmap_1.2.0     Matrix_1.7-4
    #>  [5] xfun_0.54         lattice_0.22-7    cachem_1.1.0      knitr_1.50
    #>  [9] htmltools_0.5.8.1 rmarkdown_2.30    lifecycle_1.0.4   cli_3.6.5
    #> [13] grid_4.5.1        sass_0.4.10       jquerylib_0.1.4   compiler_4.5.1
    #> [17] rstudioapi_0.17.1 tools_4.5.1       evaluate_1.0.5    bslib_0.9.0
    #> [21] yaml_2.3.10       rlang_1.1.6       jsonlite_2.0.0