1"use strict";(self.webpackChunkNioLandReact=self.webpackChunkNioLandReact||[]).push([[2681],{2681:(e,t,r)=>{r.r(t),r.d(t,{default:()=>k});r(5043);var a=r(5475),o=r(3519),s=r(1072),n=r(8602),i=r(3107),l=r(7497),h=r(579);const c="'Inter', sans-serif",d="#28a745",m="coffee-yield-estimate-monthly-refresh",f="How a coffee zone's yield estimate refreshes every month.",g="A coffee yield estimate that arrives only at harvest is a record of what already happened. Weathersafe's per-farm prediction model refreshes monthly through the season, anchored to a decade of recorded cherry yields and to GAP77 demo-plot benchmarks. The result is a live picture of expected delivery, expected loss, and the gap between current and possible \u2014 at farm and at zone level.",p="TECHNOLOGY",y="28 APRIL 2026",u="2026-04-28",x={fontFamily:c,fontWeight:700,fontSize:"clamp(1.5rem, 2.4vw, 1.9rem)",letterSpacing:"-0.015em",color:"#000",marginTop:"2.5rem",marginBottom:"1rem"},b={fontFamily:c,fontWeight:400,fontSize:"1.1rem",lineHeight:1.7,color:"#222",marginBottom:"1.1rem"},w={color:d,textDecoration:"underline",textDecorationThickness:"1px",textUnderlineOffset:"3px"},j={fontFamily:c,fontWeight:400,fontStyle:"italic",fontSize:"1.15rem",lineHeight:1.6,color:"#222",borderLeft:`4px solid ${d}`,paddingLeft:"1.25rem",margin:"2rem 0"},v={fontFamily:c,fontWeight:600,fontSize:"0.9rem",color:"#666",display:"block",marginTop:"0.5rem",fontStyle:"normal"};const k=function(){const e={"@context":"https://schema.org","@type":"BlogPosting",headline:f,description:g,datePublished:u,dateModified:u,url:`https://www.weathersafe.co.uk/blog/${m}`,author:{"@type":"Organization",name:"Weathersafe",url:"https://www.weathersafe.co.uk"},publisher:{"@type":"Organization",name:"Weathersafe",url:"https://www.weathersafe.co.uk"},mainEntityOfPage:`https://www.weathersafe.co.uk/blog/${m}`,articleSection:p};return(0,h.jsxs)(i.A,{title:`${f} \u2014 Weathersafe`,description:g,canonical:`https://www.weathersafe.co.uk/blog/${m}`,ogType:"article",jsonLd:e,children:[(0,h.jsx)("section",{style:{paddingTop:"8rem",paddingBottom:"4rem"},children:(0,h.jsx)(o.A,{children:(0,h.jsx)(s.A,{className:"justify-content-center",children:(0,h.jsxs)(n.A,{lg:"8",children:[(0,h.jsx)(a.N_,{to:"/blog",style:{fontFamily:c,fontWeight:600,fontSize:"0.85rem",color:d,textDecoration:"none",letterSpacing:"0.04em"},children:"\u2190 Blog"}),(0,h.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"0.85rem",marginTop:"2rem",marginBottom:"1rem"},children:[(0,h.jsx)("span",{style:{fontFamily:c,fontWeight:600,fontSize:"0.75rem",letterSpacing:"0.06em",color:d,background:"rgba(40,167,69,0.1)",borderRadius:"999px",padding:"0.35rem 0.9rem"},children:p}),(0,h.jsx)("span",{style:{fontFamily:c,fontWeight:500,fontSize:"0.85rem",letterSpacing:"0.04em",color:"#888"},children:y})]}),(0,h.jsx)("h1",{style:{fontFamily:c,fontWeight:800,fontSize:"clamp(2.4rem, 5vw, 3.8rem)",lineHeight:1.1,letterSpacing:"-0.03em",color:"#000",marginBottom:"1.5rem"},children:f}),(0,h.jsx)("p",{style:{fontFamily:c,fontWeight:400,fontSize:"1.25rem",lineHeight:1.55,color:"#555",marginBottom:0},children:g})]})})})}),(0,h.jsx)("section",{style:{paddingBottom:"5rem"},children:(0,h.jsx)(o.A,{children:(0,h.jsx)(s.A,{className:"justify-content-center",children:(0,h.jsxs)(n.A,{lg:"8",children:[(0,h.jsxs)("p",{style:b,children:["A single Weathersafe coffee zone \u2014 150 hectares, 2,274 mapped fields, average tree age 21 years \u2014 currently shows ",(0,h.jsx)("strong",{children:"1,501,219 kg"})," of expected cherry harvest against a potential of 1,595,814 kg. The gap of 94,594 kg is the coffee that current conditions are leaving on the table. The numbers were generated this month and will refresh again next month."]}),(0,h.jsx)("p",{style:{...b,fontWeight:700,color:"#000"},children:"Refreshed monthly. Per farm. Against potential."}),(0,h.jsx)("h2",{style:x,children:"What \u201cyield estimate\u201d means at zone level"}),(0,h.jsx)("p",{style:b,children:"At the zone level, the estimate is the sum of every individually-predicted farm in the catchment. Each farm carries its own tree count, tree age and current health score from satellite. The zone aggregate carries hectares, total fields, average tree age, the distribution of farms across health bands, expected cherry yield and potential yield. Together they describe a producing zone in the same terms a procurement team and a sustainability lead can both work with."}),(0,h.jsx)("h2",{style:x,children:"How a satellite frame becomes a per-farm cherry number"}),(0,h.jsx)("p",{style:b,children:"The starting point is the vegetation index on the latest satellite frame for the farm's polygon \u2014 a measure of plant stress relative to the same farm's history. That index correlates, against more than a decade of recorded cherry deliveries from the same farms, to a yield range. Tree count and tree age recorded at mapping anchor the absolute number; current weather and scout-recorded farm-health observations sharpen it; and prior-season feedback loops correct the model where it has been wrong."}
1),(0,h.jsx)("p",{style:b,children:"The result is a number per farm with a known confidence band. Aggregate across the catchment and the buyer has a live zone picture."}),(0,h.jsx)("h2",{style:x,children:"What \u201cpotential\u201d on the dashboard actually means"}),(0,h.jsx)("p",{style:b,children:"The number labelled potential is anchored to what GAP77 demo plots have demonstrably produced on similar soil, rainfall and altitude \u2014 not an industry average or a theoretical maximum. Each farm's potential is a benchmark calibrated to its zone: what is achievable here, not what is achievable somewhere else. The gap between current and potential is the closure opportunity, observable in numbers rather than asserted."}),(0,h.jsxs)("p",{style:j,children:["\u201cWhen we revisit farmers with our tablets after mapping, and they see their estimated potential yield, they get really interested. They ask tons of questions about how to reach those targets and respond very positively overall.\u201d",(0,h.jsx)("span",{style:v,children:"\u2014 Patrick Sheema, Operations & Mapping Coordinator"})]}),(0,h.jsx)("h2",{style:x,children:"How the estimate gets sharper through the season"}),(0,h.jsx)("p",{style:b,children:"Monthly refresh is the cadence. Each refresh ingests the latest satellite frame, the latest weather forecast and the latest scout observations. Each refresh narrows the confidence band on expected yield and expected loss. By the time cherry actually arrives at the washing station, the month-by-month trail is the audit trail behind the final number."}),(0,h.jsxs)("p",{style:b,children:["End-of-season, EPOS-recorded cherry deliveries reconcile against the predictions. Misses \u2014 the harvests where the model under-predicted or over-predicted \u2014 are folded back into the next season's calibration. The same loop-closing logic is covered in ",(0,h.jsx)(a.N_,{to:"/blog/coffee-pest-forecasts-feedback-loop",style:w,children:"what makes a coffee pest forecast different from a hypothesis"}),"."]}),(0,h.jsx)("h2",{style:x,children:"What the model has to account for"}),(0,h.jsx)("p",{style:b,children:"Three factors move independently of farm health, and the model has to handle each:"}),(0,h.jsxs)("ul",{style:{paddingLeft:"1.25rem",marginBottom:"1.25rem"},children:[(0,h.jsxs)("li",{style:{...b,marginBottom:"0.6rem"},children:[(0,h.jsx)("strong",{children:"Side-selling."})," Coffee grown on a mapped farm sometimes gets sold to a competing buyer at the gate. GAP77 demo-plot baselines give an independent benchmark of what was achievable on similar land, so an under-delivery is visible against a reference rather than absorbed into the noise."]}),(0,h.jsxs)("li",{style:{...b,marginBottom:"0.6rem"},children:[(0,h.jsx)("strong",{children:"Seasonal fluctuations."})," Coffee's biennial bearing \u2014 heavy main crop one season, lighter recovery cycle the next \u2014 is part of the production rhythm, not a model error. Recovery cycles and main seasons are explicit inputs. The monthly refresh tracks where the current season sits within the cycle."]}),(0,h.jsxs)("li",{style:{...b,marginBottom:"0.6rem"},children:[(0,h.jsx)("strong",{children:"Climate variability."})," Drought, heavy or off-cycle rainfall show up first in farm health scores and feed back into the forecast through the same monthly refresh. The estimate moves with the conditions rather than waiting for a post-mortem."]})]}),(0,h.jsx)("h2",{style:x,children:"Where the estimate goes"}),(0,h.jsx)("p",{style:b,children:"The same number serves four audiences: procurement for forward-contracting, washing-station managers for resource and processing planning, farmers for the per-farm number on the tablet, and sustainability or finance teams for the regulatory disclosures."}),(0,h.jsxs)("p",{style:b,children:["The thirteen-year calibration history that sharpens every refresh is covered in ",(0,h.jsx)(a.N_,{to:"/blog/coffee-yield-forecast-13-years-ground-truth",style:w,children:"why coffee yield forecasts need 13 years of ground truth"}),". The financial-disclosure use of the same model output is covered in ",(0,h.jsx)(a.N_,{to:"/blog/coffee-yield-cfo-disclosures",style:w,children:"how a coffee yield model feeds two CFO disclosures"}
1),". The integrated weather-plus-satellite-plus-scout architecture and the calibration against EPOS records are documented in the ",(0,h.jsx)(a.N_,{to:"/methodology",style:w,children:"methodology"}),"."]})]})})})}),(0,h.jsx)(l.Cu,{className:"py-10 py-lg-90",style:{borderTop:"1px solid #f0f0f0",borderBottom:"1px solid #f0f0f0"},children:(0,h.jsx)(l.Cu.Content,{children:(0,h.jsx)(o.A,{children:(0,h.jsxs)(s.A,{className:"align-items-start",children:[(0,h.jsxs)(n.A,{lg:"5",style:{marginTop:"-0.75rem"},children:[(0,h.jsxs)("h2",{style:{fontFamily:c,fontWeight:800,fontSize:"clamp(2.2rem, 4vw, 3.5rem)",letterSpacing:"-0.03em",lineHeight:1.05,color:"#000",marginBottom:"2rem"},children:["Estimated.",(0,h.jsx)("br",{}),"Refreshed.",(0,h.jsx)("br",{}),"Reconciled."]}),(0,h.jsxs)("div",{style:{display:"flex",gap:"1rem",flexWrap:"wrap"},children:[(0,h.jsx)(a.N_,{to:"/contact-us-solution",style:{fontFamily:c,fontWeight:600,fontSize:"0.95rem",color:"#fff",background:d,borderRadius:"6px",padding:"0.75rem 1.75rem",textDecoration:"none"},children:"Talk to us"}),(0,h.jsx)(a.N_,{to:"/methodology",style:{fontFamily:c,fontWeight:600,fontSize:"0.95rem",color:"#000",background:"#fff",border:"1px solid #d0d0d0",borderRadius:"6px",padding:"0.75rem 1.75rem",textDecoration:"none"},children:"Read the methodology"})]})]}),(0,h.jsx)(n.A,{lg:"5",className:"offset-lg-2",children:(0,h.jsx)("p",{style:{fontFamily:c,fontWeight:400,fontSize:"1.55rem",lineHeight:1.4,color:"#333",marginBottom:0},children:"Per-farm yield estimates that update with the season, calibrated against thirteen years of recorded cherry deliveries."})})]})})})})]})}}}]); 2//# sourceMappingURL=2681.ff8ce366.chunk.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.