ScotFarm A linear programming farm level model for Scottish farms Shailesh Shrestha Bouda Vosough Ahmadi Steven Thomson Andrew Barnes
Background FarmAdapt – 2000 FDLP – 2002 TeagascMod – 2004 CAP Agenda 2000, adaptations, market prices, nutrient balance FDLP – 2002 Climate change impact on English dairy farms TeagascMod – 2004 CAP MTR, Milk quota Removal, Climate change
Model characteristics Linear programming – optimising profits Farm system analysis Replicates farm activities Repetitive decision makings Financial and physical parameters All labour skilled Farm level data Pseudo-dynamic timeframe can be set yearly runs with month as a subset
Model characteristics Linear programming – optimising profits Farm system analysis Replicates farm activities Financial and physical parameters Activities are interlinked Repetitive decision makings Farm level data Pseudo-dynamic timeframe can be set yearly runs with month as a subset
Farm system analysis Livestock Land Milk Grass/forage Crops Animal sell Labour Machinery Feed Replacement Liv. variable costs Output
Farm system analysis
Model characteristics Linear programming – optimising profits Farm system analysis Replicates farm activities Repetitive decision makings Financial and physical parameters All labour skilled Farm level data Pseudo-dynamic timeframe can be set yearly runs with month as a subset
Data input Farm data (physical): land, animals Prices/costs Coefficients : LU/ha, feed contents, lab requirements, feed requirements Production: milk, crop, grass yields External factors: policies, market
Data input (FAS) Scottish Farm Accountancy Survey (FAS) Around 480 farms Contains physical/ financial data Cluster analysis System, production, size, milk yield, labour, farm margins, feed, costs Farm groups identified Representative farms
Data input (clusters)
Data input (farm data)
Data input (feed)
Model characteristics Linear programming – optimising profits Farm system analysis Replicates farm activities Repetitive decision makings Financial and physical parameters All labour skilled Farm level data Pseudo-dynamic Runs over a number of years but results averaged out of middle years timeframe can be set yearly runs with month as a subset
Flow chart Farm data FAS2010 ScotFarm Cluster analysis Farm types A,B... Cluster analysis ScotFarm Y 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Flow chart Farm data FAS2010 ScotFarm Cluster analysis Baseline Scenarios Farm data FAS2010 Farm types A,B... Cluster analysis ScotFarm Y 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Dynamic model Farm adjustments – optimise Farm adaptations Herd dynamics – dairy / replacement cycle Crop rotation Structural change Price effect
Modules Livestock module Crop module Feed module Grass module Crop yield model Crop rotation module Feed module Feed requirement model Grass module Grass yield model
Livestock module Dairy: Beef: Sheep: calf, heifer and dairy 4 replacement cycle Beef: suckler, calf (0-6m), beef1 (7-12m), beef2 (13- 24m) 8 year replacement cycle Sheep: lamb and ewe 5 year replacement cycle
Livestock module Dairy Beef Sheep Replacement Labour (hired) Labour (family) Land Feed Milk Animal t+2... Grass Yield Model Feed Requirement Model t+1 t t
Model code (dairy) tani12(f,y)$(ord(y)>1 ).. totani(f,'ac',y) =e= totani(f,'ad',y)*calrate*0.5*survrate ; tani13(f,y)$(ord(y)>1 ).. totani(f,'ah',y) =e= totani(f,'ac',y-1) + buyheif(f,y); tani14(f,y)$(ord(y)>1 ).. totani(f,'ad',y) =e= totani(f,'ad',y-1) + totani(f,'ah',y-1) sellheif(f,y-1) - culldairy(f,y); tani15(f,y).. sellmcalf(f,y) =e= totani(f,'ad',y)*calrate*0.5; tani16(f,y).. culldairy(f,y) =e= totani(f,'ad',y) *0.25;
Crop module Basic Decision making - based on yield and GM Most common crops are included New crops can be introduced (data?) Initial land use taken from farm data Crop yields - farm data or biophysical model Land reallocation Crop rotation
Crop module Livestock module Labour (hired) Crop sell Labour (family) Land Crop Rotation Model Feed Livestock module Crop sell Crop Yield Model Gross Margin
Model code (crop) inicrp(f,c).. acrop(f,c,'y1') =e= CROPINI(f,c); inicrp2(f,y).. aland(f,y) =e= sum(c, acrop(f,c,y)) ; inicrp3(f,c,y)$(ord(y)>1 ).. acrop(f,c,y) =g= acrop(f,c, y-1)*0.5; crpland(f,y).. aland(f,y) =e= aland(f,'y1') - tranland(f,y) +tranland2(f,y);
Land Fixed total land Divided into arable, grassland, rough grazing, Grassland – grazing, grass silage and hay land Reallocation between activities Capability to include land market Rent/Let Livestock constraint over stocking rate Basic payment is linked
Model code (Land - grass) land1(f,y).. gland(f,y) =e= G_LAND(f) + tranland(f,y)- tranland2(f,y); # +R_LAND(f,y) - L_LAND(f,y); land2(f,y).. gland(f,y) =e= gfland(f,y)+ gsland(f,y)+ ghland(f,y) ; land3(f,y).. sum(a, totani(f,a,y)*LU(a)) =l= gland(f,y)*STR(f) + RGRAZ(f)*STR2(f); land4(f,y).. tranland2(f,y) =l= G_LAND(f);
Feed module Feed considered Feed – produced on farm/bought in Fresh grass, grass silage, hay, maize silage whole crop grain, concentrate Feed – produced on farm/bought in Energy and protein content required for each feed
Feed requirement model Model is written in excel Based on feed requirement criteria set by Alderman and Cottrill (1993) Determines monthly requirement of energy, protein and feed intake per animal Considers species, age, production level of an individual animal
Feed module
Data input (feed)
Model code (feed) feeden(f,a,y,m).. totani(f,a,y)*ENREQ(a,m) =l= sum(b, mfeed(f,a,y,m,b)*ENFEED(b)); feedp(f,a,y,m).. totani(f,a,y)*PREQ(a,m)*0.001 =l= sum (b, mfeed(f,a,y,m,b)*PRFEED(b)) ; feedi(f,a,y,m).. totani(f,a,y)*DMI(a,m) =l= sum (b, mfeed(f,a,y,m,b)*DMFRAC(b)) ; feedgraz(f,y,m).. sum(a, mfeed(f,a,y,m,’fg’)) =l= gfland(f,y)*GRASS_YIELD(m)*1000*GRASS_SWT(m)+ gsland(f,y)*GRASS_YIELD(m)*1000*GSILAGE_SWT(m)+ RGRAZ(f)*GRASS_YIELD(m)*1000*GRASS_SWT(m)*0.5;
Model code (feed) feedhay(f,y,m).. sum(a, mfeed(f,a,y,m,’hay’)) =l= ghland(f,y)*HAYYIELD; feedsil(f,y,m).. sum(a, mfeed(f,a,y,m,’gsil’)) =l= gsland(f,y)*SILAGE_YIELD(m)*1000 + buysil(f,y,m); feedc(f,a,y).. sum(m, mfeed(f,a,y,m,'conc')) =g= totani(f,a,y)*ConcUse(f,a)*CONC_LEV(f) feedgs(f,a,y).. sum(m, mfeed(f,a,y,m,'grain')) =l= sum(fc, (acrop(f,fc,y)*CROPYIELD(f,fc))) ;
Labour Constraint over requirement and availability Uses family labour first >> if not sufficient paid labour Assumes all labour as skilled and unlimited supply for paid labour Labour requirements - farm management data
Model code (labour) lab1(f,a,y).. livlab(f,a,y)=e= totani(f,a,y) * LAB(a); tlab2(f,y).. tlab(f,y) =e= sum(a,livlab(f,a,y)); tlab3(f,y).. tlab(f,y) =l= (flab(f)*2200) + hirelab(f,y); lcost(f,y).. tlabcost(f,y)=e= hirelab(f,y)*lab_cost;
Subsidy payments Included in the objective function BPS is linked with the total farm land LFAS is added as a parameter for each farm Under CAP reform scenarios, different rates of payments can be linked to different land use
Objective function FarmMargin(f,y).. tfgm(f,y) =e= e1gm(f,y) + e2gm(f,y) + e3gm(f,y) + e4gm(f,y) + (tland(f,y)+RGRAZ(f))*SFP(f)+ LFAS(f) - tlabcost(f,y); dairygm(f,y).. e1gm(f,y) =e= totmilk(f,y)*MILKPrice(f)*MI(y) + sellmcalf(f,y)* CALFSPrice(f)*BI(y)+culldairy(f,y)*DAIRYSPrice(f)*BI(y)- buyheif(f,y)*HEIFBPrice(f) *BI(y) - sum(ads, totani(f,ads,y)*LU(ads)*(VARCosts(f)+ OHCosts(f))*VarIndx1(ads,y)) - sum((ads,m), (mfeed(f,ads,y,m,"conc")*CONCPrice(f)*0.001));
Subsidy payments Included in the objective function BPS is linked with the total farm land LFAS is added as a parameter for each farm Under CAP reform scenarios, different rates of payments can be linked to different land use
includes land under arable, temporary grass and permanent grass Objective function FarmMargin(f,y).. tfgm(f,y) =e= e1gm(f,y) + e2gm(f,y) + e3gm(f,y) + e4gm(f,y) + tland(f,y)*SFP90 + RGRAZ(f)* SFP10 + (LFAS(f)+ SFP(f)*0.32) - tlabcost(f,y); includes land under arable, temporary grass and permanent grass
Outputs Farm margins Land use Animal numbers Feed use Production level Costs of production Marginal costs
Applications Policy impacts: CAP reforms and Milk quota removal Climate change impacts Farmers adaptations Structural change Cost analysis: GHG mitigation options Capable of running individual farms or representative farms
CAP reform outputs
CAP reform outputs
Outputs Percentage change on farm margin with greening and no-greening measures under SFP Farm types Baseline farm Share of SFP % change in farm margins inc in the farm margin under SFP (£) margin (%) greening scenarios Greening No Greening Beef cereal finisher 119,747 61 -2.7 -18.5 Beef grass finisher 121,271 75 -1.8 -22.5 Beef rearer 113,583 83 -1.2 -24.9 Beef hill suckler 86,507 100 0 -30.0 Beef upland sukler 64,772 94 0 -28.3 Beef lowland suckler 96,031 98 0 -29.0 Sheep lowland 93,763 100 0 -30.0 Sheep hill 77,966 95 0 -28.5 Sheep upland 79,475 100 0 -30.0
CAP reform outputs Farm margins Structural change – system, land use Counterfactual scenarios Farm types – systems, regions, individual
Outputs B Vosough Ahmadi, S Shrestha, S G Thomson, A P Barnes and A W Stott, 2013. Impact of greening the Common Agricultural Policy on Scottish beef and sheep farms. Paper accepted in International Food and Agribusiness Management Review V Eory, M MacLeod, S Shrestha and D Roberts, 2013. Linking an economic and a biophysical model to support farm GHG mitigation policy. Paper submitted to German Journal of Agricultural Economics S Shrestha, B Vosough Ahmadi, S Thomson and A Barnes, 2014. Scottish farms under post 2015 CAP reforms: winners and losers. Paper submitted to 88th AES conference, Paris, 9-11 April. S Shrestha, B Vosough Ahmadi, S Thomson and A Barnes, 2013. Greening of the CAP – how will it affect Scottish beef and sheep farming? Policy Briefing, Rural Policy Centre, SRUC. http://www.sruc.ac.uk/downloads/file/1538/2013_greening_of_the_cap-how_will_it_affect_scottish_beef_and_sheep_farming
Limitations Large dataset Optimiser: do not represent behaviour aspects Initial and terminal effects of LP Not recursive Validation: not important for counterfactual studies If important >> PMP needs to be added