The CAPRI simulation tool is composed of a supply and market modules, interlinked with each other.
In the supply module, regional or farm type agricultural supply of crops and animal outputs is modelled by an aggregated profit function approach under a limited number of constraints: the land supply curve, policy restrictions such as sales quotas and set aside obligations and feeding restrictions based on requirement functions. The underlying methodology assumes a two stage decision process.
In the first stage, producers determine optimal variable input coefficients per hectare or head (nutrient needs for crops and animals, seed, plant protection, energy, pharmaceutical inputs, etc.) for given yields, which are determined exogenously by trend analysis (CAPRI reference scenario) and updated depending on price changes against the baseline. Nutrient requirements enter the supply models as constraints and all other variable inputs, together with their prices, define the accounting cost matrix.
In the second stage, the profit maximising mix of crop and animal activities is determined simultaneously with cost minimising feed and fertiliser in the supply models. Availability of grass and arable land and the presence of quotas impose a restriction on acreage or production possibilities. Moreover, crop production is influenced by set aside obligations and animal requirements (e.g. gross energy and crude protein) are covered by a cost minimised feeding combination. Fertiliser needs of crops have to be met by either organic nutrients found in manure (output from animals) or in purchased fertiliser (traded good).
A cost function covering the effect of all factors not explicitly handled by restrictions or the accounting costs –as additional binding resources or risk ensures calibration of activity levels and feeding habits in the base year and plausible reactions of the system. These cost function terms are estimated from ex post data or calibrated to exogenous elasticities.
Fodder (grass, straw, fodder maize, root crops, silage, milk from suckler cows or mother goat and sheep) is assumed to be non-tradable, and hence links animal processes to the crops and regional land availability. A detailed description can be found in Britz and Heckelei (1999). All other outputs and inputs can be sold and purchased at fixed prices. The use of a mathematical programming approach has the advantage to directly embed compensation payments, set-aside obligations, and sales quotas, as well as to capture important relations between agricultural production activities. Not at least, environmental indicators as NPK balances and output of gases linked to global warming are directly inputted in the system.
The market module breaks down the world into 40 country aggregates or trading partners, each one (and sometimes regional components within these) featuring systems of supply, human consumption, feed and processing functions. The parameters of these functions are derived from elasticities borrowed from other studies and modelling systems and calibrated to projected quantities and prices in the simulation year. Regularity is ensured through the choice of the functional form (a normalised quadratic function for feed, processing and supply and a generalised Leontief expenditure function for human consumption) and some further restrictions (homogeneity of degree zero in prices, symmetry and correct curvature). Accordingly, the demand system allows for the calculation of welfare changes for consumers, processing industry and public sector. Policy instruments in the market module include bilateral trade flows1). Tariff rate quotas (TRQs), intervention purchases and subsidised exports under the World Trade Organisation (WTO) commitment restrictions are explicitly modelled for the EU.
In the market module, special attention is given to the processing of dairy products. First, balancing equations for fat and protein ensure that these make use of the exact amount of fat and protein contained in the raw milk. The production of processed dairy products is based on a normalised quadratic function driven by the regional differences between the market price and the value of its fat and protein content. Then, for consistency, prices of raw milk are also derived from their fat and protein content valued with fat and protein prices.
The market module comprises of a bilateral world trade model based on the Armington assumption (Armington, 1969). According to Armington’s theory, the composition of demand from domestic sales and different import origins depends on price relationships according to bilateral trade flows. This allows the model to reflect trade preferences for certain regions (e.g. Parma or Manchego cheese) that cannot be observed in a net trade model.
The equilibrium in CAPRI is obtained by letting the supply and market modules iterate with each other. In the first iteration, the regional aggregate programming models (one for each NUTS 2 region or farm type) are solved with exogenous prices. Regional agricultural income is therefore maximised subject to several restrictions (land, fertiliser allocation, feed requirements, etc). After being solved, the regional results of these models (crop areas, herd sizes, input/output coefficients, etc.) are aggregated and enter a small, non-spatial multi-commodity module for young animal trade, as shown in Figure 12. In the second iteration, supply and feed demand functions of the market module are first calibrated to the results from the supply module on feed use and production obtained in the previous iteration. The market module is then solved at this stage (constrained equation system) and the resulting producer prices at Member State level transmitted to the supply models for the following iteration. At the same time, in between iterations, premiums for activities are adjusted if ceilings defined in the Common Market Organisations (CMOs) are overshot.
The implementation in CAPRI is based on a core module file gams\capmod.gms, which calls the different components of the system. The main input comes from the CAPRI database (COCO, CAPREG, GLOBAL), trends (CAPTRD) and baseline calibration parameters. The output of a scenario run is stored in a GDX file in folder output\results\capmod.