This is an R Markdown document investigating the need for additional soybean in Argentina to solve the SEI-PCS model 1.1 (which could be seen as stock + imports), where this additional soybean might be needed and what its magnitude might be between 2015 and 2019.
This investigation follows initial results of Argentina soy SEI-PCS (v.1.1) where production could not meet demand in Rosario. As a fix, we have implemented an “infinite bucket” solution to allow the allocation step to solve We can then compare the magnitude of that depleted bucket with our predicted storage + import information.
In a first step, we look at the soybean balance as Production + Imports - Domestic Demand - Exports and then compare to the amount of soybean needed for the allocation step. Then we look specifically at some ports to see if we can apply the infinite bucket method in those areas: Rosario, San Lorenzo and Quequen ports in particular.
We calculate the balance as:
\(Soybean ~balance = Production + Imports - Demand - Exports\)
Where all variables are in soybean equivalents (e.g. demand and exports include respectively soy cake and soy cake + oil converted into soybean equivalents through the equivalence factors). Production data is from GLAD, Imports from the FAO, Demand is estimated and Exports are from the Customs Declarations.
## YEAR PROD_TONS SOY_IMPORTS SOY_DEMAND_TONS SOY_EXPORTS BALANCE
## 1 2015 62306159 566 6302466 69565973 -13561715
## 2 2016 56123337 853849 6225864 67548476 -16797154
## 3 2017 56405478 1897831 5958253 63566244 -11221189
## 4 2018 36105845 6443248 6477214 45342446 -9270567
## 5 2019 53294539 4547682 6349398 71199859 -19707036
FAOSTAT data provides opening stocks of soybean in Argentina at (as unofficial figures) and stock variations:
These are not idle stocks, but likely some “backed up” soybean that hasn’t been crushed yet.
We estimate the crushing capacity using the values obtained by CIARA (and published in JJ Hinrichsen, but available on the CIARA website http://ciaracec.com.ar/ciara). This data is also estimated by the FAO.
CIARA data provides a theoretical maximum daily crushing capacity. If we use this value as the theoretical total, we obtain:
The CIARA values are the total crushing capacity considering all crops (soy, sunflower, peanut, linen, cotton, safflower and rapeseed).
According to CIARA, the crush utilization rates are 71% (2014/15), 76% (2015/16), 71% (2016/17), 64% (2017/18), and 72% in (2018/19). We can apply some corrections between the theoretical crush of CIARA and the reported crush from CIARA:
This means that the difference between soybean production + imports and estimating crushing in any given year is:
The surplus represents the additional soy bean available in the country which can be compared to soybean exports in a given year to then estimate the actual stock of beans in the country:
We then compare these numbers to the soybean balance predicted by the SEI-PCS allocation step using the “infinite bucket” method
The allocation step in SEI-PCS v.1.1. uses an “infinite bucket” which can be used to ensure that export demands are met. In this first test, we check the size of this bucket (or amount of extra soybean) used by the allocation step and compare to official numbers.
We first compare to the soy balance estimated as Production + Imports - Domestic Demand - Exports
## YEAR BALANCE SEI_PCS_SOY_NEEDS DIFF
## 1 2015 -13561715 9808023 23369738
## 2 2016 -16797154 14026814 30823968
## 3 2017 -11221189 8927301 20148490
## 4 2018 -9270567 11608333 20878900
## 5 2019 -19707036 18821422 38528458
The above is the expected stock from bean and oil + cake as needed for the allocation step (SEI-PCS_SOY_NEEDS) and the predictions from Production + Imports - Domestic Demand - Exports in soybean equivalents.
If we look at differences between bean and oil + cake we see the following differences, starting with bean.
We can compare these values to what we predicted would be available nationally:
## YEAR STOCK_TYPE PROD_TONS SOY_IMPORTS CRUSHING_CAP BEAN_EXPORTS
## 1 2015 BEAN 62306159 566 52661178 27028102
## 2 2016 BEAN 56123337 853849 57086073 20999183
## 3 2017 BEAN 56405478 1897831 54632032 22837652
## 4 2018 BEAN 36105845 6443248 48656653 11308183
## 5 2019 BEAN 53294539 4547682 54086138 28922830
## BEAN_SEIPCS_TONS_STOCK BEAN_TONS_BALANCE
## 1 1806340 -17382555
## 2 313399 -21108071
## 3 500686 -19166375
## 4 499520 -17415743
## 5 1056314 -25166748
I am still not 100% sure what to make of these numbers:
I find it reassuring that the need for beans in the allocation step does not overly exceed the expected stock, but the variations across years is a little worrying. The crushing capacity (or processed bean) reported by the FAO is slightly lower than what is reported above (estimated using CIARA) with about 1-2 Mtons lower values reports and the amount of soybean needed to meet export demand does not exceed 2 Mtonnes, given the possible error in the estimates (production, crushing, etc.) this is acceptable.
Important factors to consider in these calculations:
We then look at the size of the “SEI-PCS bucket” to meet the soy demand needs for both oil and cake:
## YEAR STOCK_TYPE PROD_TONS SOY_IMPORTS CRUSHING_CAP OIL_CAKE_EXPORTS
## 1 2015 OIL_CAKE 62306159 566 52661178 42537871
## 2 2016 OIL_CAKE 56123337 853849 57086073 46549292
## 3 2017 OIL_CAKE 56405478 1897831 54632032 40728593
## 4 2018 OIL_CAKE 36105845 6443248 48656653 34034263
## 5 2019 OIL_CAKE 53294539 4547682 54086138 42277028
## SOY_DEMAND_TONS OIL_CAKE_SEIPCS_TONS_STOCK OIL_CAKE_TONS_BALANCE
## 1 6302466 8001683 13466387
## 2 6225864 13713415 4202029
## 3 5958253 8426615 11616463
## 4 6477214 11108813 2037616
## 5 6349398 17765108 9215794
Additional soybean is required in the provinces of Buenos Aires and Santa Fe mainly (with the exception of Pampa in 2019, but closely related to Buenos Aires through Siogranos zone 2).
First we show the sources for BEAN (focusing on the Zone of origin as identified through the SEI-PCS method):
Then the sources for OIL AND CAKE:
We look at the Siogranos grain movement from zones to ports to better understand the issues identified in the allocation step at:
These are common port zones where soybean demand exceed production (as seen above)
First, let’s compare the crushing capacity and the Siogranos grain movement to the ports of interest. We add about 10% to the volume of Siogranos (arbitrarily) to make up any missing volume that couldn’t be attributed during pre-processing of the Siogranos data.
## # A tibble: 18 x 6
## # Groups: YEAR [6]
## YEAR ZONE_DESTINATION SIOGRANOS_TONS CRUSH_CAPACITY_TONS SIOGRANOS_TONS_CORR
## <dbl> <chr> <dbl> <dbl> <dbl>
## 1 2015 ROSARIO S 5365328. 5677575 5901861.
## 2 2016 ROSARIO S 3947178. 6142950 4341896.
## 3 2017 ROSARIO S 4299987. 5956800 4729986.
## 4 2018 ROSARIO S 2364356. 5305275 2600792.
## 5 2019 ROSARIO S 4028229. 5677575 4431052.
## 6 2020 ROSARIO S 2779130. NA 3057043.
## 7 2015 ROSARIO N 16768165. 35145302. 18444982.
## 8 2016 ROSARIO N 13944341. 38074245 15338775.
## 9 2017 ROSARIO N 11670185. 36873760 12837204.
## 10 2018 ROSARIO N 9617831. 32840692. 10579614.
## 11 2019 ROSARIO N 17761394. 37371802. 19537533.
## 12 2020 ROSARIO N 8575769. NA 9433345.
## 13 2015 QUEQUEN 2009501. 445300 2210452.
## 14 2016 QUEQUEN 1660862. 481800 1826948.
## 15 2017 QUEQUEN 1181846. 467200 1300031.
## 16 2018 QUEQUEN 673899. 416100 741289.
## 17 2019 QUEQUEN 1299873. 445300 1429860.
## 18 2020 QUEQUEN 529818. NA 582800.
## # ... with 1 more variable: DIFF <dbl>
In the above table DIFF refers to the differences between the zone’s crushing capacity (CRUSH_CAPACITY_TONS) and the volume of soybean arriving in the zone (SIOGRANOS_TONS_CORR).
So the estimated crushing capacity at Rosario generally exceeds the amount of soybean received at the ports (from our data). There is more discrepancy between soybean grain arriving in Quequen and the crushing capacity because grain is generally exported at Necochea (not oil or cake).
We then compare Siogranos grain movement to the region to total exports from both zones with customs office Rosario (Rosario S), San Lorenzo (Rosario N) and Villa Constitución (Rosario S).
## YEAR ZONE_DESTINATION TONS_EXPORT CRUSH_CAPACITY_TONS SIOGRANOS_TONS_CORR
## 1 2015 ROSARIO S 4995635.62 5677575 5901860.6
## 2 2016 ROSARIO S 6196458.62 6142950 4341896.1
## 3 2017 ROSARIO S 5664491.02 5956800 4729985.7
## 4 2018 ROSARIO S 3641113.27 5305275 2600791.7
## 5 2019 ROSARIO S 5049691.73 5677575 4431051.7
## 6 2015 ROSARIO N 35081994.54 35145303 18444982.0
## 7 2016 ROSARIO N 36694040.66 38074245 15338774.6
## 8 2017 ROSARIO N 29552814.80 36873760 12837203.7
## 9 2018 ROSARIO N 24684363.64 32840692 10579613.8
## 10 2019 ROSARIO N 34478364.53 37371803 19537533.4
## 11 2015 QUEQUEN 224363.82 445300 2210451.5
## 12 2016 QUEQUEN 271808.30 481800 1826948.0
## 13 2017 QUEQUEN 192550.30 467200 1300030.6
## 14 2018 QUEQUEN 104175.00 416100 741289.2
## 15 2019 QUEQUEN 54091.13 445300 1429860.3
## DIFF CAPACITY_DIFF
## 1 -224286 -681939
## 2 1801054 53509
## 3 1226814 -292309
## 4 2704483 -1664162
## 5 1246523 -627883
## 6 16700320 -63308
## 7 22735470 -1380204
## 8 24036556 -7320945
## 9 22261079 -8156329
## 10 17834269 -2893438
## 11 -1765152 -220936
## 12 -1345148 -209992
## 13 -832831 -274650
## 14 -325189 -311925
## 15 -984560 -391209
In the above table, CAPACITY_DIFF refers to the difference between the volume of soy oil or cake exported (TONS_EXPORT) and the crushing capacity in the zone (CRUSH_CAPACITY_TONS). Some observations:
There might be some movement of oil across the Rosario zones (which are close together). So we can combine them to see the joined capacity
## YEAR TONS_EXPORT CRUSH_CAPACITY_TONS SIOGRANOS_TONS_CORR DIFF
## 1 2015 44078185 82536355 73040528 9495827
## 2 2016 45823582 89397990 59042012 30355978
## 3 2017 37277381 86595520 52701568 33893952
## 4 2018 29903232 77124135 39541216 37582919
## 5 2019 44720659 86989355 71905755 15083600
## CAPACITY_DIFF
## 1 -38458170
## 2 -43574408
## 3 -49318139
## 4 -47220903
## 5 -42268696
So now there is enough crushing capacity compared to the combined exports of ROSARIO N and S zones.