Forecasting Pepper and Turmeric Prices in India:... | F1000Research "use strict";function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}!function(){var t=function(){var t,e,o=[],n=window,r=n;for(;r;){try{if(r.frames.__tcfapiLocator){t=r;break}}catch(t){}if(r===n.top)break;r=r.parent}t||(!function t(){var e=n.document,o=!!n.frames.__tcfapiLocator;if(!o)if(e.body){var r=e.createElement("iframe");r.style.cssText="display:none",r.name="__tcfapiLocator",e.body.appendChild(r)}else setTimeout(t,5);return!o}(),n.__tcfapi=function(){for(var t=arguments.length,n=new Array(t),r=0;r 3&&2===parseInt(n[1],10)&&"boolean"==typeof n[3]&&(e=n[3],"function"==typeof n[2]&&n[2]("set",!0)):"ping"===n[0]?"function"==typeof n[2]&&n[2]({gdprApplies:e,cmpLoaded:!1,cmpStatus:"stub"}):o.push(n)},n.addEventListener("message",(function(t){var e="string"==typeof t.data,o={};if(e)try{o=JSON.parse(t.data)}catch(t){}else o=t.data;var n="object"===_typeof(o)&&null!==o?o.__tcfapiCall:null;n&&window.__tcfapi(n.command,n.version,(function(o,r){var a={__tcfapiReturn:{returnValue:o,success:r,callId:n.callId}};t&&t.source&&t.source.postMessage&&t.source.postMessage(e?JSON.stringify(a):a,"*")}),n.parameter)}),!1))};"undefined"!=typeof module?module.exports=t:t()}(); dataLayer = dataLayer || []; // Standard GTM initialization - Google Consent Mode handles consent automatically (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl+ '>m_auth=hzk0Vc3qFsQYhCrIoHz68A>m_preview=env-1>m_cookies_win=x';f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-MWFK8L5J'); ;window.NREUM||(NREUM={});NREUM.init={distributed_tracing:{enabled:true},privacy:{cookies_enabled:true},ajax:{deny_list:["bam.nr-data.net"]}}; ;NREUM.loader_config={accountID:"438030",trustKey:"438030",agentID:"772317073",licenseKey:"97f8f67f26",applicationID:"772317073"} ;NREUM.info={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net",licenseKey:"97f8f67f26",applicationID:"772317073",sa:1} ;/*! For license information please see nr-loader-spa-1.236.0.min.js.LICENSE.txt */ (()=>{"use strict";var e,t,r={5763:(e,t,r)=>{r.d(t,{P_:()=>l,Mt:()=>g,C5:()=>s,DL:()=>v,OP:()=>T,lF:()=>D,Yu:()=>y,Dg:()=>h,CX:()=>c,GE:()=>b,sU:()=>_});var n=r(8632),i=r(9567);const o={beacon:n.ce.beacon,errorBeacon:n.ce.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0},a={};function s(e){if(!e)throw new Error("All info objects require an agent identifier!");if(!a[e])throw new Error("Info for ".concat(e," was never set"));return a[e]}function c(e,t){if(!e)throw new Error("All info objects require an agent identifier!");a[e]=(0,i.D)(t,o),(0,n.Qy)(e,a[e],"info")}var u=r(7056);const d=()=>{const e={blockSelector:"[data-nr-block]",maskInputOptions:{password:!0}};return{allow_bfcache:!0,privacy:{cookies_enabled:!0},ajax:{deny_list:void 0,enabled:!0,harvestTimeSeconds:10},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},session:{domain:void 0,expiresMs:u.oD,inactiveMs:u.Hb},ssl:void 0,obfuscate:void 0,jserrors:{enabled:!0,harvestTimeSeconds:10},metrics:{enabled:!0},page_action:{enabled:!0,harvestTimeSeconds:30},page_view_event:{enabled:!0},page_view_timing:{enabled:!0,harvestTimeSeconds:30,long_task:!1},session_trace:{enabled:!0,harvestTimeSeconds:10},harvest:{tooManyRequestsDelay:60},session_replay:{enabled:!1,harvestTimeSeconds:60,sampleRate:.1,errorSampleRate:.1,maskTextSelector:"*",maskAllInputs:!0,get blockClass(){return"nr-block"},get ignoreClass(){return"nr-ignore"},get maskTextClass(){return"nr-mask"},get blockSelector(){return e.blockSelector},set blockSelector(t){e.blockSelector+=",".concat(t)},get maskInputOptions(){return e.maskInputOptions},set maskInputOptions(t){e.maskInputOptions={...t,password:!0}}},spa:{enabled:!0,harvestTimeSeconds:10}}},f={};function l(e){if(!e)throw new Error("All configuration objects require an agent identifier!");if(!f[e])throw new Error("Configuration for ".concat(e," was never set"));return f[e]}function h(e,t){if(!e)throw new Error("All configuration objects require an agent identifier!");f[e]=(0,i.D)(t,d()),(0,n.Qy)(e,f[e],"config")}function g(e,t){if(!e)throw new Error("All configuration objects require an agent identifier!");var r=l(e);if(r){for(var n=t.split("."),i=0;i {r.d(t,{D:()=>i});var n=r(50);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.Z)("Setting a Configurable requires an object as input");if(!t||"object"!=typeof t)return(0,n.Z)("Setting a Configurable requires a model to set its initial properties");const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),o=0===Object.keys(r).length?e:r;for(let a in o)if(void 0!==e[a])try{"object"==typeof e[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){(0,n.Z)("An error occurred while setting a property of a Configurable",e)}return r}catch(e){(0,n.Z)("An error occured while setting a Configurable",e)}}},6818:(e,t,r)=>{r.d(t,{Re:()=>i,gF:()=>o,q4:()=>n});const n="1.236.0",i="PROD",o="CDN"},385:(e,t,r)=>{r.d(t,{FN:()=>a,IF:()=>u,Nk:()=>f,Tt:()=>s,_A:()=>o,il:()=>n,pL:()=>c,v6:()=>i,w1:()=>d});const n="undefined"!=typeof window&&!!window.document,i="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),o=n?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),a=""+o?.location,s=/iPad|iPhone|iPod/.test(navigator.userAgent),c=s&&"undefined"==typeof SharedWorker,u=(()=>{const e=navigator.userAgent.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),d=Boolean(n&&window.document.documentMode),f=!!navigator.sendBeacon},1117:(e,t,r)=>{r.d(t,{w:()=>o});var n=r(50);const i={agentIdentifier:"",ee:void 0};class o{constructor(e){try{if("object"!=typeof e)return(0,n.Z)("shared context requires an object as input");this.sharedContext={},Object.assign(this.sharedContext,i),Object.entries(e).forEach((e=>{let[t,r]=e;Object.keys(i).includes(t)&&(this.sharedContext[t]=r)}))}catch(e){(0,n.Z)("An error occured while setting SharedContext",e)}}}},8e3:(e,t,r)=>{r.d(t,{L:()=>d,R:()=>c});var n=r(2177),i=r(1284),o=r(4322),a=r(3325);const s={};function c(e,t){const r={staged:!1,priority:a.p[t]||0};u(e),s[e].get(t)||s[e].set(t,r)}function u(e){e&&(s[e]||(s[e]=new Map))}function d(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"feature";if(u(e),!e||!s[e].get(t))return a(t);s[e].get(t).staged=!0;const r=[...s[e]];function a(t){const r=e?n.ee.get(e):n.ee,a=o.X.handlers;if(r.backlog&&a){var s=r.backlog[t],c=a[t];if(c){for(var u=0;s&&u {let[t,r]=e;return r.staged}))&&(r.sort(((e,t)=>e[1].priority-t[1].priority)),r.forEach((e=>{let[t]=e;a(t)})))}function f(e,t){var r=e[1];(0,i.D)(t[r],(function(t,r){var n=e[0];if(r[0]===n){var i=r[1],o=e[3],a=e[2];i.apply(o,a)}}))}},2177:(e,t,r)=>{r.d(t,{c:()=>f,ee:()=>u});var n=r(8632),i=r(2210),o=r(1284),a=r(5763),s="nr@context";let c=(0,n.fP)();var u;function d(){}function f(e){return(0,i.X)(e,s,l)}function l(){return new d}function h(){u.aborted=!0,u.backlog={}}c.ee?u=c.ee:(u=function e(t,r){var n={},c={},f={},g=!1;try{g=16===r.length&&(0,a.OP)(r).isolatedBacklog}catch(e){}var p={on:b,addEventListener:b,removeEventListener:y,emit:v,get:x,listeners:w,context:m,buffer:A,abort:h,aborted:!1,isBuffering:E,debugId:r,backlog:g?{}:t&&"object"==typeof t.backlog?t.backlog:{}};return p;function m(e){return e&&e instanceof d?e:e?(0,i.X)(e,s,l):l()}function v(e,r,n,i,o){if(!1!==o&&(o=!0),!u.aborted||i){t&&o&&t.emit(e,r,n);for(var a=m(n),s=w(e),d=s.length,f=0;fn,p:()=>i});var n=r(2177).ee.get("handle");function i(e,t,r,i,o){o?(o.buffer([e],i),o.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},4322:(e,t,r)=>{r.d(t,{X:()=>o});var n=r(5546);o.on=a;var i=o.handlers={};function o(e,t,r,o){a(o||n.E,i,e,t,r)}function a(e,t,r,i,o){o||(o="feature"),e||(e=n.E);var a=t[o]=t[o]||{};(a[r]=a[r]||[]).push([e,i])}},3239:(e,t,r)=>{r.d(t,{bP:()=>s,iz:()=>c,m$:()=>a});var n=r(385);let i=!1,o=!1;try{const e={get passive(){return i=!0,!1},get signal(){return o=!0,!1}};n._A.addEventListener("test",null,e),n._A.removeEventListener("test",null,e)}catch(e){}function a(e,t){return i||o?{capture:!!e,passive:i,signal:t}:!!e}function s(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3?arguments[3]:void 0;window.addEventListener(e,t,a(r,n))}function c(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3?arguments[3]:void 0;document.addEventListener(e,t,a(r,n))}},4402:(e,t,r)=>{r.d(t,{Ht:()=>u,M:()=>c,Rl:()=>a,ky:()=>s});var n=r(385);const i="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx";function o(e,t){return e?15&e[t]:16*Math.random()|0}function a(){const e=n._A?.crypto||n._A?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(31))),i.split("").map((e=>"x"===e?o(t,++r).toString(16):"y"===e?(3&o()|8).toString(16):e)).join("")}function s(e){const t=n._A?.crypto||n._A?.msCrypto;let r,i=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(31)));const a=[];for(var s=0;s {r.d(t,{Bq:()=>n,Hb:()=>o,oD:()=>i});const n="NRBA",i=144e5,o=18e5},7894:(e,t,r)=>{function n(){return Math.round(performance.now())}r.d(t,{z:()=>n})},7243:(e,t,r)=>{r.d(t,{e:()=>o});var n=r(385),i={};function o(e){if(e in i)return i[e];if(0===(e||"").indexOf("data:"))return{protocol:"data"};let t;var r=n._A?.location,o={};if(n.il)t=document.createElement("a"),t.href=e;else try{t=new URL(e,r.href)}catch(e){return o}o.port=t.port;var a=t.href.split("://");!o.port&&a[1]&&(o.port=a[1].split("/")[0].split("@").pop().split(":")[1]),o.port&&"0"!==o.port||(o.port="https"===a[0]?"443":"80"),o.hostname=t.hostname||r.hostname,o.pathname=t.pathname,o.protocol=a[0],"/"!==o.pathname.charAt(0)&&(o.pathname="/"+o.pathname);var s=!t.protocol||":"===t.protocol||t.protocol===r.protocol,c=t.hostname===r.hostname&&t.port===r.port;return o.sameOrigin=s&&(!t.hostname||c),"/"===o.pathname&&(i[e]=o),o}},50:(e,t,r)=>{function n(e,t){"function"==typeof console.warn&&(console.warn("New Relic: ".concat(e)),t&&console.warn(t))}r.d(t,{Z:()=>n})},2587:(e,t,r)=>{r.d(t,{N:()=>c,T:()=>u});var n=r(2177),i=r(5546),o=r(8e3),a=r(3325);const s={stn:[a.D.sessionTrace],err:[a.D.jserrors,a.D.metrics],ins:[a.D.pageAction],spa:[a.D.spa],sr:[a.D.sessionReplay,a.D.sessionTrace]};function c(e,t){const r=n.ee.get(t);e&&"object"==typeof e&&(Object.entries(e).forEach((e=>{let[t,n]=e;void 0===u[t]&&(s[t]?s[t].forEach((e=>{n?(0,i.p)("feat-"+t,[],void 0,e,r):(0,i.p)("block-"+t,[],void 0,e,r),(0,i.p)("rumresp-"+t,[Boolean(n)],void 0,e,r)})):n&&(0,i.p)("feat-"+t,[],void 0,void 0,r),u[t]=Boolean(n))})),Object.keys(s).forEach((e=>{void 0===u[e]&&(s[e]?.forEach((t=>(0,i.p)("rumresp-"+e,[!1],void 0,t,r))),u[e]=!1)})),(0,o.L)(t,a.D.pageViewEvent))}const u={}},2210:(e,t,r)=>{r.d(t,{X:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},1284:(e,t,r)=>{r.d(t,{D:()=>n});const n=(e,t)=>Object.entries(e||{}).map((e=>{let[r,n]=e;return t(r,n)}))},4351:(e,t,r)=>{r.d(t,{P:()=>o});var n=r(2177);const i=()=>{const e=new WeakSet;return(t,r)=>{if("object"==typeof r&&null!==r){if(e.has(r))return;e.add(r)}return r}};function o(e){try{return JSON.stringify(e,i())}catch(e){try{n.ee.emit("internal-error",[e])}catch(e){}}}},3960:(e,t,r)=>{r.d(t,{K:()=>a,b:()=>o});var n=r(3239);function i(){return"undefined"==typeof document||"complete"===document.readyState}function o(e,t){if(i())return e();(0,n.bP)("load",e,t)}function a(e){if(i())return e();(0,n.iz)("DOMContentLoaded",e)}},8632:(e,t,r)=>{r.d(t,{EZ:()=>u,Qy:()=>c,ce:()=>o,fP:()=>a,gG:()=>d,mF:()=>s});var n=r(7894),i=r(385);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function a(){return i._A.NREUM||(i._A.NREUM={}),void 0===i._A.newrelic&&(i._A.newrelic=i._A.NREUM),i._A.NREUM}function s(){let e=a();return e.o||(e.o={ST:i._A.setTimeout,SI:i._A.setImmediate,CT:i._A.clearTimeout,XHR:i._A.XMLHttpRequest,REQ:i._A.Request,EV:i._A.Event,PR:i._A.Promise,MO:i._A.MutationObserver,FETCH:i._A.fetch}),e}function c(e,t,r){let i=a();const o=i.initializedAgents||{},s=o[e]||{};return Object.keys(s).length||(s.initializedAt={ms:(0,n.z)(),date:new Date}),i.initializedAgents={...o,[e]:{...s,[r]:t}},i}function u(e,t){a()[e]=t}function d(){return function(){let e=a();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=a();const t=e.init||{};e.init={...t}}(),s(),function(){let e=a();const t=e.loader_config||{};e.loader_config={...t}}(),a()}},7956:(e,t,r)=>{r.d(t,{N:()=>i});var n=r(3239);function i(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0;return void(0,n.iz)("visibilitychange",(function(){if(t)return void("hidden"==document.visibilityState&&e());e(document.visibilityState)}),r,i)}},1214:(e,t,r)=>{r.d(t,{em:()=>v,u5:()=>N,QU:()=>S,_L:()=>I,Gm:()=>L,Lg:()=>M,gy:()=>U,BV:()=>Q,Kf:()=>ee});var n=r(2177);const i="nr@original";var o=Object.prototype.hasOwnProperty,a=!1;function s(e,t){return e||(e=n.ee),r.inPlace=function(e,t,n,i,o){n||(n="");var a,s,c,u="-"===n.charAt(0);for(c=0;c 2?n-2:0),o=2;o {r(A[T],e,w),r(E[T],e,w)})),r(l._A,"fetch",y),t.on(y+"end",(function(e,r){var n=this;if(r){var i=r.headers.get("content-length");null!==i&&(n.rxSize=i),t.emit(y+"done",[null,r],n)}else t.emit(y+"done",[e],n)})),t}const O={},j=["pushState","replaceState"];function S(e){const t=function(e){return(e||n.ee).get("history")}(e);return!l.il||O[t.debugId]++||(O[t.debugId]=1,s(t).inPlace(window.history,j,"-")),t}var P=r(3239);const C={},R=["appendChild","insertBefore","replaceChild"];function I(e){const t=function(e){return(e||n.ee).get("jsonp")}(e);if(!l.il||C[t.debugId])return t;C[t.debugId]=!0;var r=s(t),i=/[?&](?:callback|cb)=([^&#]+)/,o=/(.*)\.([^.]+)/,a=/^(\w+)(\.|$)(.*)$/;function c(e,t){var r=e.match(a),n=r[1],i=r[3];return i?c(i,t[n]):t[n]}return r.inPlace(Node.prototype,R,"dom-"),t.on("dom-start",(function(e){!function(e){if(!e||"string"!=typeof e.nodeName||"script"!==e.nodeName.toLowerCase())return;if("function"!=typeof e.addEventListener)return;var n=(a=e.src,s=a.match(i),s?s[1]:null);var a,s;if(!n)return;var u=function(e){var t=e.match(o);if(t&&t.length>=3)return{key:t[2],parent:c(t[1],window)};return{key:e,parent:window}}(n);if("function"!=typeof u.parent[u.key])return;var d={};function f(){t.emit("jsonp-end",[],d),e.removeEventListener("load",f,(0,P.m$)(!1)),e.removeEventListener("error",l,(0,P.m$)(!1))}function l(){t.emit("jsonp-error",[],d),t.emit("jsonp-end",[],d),e.removeEventListener("load",f,(0,P.m$)(!1)),e.removeEventListener("error",l,(0,P.m$)(!1))}r.inPlace(u.parent,[u.key],"cb-",d),e.addEventListener("load",f,(0,P.m$)(!1)),e.addEventListener("error",l,(0,P.m$)(!1)),t.emit("new-jsonp",[e.src],d)}(e[0])})),t}var k=r(5763);const H={};function L(e){const t=function(e){return(e||n.ee).get("mutation")}(e);if(!l.il||H[t.debugId])return t;H[t.debugId]=!0;var r=s(t),i=k.Yu.MO;return i&&(window.MutationObserver=function(e){return this instanceof i?new i(r(e,"fn-")):i.apply(this,arguments)},MutationObserver.prototype=i.prototype),t}const z={};function M(e){const t=function(e){return(e||n.ee).get("promise")}(e);if(z[t.debugId])return t;z[t.debugId]=!0;var r=n.c,o=s(t),a=k.Yu.PR;return a&&function(){function e(r){var n=t.context(),i=o(r,"executor-",n,null,!1);const s=Reflect.construct(a,[i],e);return t.context(s).getCtx=function(){return n},s}l._A.Promise=e,Object.defineProperty(e,"name",{value:"Promise"}),e.toString=function(){return a.toString()},Object.setPrototypeOf(e,a),["all","race"].forEach((function(r){const n=a[r];e[r]=function(e){let i=!1;[...e||[]].forEach((e=>{this.resolve(e).then(a("all"===r),a(!1))}));const o=n.apply(this,arguments);return o;function a(e){return function(){t.emit("propagate",[null,!i],o,!1,!1),i=i||!e}}}})),["resolve","reject"].forEach((function(r){const n=a[r];e[r]=function(e){const r=n.apply(this,arguments);return e!==r&&t.emit("propagate",[e,!0],r,!1,!1),r}})),e.prototype=a.prototype;const n=a.prototype.then;a.prototype.then=function(){var e=this,i=r(e);i.promise=e;for(var a=arguments.length,s=new Array(a),c=0;c e())),t};function m(e,t){i.inPlace(t,["onreadystatechange"],"fn-",E)}function b(){var e=this,t=r.context(e);e.readyState>3&&!t.resolved&&(t.resolved=!0,r.emit("xhr-resolved",[],e)),i.inPlace(e,f,"fn-",E)}if(function(e,t){for(var r in e)t[r]=e[r]}(o,p),p.prototype=o.prototype,i.inPlace(p.prototype,J,"-xhr-",E),r.on("send-xhr-start",(function(e,t){m(e,t),function(e){h.push(e),a&&(y?y.then(A):u?u(A):(w=-w,x.data=w))}(t)})),r.on("open-xhr-start",m),a){var y=c&&c.resolve();if(!u&&!c){var w=1,x=document.createTextNode(w);new a(A).observe(x,{characterData:!0})}}else t.on("fn-end",(function(e){e[0]&&e[0].type===d||A()}));function A(){for(var e=0;e {r.d(t,{t:()=>n});const n=r(3325).D.ajax},6660:(e,t,r)=>{r.d(t,{A:()=>i,t:()=>n});const n=r(3325).D.jserrors,i="nr@seenError"},3081:(e,t,r)=>{r.d(t,{gF:()=>o,mY:()=>i,t9:()=>n,vz:()=>s,xS:()=>a});const n=r(3325).D.metrics,i="sm",o="cm",a="storeSupportabilityMetrics",s="storeEventMetrics"},4649:(e,t,r)=>{r.d(t,{t:()=>n});const n=r(3325).D.pageAction},7633:(e,t,r)=>{r.d(t,{Dz:()=>i,OJ:()=>a,qw:()=>o,t9:()=>n});const n=r(3325).D.pageViewEvent,i="firstbyte",o="domcontent",a="windowload"},9251:(e,t,r)=>{r.d(t,{t:()=>n});const n=r(3325).D.pageViewTiming},3614:(e,t,r)=>{r.d(t,{BST_RESOURCE:()=>i,END:()=>s,FEATURE_NAME:()=>n,FN_END:()=>u,FN_START:()=>c,PUSH_STATE:()=>d,RESOURCE:()=>o,START:()=>a});const n=r(3325).D.sessionTrace,i="bstResource",o="resource",a="-start",s="-end",c="fn"+a,u="fn"+s,d="pushState"},7836:(e,t,r)=>{r.d(t,{BODY:()=>A,CB_END:()=>E,CB_START:()=>u,END:()=>x,FEATURE_NAME:()=>i,FETCH:()=>_,FETCH_BODY:()=>v,FETCH_DONE:()=>m,FETCH_START:()=>p,FN_END:()=>c,FN_START:()=>s,INTERACTION:()=>l,INTERACTION_API:()=>d,INTERACTION_EVENTS:()=>o,JSONP_END:()=>b,JSONP_NODE:()=>g,JS_TIME:()=>T,MAX_TIMER_BUDGET:()=>a,REMAINING:()=>f,SPA_NODE:()=>h,START:()=>w,originalSetTimeout:()=>y});var n=r(5763);const i=r(3325).D.spa,o=["click","submit","keypress","keydown","keyup","change"],a=999,s="fn-start",c="fn-end",u="cb-start",d="api-ixn-",f="remaining",l="interaction",h="spaNode",g="jsonpNode",p="fetch-start",m="fetch-done",v="fetch-body-",b="jsonp-end",y=n.Yu.ST,w="-start",x="-end",A="-body",E="cb"+x,T="jsTime",_="fetch"},5938:(e,t,r)=>{r.d(t,{W:()=>o});var n=r(5763),i=r(2177);class o{constructor(e,t,r){this.agentIdentifier=e,this.aggregator=t,this.ee=i.ee.get(e,(0,n.OP)(this.agentIdentifier).isolatedBacklog),this.featureName=r,this.blocked=!1}}},9144:(e,t,r)=>{r.d(t,{j:()=>m});var n=r(3325),i=r(5763),o=r(5546),a=r(2177),s=r(7894),c=r(8e3),u=r(3960),d=r(385),f=r(50),l=r(3081),h=r(8632);function g(){const e=(0,h.gG)();["setErrorHandler","finished","addToTrace","inlineHit","addRelease","addPageAction","setCurrentRouteName","setPageViewName","setCustomAttribute","interaction","noticeError","setUserId"].forEach((t=>{e[t]=function(){for(var r=arguments.length,n=new Array(r),i=0;i 1?r-1:0),i=1;i {e.exposed&&e.api[t]&&o.push(e.api[t](...n))})),o.length>1?o:o[0]}(t,...n)}}))}var p=r(2587);function m(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},m=arguments.length>2?arguments[2]:void 0,v=arguments.length>3?arguments[3]:void 0,{init:b,info:y,loader_config:w,runtime:x={loaderType:m},exposed:A=!0}=t;const E=(0,h.gG)();y||(b=E.init,y=E.info,w=E.loader_config),(0,i.Dg)(e,b||{}),(0,i.GE)(e,w||{}),(0,i.sU)(e,x),y.jsAttributes??={},d.v6&&(y.jsAttributes.isWorker=!0),(0,i.CX)(e,y),g();const T=function(e,t){t||(0,c.R)(e,"api");const h={};var g=a.ee.get(e),p=g.get("tracer"),m="api-",v=m+"ixn-";function b(t,r,n,o){const a=(0,i.C5)(e);return null===r?delete a.jsAttributes[t]:(0,i.CX)(e,{...a,jsAttributes:{...a.jsAttributes,[t]:r}}),x(m,n,!0,o||null===r?"session":void 0)(t,r)}function y(){}["setErrorHandler","finished","addToTrace","inlineHit","addRelease"].forEach((e=>h[e]=x(m,e,!0,"api"))),h.addPageAction=x(m,"addPageAction",!0,n.D.pageAction),h.setCurrentRouteName=x(m,"routeName",!0,n.D.spa),h.setPageViewName=function(t,r){if("string"==typeof t)return"/"!==t.charAt(0)&&(t="/"+t),(0,i.OP)(e).customTransaction=(r||"http://custom.transaction")+t,x(m,"setPageViewName",!0)()},h.setCustomAttribute=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if("string"==typeof e){if(["string","number"].includes(typeof t)||null===t)return b(e,t,"setCustomAttribute",r);(0,f.Z)("Failed to execute setCustomAttribute.\nNon-null value must be a string or number type, but a type of was provided."))}else(0,f.Z)("Failed to execute setCustomAttribute.\nName must be a string type, but a type of was provided."))},h.setUserId=function(e){if("string"==typeof e||null===e)return b("enduser.id",e,"setUserId",!0);(0,f.Z)("Failed to execute setUserId.\nNon-null value must be a string type, but a type of was provided."))},h.interaction=function(){return(new y).get()};var w=y.prototype={createTracer:function(e,t){var r={},i=this,a="function"==typeof t;return(0,o.p)(v+"tracer",[(0,s.z)(),e,r],i,n.D.spa,g),function(){if(p.emit((a?"":"no-")+"fn-start",[(0,s.z)(),i,a],r),a)try{return t.apply(this,arguments)}catch(e){throw p.emit("fn-err",[arguments,this,"string"==typeof e?new Error(e):e],r),e}finally{p.emit("fn-end",[(0,s.z)()],r)}}}};function x(e,t,r,i){return function(){return(0,o.p)(l.xS,["API/"+t+"/called"],void 0,n.D.metrics,g),i&&(0,o.p)(e+t,[(0,s.z)(),...arguments],r?null:this,i,g),r?void 0:this}}function A(){r.e(439).then(r.bind(r,7438)).then((t=>{let{setAPI:r}=t;r(e),(0,c.L)(e,"api")})).catch((()=>(0,f.Z)("Downloading runtime APIs failed...")))}return["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach((e=>{w[e]=x(v,e,void 0,n.D.spa)})),h.noticeError=function(e,t){"string"==typeof e&&(e=new Error(e)),(0,o.p)(l.xS,["API/noticeError/called"],void 0,n.D.metrics,g),(0,o.p)("err",[e,(0,s.z)(),!1,t],void 0,n.D.jserrors,g)},d.il?(0,u.b)((()=>A()),!0):A(),h}(e,v);return(0,h.Qy)(e,T,"api"),(0,h.Qy)(e,A,"exposed"),(0,h.EZ)("activatedFeatures",p.T),T}},3325:(e,t,r)=>{r.d(t,{D:()=>n,p:()=>i});const n={ajax:"ajax",jserrors:"jserrors",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",spa:"spa"},i={[n.pageViewEvent]:1,[n.pageViewTiming]:2,[n.metrics]:3,[n.jserrors]:4,[n.ajax]:5,[n.sessionTrace]:6,[n.pageAction]:7,[n.spa]:8,[n.sessionReplay]:9}}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var o=n[e]={exports:{}};return r[e](o,o.exports,i),o.exports}i.m=r,i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((t,r)=>(i.f[r](e,t),t)),[])),i.u=e=>(({78:"page_action-aggregate",147:"metrics-aggregate",242:"session-manager",317:"jserrors-aggregate",348:"page_view_timing-aggregate",412:"lazy-feature-loader",439:"async-api",538:"recorder",590:"session_replay-aggregate",675:"compressor",733:"session_trace-aggregate",786:"page_view_event-aggregate",873:"spa-aggregate",898:"ajax-aggregate"}[e]||e)+"."+{78:"ac76d497",147:"3dc53903",148:"1a20d5fe",242:"2a64278a",317:"49e41428",348:"bd6de33a",412:"2f55ce66",439:"30bd804e",538:"1b18459f",590:"cf0efb30",675:"ae9f91a8",733:"83105561",786:"06482edd",860:"03a8b7a5",873:"e6b09d52",898:"998ef92b"}[e]+"-1.236.0.min.js"),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="NRBA:",i.l=(r,n,o,a)=>{if(e[r])e[r].push(n);else{var s,c;if(void 0!==o)for(var u=document.getElementsByTagName("script"),d=0;d {s.onerror=s.onload=null,clearTimeout(h);var i=e[r];if(delete e[r],s.parentNode&&s.parentNode.removeChild(s),i&&i.forEach((e=>e(n))),t)return t(n)},h=setTimeout(l.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=l.bind(null,s.onerror),s.onload=l.bind(null,s.onload),c&&document.head.appendChild(s)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.j=364,i.p="https://js-agent.newrelic.com/",(()=>{var e={364:0,953:0};i.f.j=(t,r)=>{var n=i.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var o=new Promise(((r,i)=>n=e[t]=[r,i]));r.push(n[2]=o);var a=i.p+i.u(t),s=new Error;i.l(a,(r=>{if(i.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var o=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;s.message="Loading chunk "+t+" failed.\n("+o+": "+a+")",s.name="ChunkLoadError",s.type=o,s.request=a,n[1](s)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,o,[a,s,c]=r,u=0;if(a.some((t=>0!==e[t]))){for(n in s)i.o(s,n)&&(i.m[n]=s[n]);if(c)c(i)}for(t&&t(r);u {i.r(o);var e=i(3325),t=i(5763);const r=Object.values(e.D);function n(e){const n={};return r.forEach((r=>{n[r]=function(e,r){return!1!==(0,t.Mt)(r,"".concat(e,".enabled"))}(r,e)})),n}var a=i(9144);var s=i(5546),c=i(385),u=i(8e3),d=i(5938),f=i(3960),l=i(50);class h extends d.W{constructor(e,t,r){let n=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];super(e,t,r),this.auto=n,this.abortHandler,this.featAggregate,this.onAggregateImported,n&&(0,u.R)(e,r)}importAggregator(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(this.featAggregate||!this.auto)return;const r=c.il&&!0===(0,t.Mt)(this.agentIdentifier,"privacy.cookies_enabled");let n;this.onAggregateImported=new Promise((e=>{n=e}));const o=async()=>{let t;try{if(r){const{setupAgentSession:e}=await Promise.all([i.e(860),i.e(242)]).then(i.bind(i,3228));t=e(this.agentIdentifier)}}catch(e){(0,l.Z)("A problem occurred when starting up session manager. This page will not start or extend any session.",e)}try{if(!this.shouldImportAgg(this.featureName,t))return void(0,u.L)(this.agentIdentifier,this.featureName);const{lazyFeatureLoader:r}=await i.e(412).then(i.bind(i,8582)),{Aggregate:o}=await r(this.featureName,"aggregate");this.featAggregate=new o(this.agentIdentifier,this.aggregator,e),n(!0)}catch(e){(0,l.Z)("Downloading and initializing ".concat(this.featureName," failed..."),e),this.abortHandler?.(),n(!1)}};c.il?(0,f.b)((()=>o()),!0):o()}shouldImportAgg(r,n){return r!==e.D.sessionReplay||!1!==(0,t.Mt)(this.agentIdentifier,"session_trace.enabled")&&(!!n?.isNew||!!n?.state.sessionReplay)}}var g=i(7633),p=i(7894);class m extends h{static featureName=g.t9;constructor(r,n){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(super(r,n,g.t9,i),("undefined"==typeof PerformanceNavigationTiming||c.Tt)&&"undefined"!=typeof PerformanceTiming){const n=(0,t.OP)(r);n[g.Dz]=Math.max(Date.now()-n.offset,0),(0,f.K)((()=>n[g.qw]=Math.max((0,p.z)()-n[g.Dz],0))),(0,f.b)((()=>{const t=(0,p.z)();n[g.OJ]=Math.max(t-n[g.Dz],0),(0,s.p)("timing",["load",t],void 0,e.D.pageViewTiming,this.ee)}))}this.importAggregator()}}var v=i(1117),b=i(1284);class y extends v.w{constructor(e){super(e),this.aggregatedData={}}store(e,t,r,n,i){var o=this.getBucket(e,t,r,i);return o.metrics=function(e,t){t||(t={count:0});return t.count+=1,(0,b.D)(e,(function(e,r){t[e]=w(r,t[e])})),t}(n,o.metrics),o}merge(e,t,r,n,i){var o=this.getBucket(e,t,n,i);if(o.metrics){var a=o.metrics;a.count+=r.count,(0,b.D)(r,(function(e,t){if("count"!==e){var n=a[e],i=r[e];i&&!i.c?a[e]=w(i.t,n):a[e]=function(e,t){if(!t)return e;t.c||(t=x(t.t));return t.min=Math.min(e.min,t.min),t.max=Math.max(e.max,t.max),t.t+=e.t,t.sos+=e.sos,t.c+=e.c,t}(i,a[e])}}))}else o.metrics=r}storeMetric(e,t,r,n){var i=this.getBucket(e,t,r);return i.stats=w(n,i.stats),i}getBucket(e,t,r,n){this.aggregatedData[e]||(this.aggregatedData[e]={});var i=this.aggregatedData[e][t];return i||(i=this.aggregatedData[e][t]={params:r||{}},n&&(i.custom=n)),i}get(e,t){return t?this.aggregatedData[e]&&this.aggregatedData[e][t]:this.aggregatedData[e]}take(e){for(var t={},r="",n=!1,i=0;i t.max&&(t.max=e),e 2&&void 0!==arguments[2])||arguments[2];super(e,r,j.t,n),c.il&&((0,t.OP)(e).initHidden=Boolean("hidden"===document.visibilityState),(0,N.N)((()=>(0,s.p)("docHidden",[(0,p.z)()],void 0,j.t,this.ee)),!0),(0,O.bP)("pagehide",(()=>(0,s.p)("winPagehide",[(0,p.z)()],void 0,j.t,this.ee))),this.importAggregator())}}var P=i(3081);class C extends h{static featureName=P.t9;constructor(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(e,t,P.t9,r),this.importAggregator()}}var R,I=i(2210),k=i(1214),H=i(2177),L={};try{R=localStorage.getItem("__nr_flags").split(","),console&&"function"==typeof console.log&&(L.console=!0,-1!==R.indexOf("dev")&&(L.dev=!0),-1!==R.indexOf("nr_dev")&&(L.nrDev=!0))}catch(e){}function z(e){try{L.console&&z(e)}catch(e){}}L.nrDev&&H.ee.on("internal-error",(function(e){z(e.stack)})),L.dev&&H.ee.on("fn-err",(function(e,t,r){z(r.stack)})),L.dev&&(z("NR AGENT IN DEVELOPMENT MODE"),z("flags: "+(0,b.D)(L,(function(e,t){return e})).join(", ")));var M=i(6660);class B extends h{static featureName=M.t;constructor(r,n){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(r,n,M.t,i),this.skipNext=0;try{this.removeOnAbort=new AbortController}catch(e){}const o=this;o.ee.on("fn-start",(function(e,t,r){o.abortHandler&&(o.skipNext+=1)})),o.ee.on("fn-err",(function(t,r,n){o.abortHandler&&!n[M.A]&&((0,I.X)(n,M.A,(function(){return!0})),this.thrown=!0,(0,s.p)("err",[n,(0,p.z)()],void 0,e.D.jserrors,o.ee))})),o.ee.on("fn-end",(function(){o.abortHandler&&!this.thrown&&o.skipNext>0&&(o.skipNext-=1)})),o.ee.on("internal-error",(function(t){(0,s.p)("ierr",[t,(0,p.z)(),!0],void 0,e.D.jserrors,o.ee)})),this.origOnerror=c._A.onerror,c._A.onerror=this.onerrorHandler.bind(this),c._A.addEventListener("unhandledrejection",(t=>{const r=function(e){let t="Unhandled Promise Rejection: ";if(e instanceof Error)try{return e.message=t+e.message,e}catch(t){return e}if(void 0===e)return new Error(t);try{return new Error(t+(0,D.P)(e))}catch(e){return new Error(t)}}(t.reason);(0,s.p)("err",[r,(0,p.z)(),!1,{unhandledPromiseRejection:1}],void 0,e.D.jserrors,this.ee)}),(0,O.m$)(!1,this.removeOnAbort?.signal)),(0,k.gy)(this.ee),(0,k.BV)(this.ee),(0,k.em)(this.ee),(0,t.OP)(r).xhrWrappable&&(0,k.Kf)(this.ee),this.abortHandler=this.#e,this.importAggregator()}#e(){this.removeOnAbort?.abort(),this.abortHandler=void 0}onerrorHandler(t,r,n,i,o){"function"==typeof this.origOnerror&&this.origOnerror(...arguments);try{this.skipNext?this.skipNext-=1:(0,s.p)("err",[o||new F(t,r,n),(0,p.z)()],void 0,e.D.jserrors,this.ee)}catch(t){try{(0,s.p)("ierr",[t,(0,p.z)(),!0],void 0,e.D.jserrors,this.ee)}catch(e){}}return!1}}function F(e,t,r){this.message=e||"Uncaught error with no additional information",this.sourceURL=t,this.line=r}let U=1;const q="nr@id";function G(e){const t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===c._A?0:(0,I.X)(e,q,(function(){return U++}))}function V(e){if("string"==typeof e&&e.length)return e.length;if("object"==typeof e){if("undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer&&e.byteLength)return e.byteLength;if("undefined"!=typeof Blob&&e instanceof Blob&&e.size)return e.size;if(!("undefined"!=typeof FormData&&e instanceof FormData))try{return(0,D.P)(e).length}catch(e){return}}}var X=i(7243);class W{constructor(e){this.agentIdentifier=e,this.generateTracePayload=this.generateTracePayload.bind(this),this.shouldGenerateTrace=this.shouldGenerateTrace.bind(this)}generateTracePayload(e){if(!this.shouldGenerateTrace(e))return null;var r=(0,t.DL)(this.agentIdentifier);if(!r)return null;var n=(r.accountID||"").toString()||null,i=(r.agentID||"").toString()||null,o=(r.trustKey||"").toString()||null;if(!n||!i)return null;var a=(0,_.M)(),s=(0,_.Ht)(),c=Date.now(),u={spanId:a,traceId:s,timestamp:c};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(u.traceContextParentHeader=this.generateTraceContextParentHeader(a,s),u.traceContextStateHeader=this.generateTraceContextStateHeader(a,c,n,i,o)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(u.newrelicHeader=this.generateTraceHeader(a,s,c,n,i,o)),u}generateTraceContextParentHeader(e,t){return"00-"+t+"-"+e+"-01"}generateTraceContextStateHeader(e,t,r,n,i){return i+"@nr=0-1-"+r+"-"+n+"-"+e+"----"+t}generateTraceHeader(e,t,r,n,i,o){if(!("function"==typeof c._A?.btoa))return null;var a={v:[0,1],d:{ty:"Browser",ac:n,ap:i,id:e,tr:t,ti:r}};return o&&n!==o&&(a.d.tk=o),btoa((0,D.P)(a))}shouldGenerateTrace(e){return this.isDtEnabled()&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var r=!1,n={};if((0,t.Mt)(this.agentIdentifier,"distributed_tracing")&&(n=(0,t.P_)(this.agentIdentifier).distributed_tracing),e.sameOrigin)r=!0;else if(n.allowed_origins instanceof Array)for(var i=0;i 2&&void 0!==arguments[2])||arguments[2];super(r,n,Z.t,i),(0,t.OP)(r).xhrWrappable&&(this.dt=new W(r),this.handler=(e,t,r,n)=>(0,s.p)(e,t,r,n,this.ee),(0,k.u5)(this.ee),(0,k.Kf)(this.ee),function(r,n,i,o){function a(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=E,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},e.addEventListener("load",(function(r){_(t,e)}),(0,O.m$)(!1)),c.IF||e.addEventListener("progress",(function(e){t.lastSize=e.loaded}),(0,O.m$)(!1))}function s(e){this.params={method:e[0]},T(this,e[1]),this.metrics={}}function u(e,n){var i=(0,t.DL)(r);i.xpid&&this.sameOrigin&&n.setRequestHeader("X-NewRelic-ID",i.xpid);var a=o.generateTracePayload(this.parsedOrigin);if(a){var s=!1;a.newrelicHeader&&(n.setRequestHeader("newrelic",a.newrelicHeader),s=!0),a.traceContextParentHeader&&(n.setRequestHeader("traceparent",a.traceContextParentHeader),a.traceContextStateHeader&&n.setRequestHeader("tracestate",a.traceContextStateHeader),s=!0),s&&(this.dt=a)}}function d(e,t){var r=this.metrics,i=e[0],o=this;if(r&&i){var a=V(i);a&&(r.txSize=a)}this.startTime=(0,p.z)(),this.listener=function(e){try{"abort"!==e.type||o.loadCaptureCalled||(o.params.aborted=!0),("load"!==e.type||o.called===o.totalCbs&&(o.onloadCalled||"function"!=typeof t.onload)&&"function"==typeof o.end)&&o.end(t)}catch(e){try{n.emit("internal-error",[e])}catch(e){}}};for(var s=0;s 1?e[1]=i:e.push(i)}else e[0]&&e[0].headers&&s(e[0].headers,n)&&(this.dt=n);function s(e,t){var r=!1;return t.newrelicHeader&&(e.set("newrelic",t.newrelicHeader),r=!0),t.traceContextParentHeader&&(e.set("traceparent",t.traceContextParentHeader),t.traceContextStateHeader&&e.set("tracestate",t.traceContextStateHeader),r=!0),r}}function x(e,t){this.params={},this.metrics={},this.startTime=(0,p.z)(),this.dt=t,e.length>=1&&(this.target=e[0]),e.length>=2&&(this.opts=e[1]);var r,n=this.opts||{},i=this.target;"string"==typeof i?r=i:"object"==typeof i&&i instanceof Y?r=i.url:c._A?.URL&&"object"==typeof i&&i instanceof URL&&(r=i.href),T(this,r);var o=(""+(i&&i instanceof Y&&i.method||n.method||"GET")).toUpperCase();this.params.method=o,this.txSize=V(n.body)||0}function A(t,r){var n;this.endTime=(0,p.z)(),this.params||(this.params={}),this.params.status=r?r.status:0,"string"==typeof this.rxSize&&this.rxSize.length>0&&(n=+this.rxSize);var o={txSize:this.txSize,rxSize:n,duration:(0,p.z)()-this.startTime};i("xhr",[this.params,o,this.startTime,this.endTime,"fetch"],this,e.D.ajax)}function E(t){var r=this.params,n=this.metrics;if(!this.ended){this.ended=!0;for(var o=0;o 2&&void 0!==arguments[2])||arguments[2];super(e,t,we.t,r),this.importAggregator()}}new class{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:(0,_.ky)(16);c._A?(this.agentIdentifier=t,this.sharedAggregator=new y({agentIdentifier:this.agentIdentifier}),this.features={},this.desiredFeatures=new Set(e.features||[]),this.desiredFeatures.add(m),Object.assign(this,(0,a.j)(this.agentIdentifier,e,e.loaderType||"agent")),this.start()):(0,l.Z)("Failed to initial the agent. Could not determine the runtime environment.")}get config(){return{info:(0,t.C5)(this.agentIdentifier),init:(0,t.P_)(this.agentIdentifier),loader_config:(0,t.DL)(this.agentIdentifier),runtime:(0,t.OP)(this.agentIdentifier)}}start(){const t="features";try{const r=n(this.agentIdentifier),i=[...this.desiredFeatures];i.sort(((t,r)=>e.p[t.featureName]-e.p[r.featureName])),i.forEach((t=>{if(r[t.featureName]||t.featureName===e.D.pageViewEvent){const n=function(t){switch(t){case e.D.ajax:return[e.D.jserrors];case e.D.sessionTrace:return[e.D.ajax,e.D.pageViewEvent];case e.D.sessionReplay:return[e.D.sessionTrace];case e.D.pageViewTiming:return[e.D.pageViewEvent];default:return[]}}(t.featureName);n.every((e=>r[e]))||(0,l.Z)("".concat(t.featureName," is enabled but one or more dependent features has been disabled (").concat((0,D.P)(n),"). This may cause unintended consequences or missing data...")),this.features[t.featureName]=new t(this.agentIdentifier,this.sharedAggregator)}})),(0,T.Qy)(this.agentIdentifier,this.features,t)}catch(e){(0,l.Z)("Failed to initialize all enabled instrument classes (agent aborted) -",e);for(const e in this.features)this.features[e].abortHandler?.();const r=(0,T.fP)();return delete r.initializedAgents[this.agentIdentifier]?.api,delete r.initializedAgents[this.agentIdentifier]?.[t],delete this.sharedAggregator,r.ee?.abort(),delete r.ee?.get(this.agentIdentifier),!1}}}({features:[J,m,S,class extends h{static featureName=oe;constructor(t,r){if(super(t,r,oe,!(arguments.length>2&&void 0!==arguments[2])||arguments[2]),!c.il)return;const n=this.ee;let i;(0,k.QU)(n),this.eventsEE=(0,k.em)(n),this.eventsEE.on(se,(function(e,t){this.bstStart=(0,p.z)()})),this.eventsEE.on(ae,(function(t,r){(0,s.p)("bst",[t[0],r,this.bstStart,(0,p.z)()],void 0,e.D.sessionTrace,n)})),n.on(ce+ne,(function(e){this.time=(0,p.z)(),this.startPath=location.pathname+location.hash})),n.on(ce+ie,(function(t){(0,s.p)("bstHist",[location.pathname+location.hash,this.startPath,this.time],void 0,e.D.sessionTrace,n)}));try{i=new PerformanceObserver((t=>{const r=t.getEntries();(0,s.p)(te,[r],void 0,e.D.sessionTrace,n)})),i.observe({type:re,buffered:!0})}catch(e){}this.importAggregator({resourceObserver:i})}},C,xe,B,class extends h{static featureName=de;constructor(e,r){if(super(e,r,de,!(arguments.length>2&&void 0!==arguments[2])||arguments[2]),!c.il)return;if(!(0,t.OP)(e).xhrWrappable)return;try{this.removeOnAbort=new AbortController}catch(e){}let n,i=0;const o=this.ee.get("tracer"),a=(0,k._L)(this.ee),s=(0,k.Lg)(this.ee),u=(0,k.BV)(this.ee),d=(0,k.Kf)(this.ee),f=this.ee.get("events"),l=(0,k.u5)(this.ee),h=(0,k.QU)(this.ee),g=(0,k.Gm)(this.ee);function m(e,t){h.emit("newURL",[""+window.location,t])}function v(){i++,n=window.location.hash,this[ve]=(0,p.z)()}function b(){i--,window.location.hash!==n&&m(0,!0);var e=(0,p.z)();this[pe]=~~this[pe]+e-this[ve],this[ye]=e}function y(e,t){e.on(t,(function(){this[t]=(0,p.z)()}))}this.ee.on(ve,v),s.on(be,v),a.on(be,v),this.ee.on(ye,b),s.on(ge,b),a.on(ge,b),this.ee.buffer([ve,ye,"xhr-resolved"],this.featureName),f.buffer([ve],this.featureName),u.buffer(["setTimeout"+le,"clearTimeout"+fe,ve],this.featureName),d.buffer([ve,"new-xhr","send-xhr"+fe],this.featureName),l.buffer([me+fe,me+"-done",me+he+fe,me+he+le],this.featureName),h.buffer(["newURL"],this.featureName),g.buffer([ve],this.featureName),s.buffer(["propagate",be,ge,"executor-err","resolve"+fe],this.featureName),o.buffer([ve,"no-"+ve],this.featureName),a.buffer(["new-jsonp","cb-start","jsonp-error","jsonp-end"],this.featureName),y(l,me+fe),y(l,me+"-done"),y(a,"new-jsonp"),y(a,"jsonp-end"),y(a,"cb-start"),h.on("pushState-end",m),h.on("replaceState-end",m),window.addEventListener("hashchange",m,(0,O.m$)(!0,this.removeOnAbort?.signal)),window.addEventListener("load",m,(0,O.m$)(!0,this.removeOnAbort?.signal)),window.addEventListener("popstate",(function(){m(0,i>1)}),(0,O.m$)(!0,this.removeOnAbort?.signal)),this.abortHandler=this.#e,this.importAggregator()}#e(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}],loaderType:"spa"})})(),window.NRBA=o})(); window.jQuery || document.write(' ') CKEDITOR_BASEPATH='https://f1000research.com/js/vendor/ckeditor/' window.reactTheme = 'research'; window.MathJax = { CommonHTML: { linebreaks: { automatic: true } }, 'HTML-CSS': { linebreaks: { automatic: true } }, SVG: { linebreaks: { automatic: true } }, AuthorInit: function() { MathJax.Hub.Register.MessageHook('End Process', function () { let timeout = false; // holder for timeout id const delay = 250; // delay after event is "complete" to run callback const reflowMath = function() { const dispFormulas = document.querySelectorAll('.disp-formula.panel'); if (!dispFormulas) { return; } for (const dispFormula of dispFormulas) { const child = dispFormula.querySelector('.MathJax_Preview').nextSibling.firstChild; const isMultiline = MathJax.Hub.getAllJax(dispFormula)[0].root.isMultiline; if (dispFormula.offsetWidth < child.offsetWidth || isMultiline) { MathJax.Hub.Queue(['Rerender', MathJax.Hub, dispFormula]); } } }; window.addEventListener('resize', function() { clearTimeout(timeout); // clear the timeout timeout = setTimeout(reflowMath, delay); // start timing for event "completion" }); }); }, }; if (window.location.hash == '#_=_'){ window.location = window.location.href.split('#')[0] } !function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function() {n.callMethod? n.callMethod.apply(n,arguments):n.queue.push(arguments)} ;if(!f._fbq)f._fbq=n; n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0; t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window, document,'script','https://connect.facebook.net/en_US/fbevents.js'); fbq('init', '1641728616063202'); fbq('track', "PixelInitialized", {}); (function(h,o,t,j,a,r){ h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)}; h._hjSettings={hjid:2318163,hjsv:6}; a=o.getElementsByTagName('head')[0]; r=o.createElement('script');r.async=1; r.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv; a.appendChild(r); })(window,document,'https://static.hotjar.com/c/hotjar-','.js?sv='); search file_upload Submit your research search menu close search Browse Gateways & Collections How to Publish Submit your Research My Submissions Article Guidelines Article Guidelines (New Versions) Open Data, Software and Code Guidelines Open Data and Accessible Source Materials Guidelines (HSS) Open Data, Software and Code Guidelines (PSE) Prepublication Checks Production Process Posters and Slides Guidelines Document Guidelines Article Processing Charges Peer Review Finding Article Reviewers About How it Works For Reviewers Our Advisors Policies Glossary FAQs For Developers Newsroom Contact My Research Submissions Content and Tracking Alerts My Details Sign In file_upload Submit your research { "@context": "https://schema.org", "@type": "ScholarlyArticle", "mainEntityOfPage": { "@type": "WebPage", "@id": "https://f1000research.com/articles/15-49" }, "headline": "Forecasting Pepper and Turmeric Prices in India: A Machine Learning Analysis of Macroeconomic Drivers", "datePublished": "2026-01-13T09:08:42", "dateModified": "2026-01-13T09:08:42", "author": [ { "@type": "Person", "name": "Vaishnavi D" }, { "@type": "Person", "name": "Santosh B R" }, { "@type": "Person", "name": "Guruprasad Desai" } ], "publisher": { "@type": "Organization", "name": "F1000Research", "logo": { "@type": "ImageObject", "url": "https://f1000research.com/img/AMP/F1000Research_image.png", "height": 480, "width": 60 } }, "image": { "@type": "ImageObject", "url": "https://f1000research.com/img/AMP/F1000Research_image.png", "height": 1200, "width": 150 }, "description": " Background Accurate forecasting of agricultural commodity prices is crucial for maintaining economic stability and informing data-driven policy interventions in emerging economies, such as India. Price volatility in key spices, such as pepper and turmeric, can significantly impact producers, consumers, and market stakeholders, underscoring the need for robust predictive models that capture both short-term fluctuations and long-term dependencies. Methods This study develops an integrated forecasting framework that combines Machine Learning (Random Forest), Deep Learning (LSTM), and Econometric (VECM) approaches to analyse the dynamic behaviour of Indian pepper and turmeric prices. The models incorporate major macroeconomic determinants, including GDP, Consumer Price Index (CPI), exchange rate, gold price, interest rate, trade volume, and foreign institutional investments (FII), to capture both non-linear and long-term relationships. Model performance was evaluated using RMSE, MAE, and symmetric MAPE (sMAPE) metrics, alongside SHAP-based feature explainability analysis. Results The findings reveal that Random Forest delivers the most robust predictive accuracy overall, especially for Turmeric, while LSTM achieves slightly lower forecast errors for Pepper. Both machine-learning models substantially outperform the VECM in short-term price forecasts. Feature importance and SHAP analyses identified NIFTY50, GDP, CPI, exchange rate, interest rate and gold prices as key drivers of spice price movements. Conclusions Integrating machine learning, deep learning, and econometric models enhances the robustness and interpretability of commodity price forecasting. The study provides empirical evidence that macroeconomic variables significantly influence spice price dynamics, offering a hybrid framework that can support policymakers, traders, and researchers in mitigating market risks and designing more effective agricultural price stabilisation strategies. " } { "@context": "http://schema.org", "@type": "BreadcrumbList", "itemListElement": [ { "@type": "ListItem", "position": "1", "item": { "@id": "https://f1000research.com/", "name": "Home" } }, { "@type": "ListItem", "position": "2", "item": { "@id": "https://f1000research.com/browse/articles", "name": "Browse" } }, { "@type": "ListItem", "position": "3", "item": { "@id": "https://f1000research.com/articles/15-49/v1", "name": "Forecasting Pepper and Turmeric Prices in India: A Machine Learning..." } } ] } Home Browse Forecasting Pepper and Turmeric Prices in India: A Machine Learning... ALL Metrics - Views Downloads Get PDF Get XML Cite How to cite this article D V, B R S and Desai G. Forecasting Pepper and Turmeric Prices in India: A Machine Learning Analysis of Macroeconomic Drivers [version 1; peer review: awaiting peer review] . F1000Research 2026, 15 :49 ( https://doi.org/10.12688/f1000research.174434.1 ) NOTE: If applicable, it is important to ensure the information in square brackets after the title is included in all citations of this article. Close Copy Citation Details Export Export Citation Sciwheel EndNote Ref. Manager Bibtex ProCite Sente EXPORT Select a format first Track Share ▬ ✚ Research Article Forecasting Pepper and Turmeric Prices in India: A Machine Learning Analysis of Macroeconomic Drivers [version 1; peer review: awaiting peer review] Vaishnavi D https://orcid.org/0009-0008-2614-2871 1 , Santosh B R https://orcid.org/0000-0002-2481-1487 1 , Guruprasad Desai https://orcid.org/0000-0003-1446-4618 1 Vaishnavi D https://orcid.org/0009-0008-2614-2871 1 , Santosh B R https://orcid.org/0000-0002-2481-1487 1 , Guruprasad Desai https://orcid.org/0000-0003-1446-4618 1 PUBLISHED 13 Jan 2026 Author details Author details 1 Department of Commerce, Manipal Academy of Higher Education, Manipal, Karnataka, 576104, India Vaishnavi D Roles: Conceptualization, Data Curation, Formal Analysis, Methodology, Writing – Original Draft Preparation Santosh B R Roles: Conceptualization, Supervision, Validation, Writing – Review & Editing Guruprasad Desai Roles: Data Curation, Validation, Writing – Review & Editing OPEN PEER REVIEW REVIEWER STATUS AWAITING PEER REVIEW This article is included in the Manipal Academy of Higher Education gateway. Abstract Background Accurate forecasting of agricultural commodity prices is crucial for maintaining economic stability and informing data-driven policy interventions in emerging economies, such as India. Price volatility in key spices, such as pepper and turmeric, can significantly impact producers, consumers, and market stakeholders, underscoring the need for robust predictive models that capture both short-term fluctuations and long-term dependencies. Methods This study develops an integrated forecasting framework that combines Machine Learning (Random Forest), Deep Learning (LSTM), and Econometric (VECM) approaches to analyse the dynamic behaviour of Indian pepper and turmeric prices. The models incorporate major macroeconomic determinants, including GDP, Consumer Price Index (CPI), exchange rate, gold price, interest rate, trade volume, and foreign institutional investments (FII), to capture both non-linear and long-term relationships. Model performance was evaluated using RMSE, MAE, and symmetric MAPE (sMAPE) metrics, alongside SHAP-based feature explainability analysis. Results The findings reveal that Random Forest delivers the most robust predictive accuracy overall, especially for Turmeric, while LSTM achieves slightly lower forecast errors for Pepper. Both machine-learning models substantially outperform the VECM in short-term price forecasts. Feature importance and SHAP analyses identified NIFTY50, GDP, CPI, exchange rate, interest rate and gold prices as key drivers of spice price movements. Conclusions Integrating machine learning, deep learning, and econometric models enhances the robustness and interpretability of commodity price forecasting. The study provides empirical evidence that macroeconomic variables significantly influence spice price dynamics, offering a hybrid framework that can support policymakers, traders, and researchers in mitigating market risks and designing more effective agricultural price stabilisation strategies. READ ALL READ LESS Keywords Agricultural commodities, Machine Learning, Price forecasting, Macroeconomic variables, Market volatility Corresponding Author(s) Santosh B R ( [email protected] ) Close Corresponding author: Santosh B R Competing interests: No competing interests were disclosed. Grant information: The author(s) declared that no grants were involved in supporting this work. Copyright: © 2026 D V et al . This is an open access article distributed under the terms of the Creative Commons Attribution License , which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. How to cite: D V, B R S and Desai G. Forecasting Pepper and Turmeric Prices in India: A Machine Learning Analysis of Macroeconomic Drivers [version 1; peer review: awaiting peer review] . F1000Research 2026, 15 :49 ( https://doi.org/10.12688/f1000research.174434.1 ) First published: 13 Jan 2026, 15 :49 ( https://doi.org/10.12688/f1000research.174434.1 ) Latest published: 13 Jan 2026, 15 :49 ( https://doi.org/10.12688/f1000research.174434.1 ) 1. Introduction India, often celebrated as the “Land of Spices,” is a dominant player in the global spice trade, contributing substantially to both domestic and international economies. 1 Among its most valuable exports, turmeric and black pepper hold pivotal positions not only for their culinary significance but also for their medicinal, industrial, and cultural importance. 2 The spice sector sustains millions of livelihoods across rural India, linking agricultural productivity to export earnings and global market integration. However, this sector faces persistent challenges, including price volatility, yield fluctuations, and macroeconomic uncertainties. 3 Price instability in agricultural commodities like pepper and turmeric stems from both domestic factors, such as variable production cycles, climatic shocks, and storage inefficiencies, as well as global forces, including exchange rate fluctuations, international trade agreements, and changing consumer preferences. Macroeconomic conditions further exacerbate these challenges; for example, inflationary pressures can increase production costs, while exchange rate depreciation can impact export competitiveness. 4 As such, forecasting price movements with precision is essential for stabilising farmer incomes, informing export policies, and ensuring long-term sustainability in the spice sector. 5 The selection of pepper and turmeric for this study is guided by their economic interlinkages and market structure similarities. Both are perennial crops with high export dependency, price-inelastic domestic demand, and overlapping supply chains involving common intermediaries, logistics systems, and production regions. 6 , 7 These structural parallels suggest the possibility of long-run cointegration where both commodities may share a stable equilibrium relationship influenced by macroeconomic drivers. Existing studies have largely analysed individual commodities or short-term dynamics, often omitting a comparative and hybrid analytical framework that integrates both macroeconomic influences and modern predictive analytics. This research addresses this gap by developing a hybrid econometric–machine learning framework that examines the macroeconomic determinants of turmeric and pepper prices in India. Specifically, it combines traditional econometric modelling using the Vector Error Correction Model (VECM) with advanced Machine Learning (Random Forest) and Deep Learning (LSTM) models to enhance predictive accuracy and interpretability. The objectives of this study are threefold: To identify and quantify the macroeconomic drivers (e.g., GDP, CPI, exchange rate, gold prices, interest rates, and FII inflows) influencing turmeric and pepper price fluctuations; To assess the short-term forecasting accuracy of machine learning and deep learning models relative to econometric approaches; To interpret the long-run equilibrium relationships between the two commodities and the broader macroeconomic environment. By integrating predictive and interpretive models, this study contributes to agricultural economics by offering actionable insights for policy formulation, export strategy, and price risk management. The results are particularly relevant for policymakers, exporters, and farmers seeking evidence-based approaches to mitigate volatility and enhance the long-term resilience of India’s spice trade. 2. Literature review This study is grounded in three complementary theoretical perspectives. First, the Law of One Price and price transmission theory explain how macroeconomic shocks such as exchange rate movements, inflation, and monetary policy changes are transmitted to agricultural commodity prices through trade and cost channels. 8 Second, market integration theory supports the application of cointegration analysis to identify long-run equilibrium relationships between spice prices and macroeconomic fundamentals. 9 Third, behavioural finance and nonlinear market theory provide justification for the use of machine-learning models, as agricultural markets often exhibit asymmetric responses, regime shifts, and nonlinear adjustment patterns that linear econometric models may fail to capture. 10 Integrating these theoretical perspectives enables a richer interpretation of both long-run equilibrium dynamics and short-run price fluctuations. The reviewed literature from Table 1 collectively underscores that agricultural commodity prices are deeply influenced by macroeconomic fundamentals, policy interventions, and market integration. Across the reviewed studies, methods such as VECM, ARIMA-GARCH, and LSTM-based hybrid models consistently reveal that variables like exchange rates, inflation, interest rates, and foreign investments play pivotal roles in determining commodity price volatility. The empirical consensus highlights that while econometric models effectively capture long-run equilibrium and causal linkages, machine learning approaches outperform them in short-run forecasting by accommodating nonlinearity and higher-order interactions. Furthermore, the integration of sustainability and climate-resilient frameworks in recent studies reflects a growing interdisciplinary focus on aligning price forecasting with the Sustainable Development Goals (SDGs), particularly in emerging economies like India, where agriculture remains a key driver of inclusive growth. Table 1. Literature review summarised. Sl No. Year Title Author(s) Objectives Variables Findings Methods Research Gap 1 2024 Return and Volatility Spillover in Equity and Commodity Markets: Some Indian Evidence Tapas Kumar Sethy, Naliniprava Tripathy Study returns and volatility spillovers among Indian equity, agro and non-agro commodity markets Equity indices (BSE SENSEX), commodity indices (MCX Gold/Silver/Crude Oil, NCDEX agri) Bidirectional and unidirectional causal relations; SENSEX dominates info flow; COVID-19 structural breaks affect volatility 11 GARCH, EGARCH with dummy variables; VAR Granger causality Does not examine macroeconomic drivers or spice-specific commodities 2 2024 Fast and Order-Invariant Inference in Bayesian VARs with Nonparametric Shocks Florian Huber, Gary Koop Efficient Bayesian VAR method with nonparametric shocks Macroeconomic variables in the VAR framework Improves forecast accuracy by modeling time-varying shock transmission 12 Bayesian VAR, Dirichlet process mixture, MCMC Methodology not applied to agricultural or spice markets 3 2024 Volatility Spillovers among the Major Commodities: A Bibliometric Review Konstantinos D. Melas Review of literature trends on commodity price volatility spillovers Commodity price volatilities (metals, energy, agriculture) Significant spillovers mainly among metals and energy categories 13 Bibliometric review and literature synthesis No country-specific or commodity-specific modelling 4 2023 A Comparative Multivariate Analysis of VAR and Deep Learning Models for Forecasting Volatile Time Series Akkem Compare multivariate forecasting models: VAR vs deep learning Financial time series (open, high, low, close, volume) Deep learning models outperform VAR; the Transformer best method 14 VAR, LSTM, BI-LSTM, TCN, Multi-head Attention No hybrid econometric–ML frameworks; no macro drivers 5 2023 How Serious is India's Nonperforming Assets Crisis? Mani Investigate the impact of macroeconomic shocks on NPAs in Indian banking NPAs, rainfall, food prices, fiscal and monetary shocks NPA surges mainly not due to macro shocks; feed and fuel shocks influence NPAs 15 Structural macro-financial econometric model Establishes macro-price transmission but not for commodities 6 2023 Price Discovery Mechanism and Volatility Spillover Between the National Agriculture Market and the NCDEX Garg Analyse price discovery & volatility spillovers in Indian agri markets Spot and futures prices and volatilities NCDEX futures and spot lead E-NAM spot prices; volatility spillover is significant 16 Johansen cointegration, VEC, Granger causality, GARCH No macro-variable inclusion; focused on market microstructure 7 2023 Investigating Spillovers between Energy, Food, and Agricultural Commodity Markets Khalfaoui, Shahzad, Asl, Jabeur Quantile coherency analysis of energy, food, and agri spillovers, including the COVID effect Global indices of energy, food, fertiliser, and agriculture Strong fertiliser energy link; weak oil-agri except extremes; COVID increased co-movement 17 Quantile coherency, frequency-domain methods Country-specific analysis absent 8 2023 Different Moments Create Different Spillovers: A Study of Commodity Markets He & Hamori Examine higher moment (skewness, kurtosis) spillovers in commodities Energy, metals, agriculture, livestock Significantly higher moment spillovers; non-linear risk structure 18 Copula-based spillover measures Does not address macroeconomic drivers 9 2023 Dynamic Return and Volatility Connectedness for Dominant Agricultural Commodity Markets During COVID-19 Umar, Escribano, Jareo Examine time-varying connectedness among agri commodity indexes under COVID-19 Grains, soft commodities, livestock indexes Peak connectedness and media sentiment effects during the pandemic 19 TVP-VAR, connectedness indices No India-focused or spice-specific results 10 2023 Price Interconnection of Fuel and Food Markets: Evidence from Biodiesel in the US Tanaka Study price comovement in biodiesel, diesel, and food markets Prices of biodiesel, diesel, soybeans, rapeseed, and canola Strong cointegration, tight feed-food-fuel integration 20 Cointegration, ARDL, Causality Focus on biofuel–food nexus, not spices 11 2022 Quantile Risk Spillovers Between Energy and Agricultural Commodity Markets: Pre and During COVID-19 Tiwari, Abakah, Adewuyi, Lee Analyse quantile risk spillovers with a COVID focus Wheat, corn, sugar, soybean, coffee, cotton, gasoline, crude oil, gas Stronger spillovers at upper/lower quantiles; agri dominates energy at extremes 21 Rolling quantile VAR, Realised variance No forecasting or SHAP interpretability 12 2021 The Impact of COVID-19 on Commodity Markets Volatility Umar, Gubareva, Teplova Analyse the COVID-19 effects on commodity price volatility and panic Energy, agri, livestock, metals, COVID Panic Index Commodity investment diversification and hedging potential shifts 22 Wavelet coherence, phase difference No macro-drivers or India-specific commodities 13 2021 Return and Volatility Transmission Between Oil Price Shocks and Agricultural Commodities Zaghum Umar Study the connectedness between oil price shocks and agri commodities Oil price shocks, agricultural commodity prices Oil shocks Granger-cause agri price changes; connection rise in crises 23 Granger causality, connectedness index Covers global agri, not spice markets 14 2018 Asymmetric Risk Spillovers Between Oil and Agricultural Commodities Shahzad Analyse asymmetric tail risk spillovers between oil and agri commodities Oil, wheat, maize, soybeans, rice prices Risk spillovers intensify during crises; symmetric tail dependence 24 ARMA-GARCH, CoVaR, quantile analysis No comparison between commodities 15 2016 Spillovers Between Output and Stock Prices: A Wavelet Approach McMillan, Tiwari Study time-varying spillovers between output and stock prices GDP, stock prices, consumption, inflation Bidirectional spillover; output leads stock prices 25 Wavelet decomposition, Diebold-Yilmaz index Indicates macro transmission, not tied to agriculture 16 2013 Volatility Spillover Between Oil and Agricultural Commodity Markets Nazlioglu, Erdem, Soytas Test volatility transmission from oil prices to agri commodities pre/post 2006 Oil, wheat, corn, soybeans, sugar Post-2006, oil volatility affects agri prices 26 Causality-in-variance, impulse response, GARCH Does not explore deep learning or ML forecasting 17 2005 Futures Trading Activity and Commodity Cash Price Volatility Jian Yang, Balyeat, Leatham Examine the lead-lag between futures volume and cash price volatility Futures volume and open interest, agri cash prices Futures volume raises volatility; weak feedback from open interest 27 GARCH, Granger causality, FEVD No macroeconomic or ML angle 18 2005 New Introduction to Multiple Time Series Analysis (VAR and Cointegration) Helmut Lütkepohl Provide comprehensive coverage on multiple time series analysis Multivariate time series VAR and VECM models are standard in econometrics 28 Econometric theory, VECM models Useful theoretically; lacks ML & commodity context Guided by the reviewed literature, a panel of macroeconomic and commodity variables was selected for empirical modelling. Table 1 depicts the literature review summary which provides a comparative overview of studies examining commodity price spillovers, volatility transmission, and forecasting methods in agricultural and financial markets. Table 2 provides detailed definitions and sources of all variables employed in the analysis. Table 2. Table showing Variable definition. Variable Definition Source Nifty50 The Indian equity benchmark index, comprising 50 leading firms on the NSE, represents the overall market sentiment. 29 SEBI GDP (Constant Prices) Quarterly real GDP adjusted for inflation; an indicator of economic growth. 30 Ministry of Commerce, Govt. of India Indian Foreign Trade (IFT) Combined quarterly value of exports and imports, measuring trade openness. Ministry of Commerce, Govt. of India Interest Rate (Repo Rate) RBI’s policy repo rate, the key instrument for liquidity control and inflation targeting. 30 Reserve Bank of India (RBI) Foreign Institutional Investment (FII) Net quarterly inflows from foreign institutional investors are a proxy for global capital sentiment 31 Reserve Bank of India (RBI) Gold Rate Domestic gold price per 10g; a traditional inflation hedge and financial market indicator 32 SEBI Index of Industrial Production (IIP) Composite indicator of industrial output, representing manufacturing and infrastructure growth. MOSPI Official Data Consumer Price Index (CPI) Quarterly CPI: a standard measure of retail price inflation. Reserve Bank of India (RBI) Exchange Rate (INR/USD) The average quarterly INR/USD rate indicates external competitiveness. Reserve Bank of India (RBI) Long-Term External Debt (ED) Outstanding debt owed to foreign creditor 33 Reserve Bank of India (RBI) Turmeric Price (NCDEX) Spot and futures prices of turmeric traded on NCDEX; used for price discovery and volatility analysis 34 Reserve Bank of India (RBI) Pepper Price (NCDEX) Spot and futures prices of pepper traded on NCDEX are used for analysing price discovery and risk management 35 NCDEX Despite these advances, there remains a scarcity of empirical studies that combine macroeconomic determinants with machine learning and econometric frameworks to analyse Indian spice markets, particularly for pepper and turmeric. This study contributes a novel, dual-framework approach by integrating the Vector Error Correction Model (VECM) with Random Forest and LSTM architectures to jointly assess long-run equilibrium, short-run dynamics, and nonlinear temporal dependencies in the prices of pepper and turmeric. By incorporating a comprehensive set of macroeconomic determinants, including GDP, CPI, exchange rate, interest rate, foreign institutional investments, and trade volume, this study extends existing evidence to a multi-model, multi-variable framework that captures both structural and data-driven patterns. Moreover, the study fills a key empirical gap by using quarterly data spanning 2010–2025, offering one of the most recent and methodologically integrated analyses of the Indian spice economy. The findings not only advance methodological rigour in agri-price forecasting but also provide policy-relevant insights for managing volatility, export planning, and sustainable agricultural trade under dynamic macroeconomic conditions. 3. Data and Methodology 3.1 Data This study employs secondary quarterly time-series data spanning from 2010–11 (Q1) to 2025–26 (Q2). The dataset integrates a set of macroeconomic indicators that collectively capture both domestic economic activity and external sector dynamics relevant to spice price movements in India. The dependent variables are the spot and futures prices of turmeric and pepper, both traded on the National Commodity and Derivatives Exchange (NCDEX), which represent benchmark indicators for price discovery and volatility assessment in the Indian spice markets. Given the quarterly frequency of the data, seasonal dummy variables are incorporated to capture cyclical influences such as harvest seasons and festival-induced demand surges. Additionally, policy dummies are included to represent structural shifts, notably the introduction of the Goods and Services Tax (GST) in 2017 (Q3) and the COVID-19 lockdown periods (2020: Q2–Q3), which significantly disrupted agricultural supply chains. 3.2 Methodology The methodological framework integrates econometric and machine learning approaches to capture both long-run cointegration and short-term non-linear dynamics in spice price behaviour. Agricultural commodity prices are influenced by both long-run economic fundamentals and short-run nonlinear market dynamics. Econometric models grounded in economic theory, such as the Vector Error Correction Model (VECM), are particularly suitable for identifying long-run equilibrium relationships and adjustment mechanisms among macroeconomic variables. 36 , 37 In the context of agricultural markets, cointegration-based models have been widely used to analyse price transmission, market integration, and equilibrium adjustment. 8 However, VECM relies on linear assumptions and often exhibits limited forecasting accuracy in the presence of nonlinearities, regime shifts, and structural breaks that frequently characterise agricultural commodity markets. 38 Machine learning (ML) and deep learning (DL) models, by contrast, are designed to capture nonlinear relationships, higher-order interactions, and complex temporal dependencies without imposing restrictive functional forms. 39 Random Forest (RF) models have demonstrated strong predictive performance in agricultural price forecasting due to their robustness to multicollinearity, noise, and overfitting, particularly in small and medium-sized datasets. 40 Long Short-Term Memory (LSTM) networks extend this capability by explicitly modelling temporal dependence and long-memory effects in time series data, making them well-suited for capturing price dynamics during volatile periods. 41 , 42 Accordingly, this study adopts a hybrid framework integrating VECM with RF and LSTM models. The VECM provides theory-consistent long-run economic interpretation, while ML and DL models enhance short-run predictive accuracy and capture nonlinear price behaviour. This combined approach enables a comprehensive assessment of spice price dynamics by striking a balance between interpretability, theoretical grounding, and forecasting performance. 3.2.1 Econometric framework The econometric analysis begins with unit root testing using the Augmented Dickey–Fuller (ADF) test and Kwiatkowski–Phillips–Schmidt–Shin (KPSS) test to determine the order of integration. Variables found to be integrated of order one, I(1) , are tested for cointegration using Johansen’s maximum likelihood method, based on both trace and maximum eigenvalue statistics with an unrestricted constant. The cointegration rank ( r ) is selected according to statistical significance, and normalised β-vectors are reported. The optimal lag order ( p ) is selected via Akaike Information Criterion (AIC) under the Vector Autoregression (VAR) framework. The resulting Vector Error Correction Model (VECM) captures both the short-run adjustment dynamics (α) and long-run equilibrium relations (β). Diagnostic checks include: Lagrange Multiplier (LM) Test for serial correlation, ARCH Test for heteroskedasticity, and Doornik–Hansen Test for normality. Dynamic responses are analysed using Impulse Response Functions (IRF) and Forecast Error Variance Decomposition (FEVD) to quantify the magnitude and persistence of shocks in macroeconomic variables on spice prices. 43 Since both dependent series (pepper and turmeric) are found to be I(1), a restricted VECM is applied, defined as: Δ y t = αβ ' y t − 1 + Σ Γ i Δ y t − i + C x t + ε t Where, • y t = [ ln ( Peppe r t ) , ln ( Turmeri c t ) ] ' represents endogenous price variables, • x t includes exogenous macroeconomic regressors, • β represents long-run cointegrating vectors, • α indicates speed of adjustment, and • Γ i captures short-run dynamic effects. This formulation enables the model to isolate commodity-specific linkages (β) while accounting for broader macroeconomic shocks x t . It reduces parameter complexity, mitigating risks of overfitting in small samples. 3.2.2 Machine learning and deep learning framework To complement the econometric model, the study employs Random Forest (RF) and Long Short-Term Memory (LSTM) models for non-linear forecasting and pattern recognition in the same dataset. Random Forest (RF): A robust ensemble learning technique that constructs multiple decision trees and aggregates results to minimise overfitting. It captures complex feature interactions and provides feature importance metrics, enabling the interpretation of which macroeconomic factors most influence spice prices. Long Short-Term Memory (LSTM): A recurrent neural network architecture designed to capture long-term temporal dependencies in sequential data. The model learns from lagged values of the dependent variables and macroeconomic inputs to predict future prices of spices. Both models are trained on normalised data, with an 80:20 train-test split, and evaluated using Root Mean Squared Error (RMSE), Mean Absolute Error (MAE), and Symmetric Mean Absolute Percentage Error (SMAPE). SHAP (Shapley Additive Explanations) analysis is applied post-training to interpret the influence of features at both global and local levels, thereby bridging the gap between predictive accuracy and transparency. Given 62 quarterly observations, this corresponds to approximately 50 observations for training and 12 for testing. Alternative econometric approaches, such as univariate ARIMA, GARCH, and ARDL models, were not adopted because they either focus on a single dependent variable or are limited in capturing multivariate cointegration and cross-market interactions. 44 Given the joint determination of pepper and turmeric prices with macroeconomic variables, a multivariate cointegration framework was necessary. While more complex deep-learning architectures such as Transformers have shown promise in large-scale financial datasets, they require substantially larger sample sizes to achieve stable estimation and avoid overfitting. 45 With a relatively small quarterly sample, simpler yet robust architectures, such as Random Forest and LSTM, are empirically more suitable and widely validated in commodity price forecasting studies. 42 3.2.3 Conceptual framework The conceptual workflow of this study (Model 1) illustrates the integrated application of econometric and machine-learning approaches to analyse spice price dynamics. The analysis begins with the collection of macroeconomic indicators and commodity price data for Pepper and Turmeric, followed by data preprocessing procedures that include normalisation, seasonal and policy adjustments, and feature engineering. Econometric modelling using the Vector Error Correction Model (VECM) is then employed to identify long-run cointegration relationships and causal linkages among variables. To complement this, machine learning and deep learning models, specifically Random Forest (RF) and Long Short-Term Memory (LSTM), are applied to capture nonlinear patterns and enhance short-run forecasting performance. Model accuracy is evaluated using RMSE, MAE, sMAPE, and the Diebold–Mariano test for comparative forecast assessment. Finally, explainability techniques such as SHAP and feature importance analysis are used to interpret the contribution of key macroeconomic drivers, enabling the derivation of policy-relevant and market-oriented insights for exporters, policymakers, and farmers. Model 1: Conceptual framework (Author’s Design) This hybrid econometric–AI framework enhances both predictive power and interpretability, providing a balanced approach to understanding and forecasting the dynamics of agricultural commodity prices. 4. Findings and Discussion 4.1 Results The analysis utilises quarterly time-series data from 2010Q1 to 2025Q2, comprising 62 observations for each variable, including Pepper, Turmeric, Nifty50, GDP, CPI, ER, ED, IFT, IIP, Gold, IR, and FII. 4.2 Descriptive statistics and stationarity According to Table 3 , Pepper exhibits higher levels and volatility than Turmeric, indicating a greater sensitivity to supply shocks and global market dynamics. CPI and ER show persistent upward trends, consistent with inflation and currency depreciation. Nifty50 and GDP demonstrate broader economic cycles. The wide dispersion of ED, IFT, FII and Gold suggests significant macroeconomic variability over the sample period. Table 3. Summary statistics (2010 Q1–2025 Q2). Variable Mean Median Std. Dev. Min Max Nifty50 10,600 9,460 4,720 4,950 19,600 GDP 2,860,000 2,940,000 737,000 1,160,000 3,980,000 CPI 143 140 22.9 105 186 ER 66.7 67 11.3 44.7 82.7 ED 2,720,000 2,670,000 954,000 996,000 4,150,000 IFT 568,000 505,000 199,000 250,000 944,000 IIP 99.8 101 3.6 86.8 105 Gold 40,000 31,000 14,500 20,500 64,400 IR 6.72 6.62 1.53 4.25 9.88 FII 44,900 15,300 115,000 3,060 855,000 Pepper 27,200 22,500 9,240 16,500 43,400 Turmeric 8,930 7,550 3,400 5,560 18,000 Table 4 illustrates that the ADF test examines the presence of a unit root, whereas the KPSS test assesses stationarity in the presence of a deterministic trend. In several cases, such as GDP and CPI, the tests provide conflicting signals (ADF rejects a unit root, while KPSS rejects stationarity). In line with standard time-series pre-testing practice, variables displaying mixed results were treated as I(1) unless both tests consistently indicated stationarity. Accordingly, all variables except NIFTY50 and gold prices were treated as non-stationary in levels and were differenced before inclusion in the VECM. This approach ensures consistency in the presence of borderline or ambiguous unit-root behaviour. Table 4. Unit root tests (ADF & KPSS summary). Variable ADF p-value KPSS Stationarity interpretation Nifty50 0.052 0.462 I(1) GDP 0.023 0.019 Mixed → Treated as I(1) CPI 0.539 >0.10 I(1) ER (Exchange Rate) 0.210 >0.10 I(1) ED (External Debt) 0.461 0.048 Mixed → Treated as I(1) IFT (Trade) 0.841 >0.10 I(1) IIP 0.0148 0.085 Mixed → Treated as I(1) Gold 0.753 >0.10 I(1) IR (Interest Rate) 0.0377 0.041 Mixed → Treated as I(1) FII ≈0 0.040 Mixed → Treated as I(1) Pepper 0.896 0.012 I(1) Turmeric 0.547 >0.10 I(1) The combined use of Augmented Dickey–Fuller (ADF) and KPSS tests strengthens stationarity assessment by exploiting their complementary null hypotheses. While the ADF tests for the presence of a unit root, the KPSS tests the null hypothesis of stationarity. Employing both tests reduces the risk of incorrect integration classification, particularly in small samples where test power may be limited. 46 4.3 Cointegration and lag selection Table 5 shows that both the Trace and the Maximum-Eigenvalue tests reject the null hypothesis of no cointegration, confirming the existence of strong long-run equilibrium relationships among the variables. This validates the application of a Vector Error Correction Model (VECM). Johansen’s cointegration approach is employed because it allows for the identification of multiple cointegrating relationships within a multivariate system, unlike single-equation methods such as the Engle–Granger approach. This is particularly relevant for agricultural markets where prices and macroeconomic variables are jointly determined. 28 , 47 Table 5. Johansen cointegration results. Rank Trace statistic p-value Max-Eigen statistic p-value 0 413.29 0.000 112.29 0.000 1 301.01 0.000 83.13 0.000 2 217.88 0.000 60.54 0.0003 3 157.34 0.000 44.07 0.013 4 113.27 0.000 38.81 0.009 VAR lag length selection Table 6 clearly shows that all information criteria (AIC, BIC, HQC) consistently identify lag 1 as the optimal lag. This is typical for quarterly macroeconomic data and helps avoid over-parameterisation. Information criteria such as AIC and BIC are used to balance model fit and parsimony. Selecting an optimal lag length is especially important in quarterly datasets to prevent over-parameterisation and loss of degrees of freedom. 28 Table 6. VAR lag length selection. Lag Log L AIC BIC HQC 1 –873.559 34.906 36.182 35.395 2 –870.808 34.954 36.380 35.501 4.4 Long-run and short-run VECM results Table 7 shows that Pepper does not adjust significantly to long-run disequilibrium, while Turmeric shows a strong and significant adjustment speed. This indicates that Turmeric is the market that restores long-run equilibrium when deviations occur. Table 7. VECM cointegration vector & adjustment coefficients. Variable β (Pepper=1) α (Pepper) α (Turmeric) Pepper 1.000 0.00152 (ns) — Turmeric –6.941 — –0.02302 (p < 0.01) Table 8 shows that Pepper’s short-run dynamics show only a weak link with Nifty50, implying relative independence from immediate macro shocks. In contrast, Turmeric responds significantly to GDP, CPI, ER, ED, IFT, Gold, and FII, reflecting stronger sensitivity to domestic and trade conditions. Table 8. Significant short-run VECM coefficients. Δ Pepper Equation Variable Coeff. SE p-value Nifty50 –0.778 0.435 0.080 * Δ Turmeric Equation Variable Coeff. SE p-value GDP –0.00155 0.00081 0.062 * CPI –48.11 22.32 0.036 ** ER –223.33 96.99 0.026 ** ED 0.00354 0.00157 0.029 ** IFT 0.00977 0.00319 0.004 *** Gold 0.0811 0.0376 0.036 ** FII 0.00412 0.00116 0.001 *** ECT –0.02302 0.00525 0.0001 *** * p < 0.10, ** p < 0.05, *** p < 0.01. 4.5 Variance decomposition Table 9 shows that Turmeric’s long-run volatility is primarily driven by Interest Rate shocks (~37%) and Gold (~15%), indicating a strong sensitivity to monetary and inflationary pressures. Table 9. Turmeric FEVD. Horizon Nifty50 ER ED IFT Gold IR Pepper Turmeric 1 0.57 0.49 15.98 26.47 0.49 0.06 15.59 40.35 10 11.29 5.07 5.59 4.80 12.62 31.23 15.68 13.72 20 13.18 6.52 3.51 2.46 14.71 36.72 13.87 9.02 Table 10 shows that Pepper is highly self-driven (66% initially) but becomes increasingly influenced by External Debt and IR at longer horizons. Turmeric contributes little to Pepper’s variance (~1%). Table 10. Pepper. Horizon Nifty50 ER ED IFT Gold IR Pepper Turmeric 1 2.12 1.50 2.32 19.53 5.88 2.68 65.98 0.00 10 4.17 3.27 30.81 5.00 1.55 20.78 33.30 1.12 20 4.25 3.71 32.61 4.01 1.23 19.70 33.47 1.02 4.6 Impulse response functions Figure 1 shows that a Pepper shock produces strong, persistent increases in Pepper and modest, delayed increases in Turmeric. A Turmeric shock produces immediate but short-lived effects. ER depreciation increases Pepper strongly. IR hikes depress Turmeric. Gold shocks increase both commodities over medium horizons. Impulse Response Functions (IRFs) and Forecast Error Variance Decomposition (FEVD) are employed to examine the dynamic transmission of macroeconomic shocks and to quantify the relative importance of each variable in explaining price volatility over time, consistent with macro-financial transmission and price spillover theory. 48 Figure 1. IRFs for Pepper and Turmeric. (Author’s computation) This figure presents the impulse response functions (IRFs) for Turmeric (left panel) and Pepper (right panel) in response to shocks across key macroeconomic variables, including Nifty50, exchange rate, external debt, gold prices, interest rate, IFT, IIP, GDP, and FII. Each response is plotted over a 20-period horizon to illustrate both the short-run reactions and the long-run adjustment dynamics following structural shocks. 4.7 Forecasting performance Table 11 shows that LSTM achieves the lowest RMSE, MAE, and sMAPE for Pepper, while Random Forest clearly dominates for Turmeric. Overall, Random Forest provides more robust performance across commodities, whereas LSTM is competitive only for Pepper and substantially overfits Turmeric. VECM operates on absolute price levels rather than normalised values, producing large raw RMSE/MAE magnitudes that are not directly comparable with RF and LSTM. Table 11. Forecasting Accuracy (RF, LSTM, VECM). Commodity Model RMSE MAE sMAPE Pepper Random Forest 2,077.37 2,075.98 9.26 Pepper LSTM 1,948.66 1,805.60 8.31 Pepper VECM 1,499,677 961,048 — Turmeric Random Forest 734.31 615.30 4.11 Turmeric LSTM 3,368.40 3,368.03 25.81 Turmeric VECM 485,739,600 315,535,400 — Figures 2 and 3 show that RF closely tracks the actual series, particularly during the volatile phases that followed 2020. LSTM captures Pepper trends but struggles with Turmeric’s spikes. Overall, Random Forest demonstrates stronger generalizability across commodities, whereas LSTM performs competitively only for Pepper and loses stability in Turmeric’s more volatile price structure. Figure 2. Actual vs Predicted Prices Pepper (RF & LSTM). (Author’s computation. This figure compares actual Pepper prices with forecasts generated by the Random Forest and LSTM models for the test period (2023–2024). The plot illustrates how closely each model tracks observed price movements. Figure 3. Actual vs Predicted Prices Turmeric (RF & LSTM). (Author’s computation). This figure compares observed Turmeric prices with predictions generated by the Random Forest and LSTM models for the test period (2023–2024), showing the relative accuracy of each approach. 4.8 Feature importance and SHAP analysis Figures 4 and 5 show that Pepper depends primarily on Nifty50, GDP, Gold, ER, and IR. Figure 4. Random Forest Feature Importance Pepper. Pepper (Author’s computation). This figure displays the top 10 most influential features contributing to the Random Forest model’s prediction of Pepper prices. Feature importance values represent the relative contribution of each lagged or aggregated macroeconomic predictor. Figure 5. Random Forest Feature Importance Turmeric. (Author’s computation). This figure reports the top 10 features driving Random Forest predictions for Turmeric prices. Importance values reflect each variable’s relative contribution within the model. Turmeric is driven by CPI, Gold, IFT, ER, and IR. Figures 6 and 7 show that SHAP confirms the economic interpretation: CPI ↑ → Turmeric ↑; Nifty50 ↑ → Pepper ↑; ER appreciation → lower prices; IR ↑ → lower Turmeric/Pepper prices Figure 6. SHAP Summary Plot Pepper. (Author’s computation). This figure displays the top 10 most influential features contributing to the Random Forest model’s prediction of Pepper prices. Feature importance values represent the relative contribution of each lagged or aggregated macroeconomic predictor. Figure 7. SHAP Summary Plot Turmeric. (Author’s computation). This SHAP beeswarm plot illustrates how individual features influence the Random Forest model’s predictions of Turmeric prices. Warmer colours indicate higher feature values, while the distribution along the x-axis reflects each variable’s impact magnitude. Across both commodities, exchange rate and interest rate consistently emerge as dominant predictors, with stock market performance (NIFTY50), inflation indicators (CPI), and gold prices contributing substantially. For Pepper, GDP and NIFTY50 exert relatively stronger influence, whereas Turmeric is more sensitive to CPI and input price variations (IFT). These SHAP patterns align with the commodity-specific economic structure discussed earlier. 4.9 Model diagnostics Table 12 shows that the system exhibits acceptable stability and no autocorrelation, but displays ARCH effects and non-normality, which are common in macro-financial data, supporting the use of ML alongside VECM. VECM stability was assessed using the modulus of the companion matrix eigenvalues. For the Pepper–Turmeric system, the eigenvalues were 0.979 and 1.021. Since one eigenvalue slightly exceeds unity, the system is technically marginally unstable, suggesting the presence of weak unit-root behaviour or near-nonstationary adjustment dynamics. This does not invalidate the VECM but implies that long-run equilibrium adjustment may be slow and sensitive to specification. Table 12. VECM diagnostics. Test Statistic p-value Interpretation Autocorrelation (Rao F) 0.84 0.502 No autocorrelation ARCH 54.54 0.025 ARCH present Normality 16.64 0.002 Non-normal residuals Residual Corr. –0.02 — Very low correlation Eigenvalues 0.979, 1.021 — Marginally unstable (one eigenvalue > 1) Table 13 compares the forecasting accuracy of the three models across both commodities. In absolute terms (raw scale), the VECM produces very large RMSE and MAE values because it operates on unscaled price levels. The machine-learning models Random Forest and LSTM perform substantially better and provide realistic short-run forecasts. Relative error metrics (sMAPE) allow a fair comparison across models. Random Forest achieves the strongest predictive accuracy overall (9.26% for Pepper; 4.11% for Turmeric). LSTM performs slightly better for Pepper (8.31%) but overfits Turmeric (25.81%). This confirms Random Forest as the most reliable model for both commodities under typical market conditions. Table 13. Combined model comparison. Commodity Model RMSE (raw) MAE (raw) sMAPE (%) Pepper VECM 1,499,677 961,048 — Pepper Random Forest 2,077.37 2,075.98 9.26 Pepper LSTM 1,948.66 1,805.60 8.31 Turmeric VECM 485,739,600 315,535,400 — Turmeric Random Forest 734.31 615.30 4.11 Turmeric LSTM 3,368.40 3,368.03 25.81 Figure 8 visually confirms the results in the Table. Panel A uses a logarithmic scale to illustrate the significant raw-scale errors produced by VECM compared to machine-learning models. Random Forest and LSTM both produce much lower RMSE values for Pepper and Turmeric. Figure 8. Combined Model Performance Chart. (Author’s computation). This figure compares model performance based on RMSE and MAE for VECM, Random Forest, and LSTM. The logarithmic vertical axis highlights large scale differences between econometric and machine learning model errors. Panel B compares sMAPE, a scale-free measure, and clearly shows that Random Forest has the lowest percentage errors for both commodities. LSTM tracks Pepper fairly well, but performs poorly for Turmeric. In contrast, VECM lacks short-run predictive power but remains valuable for structural long-run analysis. Overall, the combined econometric and machine learning evidence indicates that Pepper is a slower-adjusting, export-linked commodity whose long-run dynamics are primarily driven by exchange rate movements, external debt, and interest rate shocks. In contrast, Turmeric behaves as a domestically anchored, inflation-sensitive commodity that adjusts rapidly to short-run macroeconomic disturbances, particularly changes in the CPI, interest rates, gold prices, and trade-related variables. The VECM confirms strong long-run cointegration but limited short-run predictability, whereas the machine-learning models, especially Random Forest, capture nonlinear behaviour and deliver substantially improved forecast performance. Together, these findings highlight structurally different price-formation mechanisms across the two markets and reinforce the value of combining econometric and ML methods for analysing and forecasting agricultural commodity prices. 4.10 Discussions This study presents a comprehensive investigation of India’s high-value spices, Pepper and Turmeric, through an integrated econometric and machine-learning framework (Johansen cointegration, VECM, FEVD, IRFs, Random Forest, LSTM, SHAP). The hybrid approach enables the identification of long-run equilibria, short-run nonlinear responses, and predictive performance, thus providing a deeper understanding of how macroeconomic variables drive spice price behaviour. 4.10.1 Macroeconomic determinants and structural dynamics The evidence from cointegration and adjustment dynamics confirms robust long-run relationships between macro-variables and spice prices. For Pepper, economic growth (GDP), export/trade flows (IFT), and interest rates emerge as dominant long-run determinants, underscoring its dependence on broader economic and trade cycles. This aligns with earlier findings in, 49 which identified exchange rate, GDP, and interest rate as key influences on Indian pepper exports. For Turmeric, our results indicate that gold prices, CPI inflation, and trade-related variables have a stronger long-run influence, reflecting its closer linkage with inflationary dynamics and domestic consumption patterns. This finding is consistent with broader studies of spice markets such as. 50 The study’s analysis also reveals greater volatility in Turmeric post-2020, likely driven by the post-pandemic supply-chain disruptions and speculative demand spikes, a pattern similar to that observed by. 7 The analysis results indicate that Turmeric’s long-run dynamics are primarily driven by interest-rate and gold-price shocks, while globally linked trade and financial variables (FII) exhibit stronger short-run roles. For Pepper, long-run sensitivity to interest-rate policy contrasts with weaker short-run responses and slower adjustment speed (the error-correction term for Pepper is insignificant). This slower adjustment is in line with the findings of, 51 who documented lagged responses in the Indian pepper market. In comparison, Turmeric corrects disequilibria rapidly (significant ECT), confirming its higher elasticity to shocks. The weak error-correction coefficient for Pepper confirms its slow adjustment to long-run deviations, reflecting its export dependence and sensitivity to external macroeconomic shocks. Turmeric corrects rapidly toward equilibrium, consistent with its strong linkage to domestic inflation and internal demand-supply cycles. 4.10.2 Machine learning, forecasting accuracy, and interpretability The inclusion of Random Forest and LSTM models adds a new dimension by capturing nonlinearities that traditional VECM may overlook. Random Forest identified GDP, ER depreciation, gold price and CPI as the most influential features for both commodities. SHAP analysis validated the directionality: rising GDP and weaker INR drive higher spice prices, while interest-rate hikes exert downward pressure. These feature rankings echo the VECM long-run coefficients, supporting the structural validity of the ML models. Notably, LSTM achieved the best RMSE/MAE for Pepper and matched RF in many segments, particularly during volatile periods (2020–22). However, for Turmeric LSTM over-fitted and yielded a higher sMAPE, whereas Random Forest remained robust with the lowest sMAPE (4.11%). This aligns with, 52 which indicate that tree-based models often yield superior stability compared to neural-net architectures in small samples. Taken together, these results indicate that Random Forest is the most reliable forecasting model overall, even though LSTM has a slight edge for Pepper. Together, the econometric and ML results confirm that macroeconomic drivers remain central to price formation, while ML models enhance short-term forecasting reliability in volatile regimes. 4.10.3 Macroeconomic transmission & Market volatility Our results emphasise that spices operate under multiple transmission channels. Exchange rate fluctuations and gold price movements emerged as key conduits of inflation and liquidity shocks into spice prices. For Pepper, exchange-rate depreciation enhances export competitiveness and lifts domestic price levels, consistent with the economic theory of commodity pass-through. For Turmeric, gold acts as an inflation hedge and speculative asset, thereby influencing price behaviour in inflationary regimes. This multilayered transmission aligns with broader evidence on Indian agricultural commodities by. 53 The contrasting behaviour of Pepper and Turmeric reveals an asymmetric adjustment mechanism and hierarchical market structure. Pepper acts as the price-leader: its shocks explain 31 % of Turmeric’s variance at horizon 20-quarters, whereas Turmeric’s influence on Pepper remains minimal (~1%). These results align with earlier work on hierarchical commodity adjustments in emerging markets. 4.10.4 Theoretical and empirical contributions This research contributes to the literature and practice in three ways: It is among the first to combine VECM-based cointegration modelling with machine learning interpretability (SHAP) in analysing India’s spice markets, bridging traditional econometric rigour with modern AI explainability. It establishes asymmetric price dynamics between pepper and turmeric, offering commodity-specific evidence of macroeconomic transmission mechanisms. It extends the discussion on how macroeconomic volatility, if unbuffered, can propagate through agricultural markets and threaten rural income stability, providing a framework for data-driven policy interventions. 5. Conclusion, policy implications, and limitations 5.1 Policy implications The findings carry several actionable implications for policymakers, traders, and agricultural stakeholders. Given the sensitivity of pepper and turmeric prices to interest rates and foreign trade, policymakers should adopt coordinated monetary–trade strategies that stabilise credit costs while promoting export competitiveness. The presence of long-run equilibrium but short-run volatility suggests the need for hedging instruments, price insurance mechanisms, and warehouse receipt systems that protect farmers from macroeconomic shocks and price swings. The proven predictive strength of LSTM and Random Forest models supports the creation of AI-based price forecasting dashboards that integrate macroeconomic indicators, thereby enabling real-time monitoring and decision support for farmers, exporters, and regulators. The results underscore the importance of integrating sustainability and climate resilience into agricultural value chains. Stable macroeconomic environments, combined with adaptive supply chain policies, can reduce volatility and foster long-term income security for spice farmers. The influence of exchange rates and trade flows suggests that export diversification and bilateral trade agreements can help mitigate domestic markets’ vulnerability to global demand shocks. Since interest rate volatility significantly impacts price levels, ensuring accessible credit lines and inclusive financial products for spice producers can mitigate liquidity constraints and production disruptions. 5.2 Limitations and scope for future research While the present study provides comprehensive insights, certain limitations must be acknowledged. The analysis relies on quarterly secondary data, which may smooth short-term shocks and understate high-frequency volatility, especially in post-pandemic periods. Incorporating monthly or weekly data could enhance sensitivity to sudden market movements. Although policy events (GST, COVID-19) were included through dummy variables, potential nonlinear regime changes and unobserved shocks may not be fully captured. Future studies could employ Markov-switching VECM or time-varying parameter models for deeper structural analysis. While macroeconomic indicators were central, climate, rainfall, and yield data, key supply-side drivers, were not explicitly modelled. Integrating agro-climatic and logistics data would refine the understanding of price dynamics. Although SHAP provides useful insights into feature importance, machine learning models remain partially opaque regarding causality. Hybrid econometric–ML causal frameworks could improve both predictive power and interpretability. The findings, while robust for Indian market conditions, may not directly generalise to other spice-producing economies due to differing policy regimes and trade exposures. Cross-country comparative analyses could enrich global understanding. 5.3 Future research directions Building on these findings, future research can explore: Hybrid causal learning models (VECM–LSTM or ARDL–Transformer hybrids) for interpretable time-series forecasting. Climate-adjusted price models linking weather indices to macroeconomic shocks. Regional market integration studies analysing intra-India price transmission between producing and consuming centres. Sustainability-focused simulations quantifying the trade-offs between price stabilisation, export growth, and environmental resilience. Such extensions will not only deepen empirical precision but also guide India’s ongoing transition toward a digitally intelligent, macro-stable, and sustainable spice economy. 5.4 Conclusion This study examined the macroeconomic factors and dynamic relationships influencing the prices of pepper and turmeric in India through an integrated econometric and machine learning approach. Using Johansen cointegration, VECM, IRF, FEVD, and predictive models such as Random Forest, LSTM, and SHAP analysis, it provides insights into long-term equilibrium and short-term nonlinear adjustments in spice markets. Econometric results indicate that pepper is more sensitive to monetary policy and external shocks, making it a policy-sensitive export. Turmeric exhibits stronger domestic linkages and responds more quickly to fluctuations in inflation, gold prices, and trade volumes. Among the predictive models, Random Forest emerges as the most reliable overall, delivering the lowest forecast errors for Turmeric and competitive performance for Pepper. In contrast, LSTM achieves slightly better accuracy for Pepper alone but overfits Turmeric, particularly during volatile periods. Random Forest and SHAP results confirm that exchange rate changes, inflation, interest rates, and gold prices are key factors for both commodities. Overall, combining econometrics with AI models provides a solid basis for understanding agricultural prices and enhancing forecast accuracy. These findings suggest that while deep-learning architectures capture nuanced temporal dynamics for commodities with smoother long-term structure, tree-based ensemble methods offer greater robustness and stability for markets exhibiting higher volatility or structural shifts. Ethics and consent This study is based exclusively on secondary data obtained from publicly available sources, including government databases and published commodity price series. The analysis does not involve human participants, personal data, or biological samples. Therefore, ethical approval from an institutional review board or ethics committee was not required, in accordance with national and international research guidelines. Data availability statement The dataset supporting the findings of this study has been deposited in the Figshare repository and is publicly available without restriction. The data consist exclusively of secondary, aggregated macroeconomic indicators and commodity price series obtained from publicly available sources and do not involve human participants, personal data, or confidential information. The dataset can be accessed at: https://doi.org/10.6084/m9.figshare.30631103.v1 and https://figshare.com/articles/dataset/_/30631103 . Data citation: Desai, Guruprasad (2025). Macroeconomic Drivers of Agricultural Commodity Prices: Evidence from India’s Pepper and Turmeric Markets. figshare. Dataset. https://doi.org/10.6084/m9.figshare.30631103.v1 54 The data are available under the terms of the Creative Commons Attribution 4.0 International license (CC BY 4.0). References 1. Sharangi AB, Acharya SK: Spices in India and Beyond: The Origin, History, Tradition and Culture. Indian Spices. Cham: Springer International Publishing; 2018; pp. 1–11. 2. Manogna RL, Mishra AK: Financialization of Indian agricultural commodities: the case of index investments. Int. J. Soc. Econ. 2022 Jan 3; 49 (1): 73–96. Publisher Full Text 3. Wolfert S, Ge L, Verdouw C, et al. : Big Data in Smart Farming – A review. Agricultural Systems. Elsevier Ltd; 2017; Vol. 153 . . pp. 69–80. 4. Jaiswal R, Choudhary K, Kumar RR: STL-ELM: A Decomposition-Based Hybrid Model for Price Forecasting of Agricultural Commodities. National Academy Science Letters. 2022 Dec 24; 45 (6): 477–480. Publisher Full Text 5. Sun Z, Katchova AL: The Relationship Between Interest Rates and Agricultural Commodity Price Dynamics. Agribusiness. 2024 Oct 8. Publisher Full Text 6. Irshad MM, Ali Sarkar K, Singh Dhakre D, et al. : Comparative Analysis of Statistical Model and Machine Learning Algorithms in Forecasting Black Pepper Price of Kerala. Biological Forum-An International Journal. 2024; 16 (8): 63. 7. Patare S, Pokharkar V, Hile R: Seasonality and volatility in arrivals and prices of turmeric in major markets of Marathwada region. International Journal of Agriculture Extension and Social Development. 2024 Feb 1; 7 (2): 183–185. Publisher Full Text 8. Nazlioglu S, Soytas U: World oil prices and agricultural commodity prices: Evidence from an emerging market. Energy Econ. 2011 May; 33 (3): 488–496. Publisher Full Text 9. Ghoddusi H: Integration of physical and futures prices in the US natural gas market. Energy Econ. 2016 May; 56 : 229–238. Publisher Full Text 10. Shiller RJ: Irrational Exuberance. Princeton University Press; 2015. Publisher Full Text 11. Sethy TK, Tripathy N: Return and Volatility Spillover in Equity and Commodity Market: Some Indian Evidence. The. Indian Economic Journal. 2024 Oct 12; 72 : 816–834. Publisher Full Text 12. Huber F, Koop G: Fast and order-invariant inference in Bayesian VARs with nonparametric shocks. J. Appl. Econ. 2024 Nov 1; 39 : 1301–1320. Publisher Full Text 13. Melas KD, Faitatzoglou A, Michail NA, et al. : Volatility Spillovers among the Major Commodities: A Bibliometric Review.2024. Reference Source 14. Akkem Y, Biswas SK, Varanasi A: Smart farming using artificial intelligence: A review. Eng. Appl. Artif. Intell. 2023 Apr 1; 120 : 105899. Publisher Full Text 15. Mani N, Mishra AK, Pandikasala J: How Serious is India’s Nonperforming Assets Crisis? A Structural Satellite Version of the Financial-Macroeconometric Model. Asia-Pacific Finan. Markets. 2023 Dec 1; 30 (4): 761–794. Publisher Full Text 16. Garg M, Singhal S, Sood K, et al. : Price Discovery Mechanism and Volatility Spillover between National Agriculture Market and National Commodity and Derivatives Exchange: The Study of the Indian Agricultural Commodity Market. Journal of Risk and Financial Management. 2023 Feb 1; 16 (2). Publisher Full Text 17. Khalfaoui R, Shahzad U, Ghaemi Asl M, et al. : Investigating the spillovers between energy, food, and agricultural commodity markets: New insights from the quantile coherency approach. Q. Rev. Econ. Finance. 2023 Apr 1; 88 : 63–80. Publisher Full Text 18. He X, Hamori S: DIFFERENT MOMENTS CREATE DIFFERENT SPILLOVERS: A STUDY OF COMMODITY MARKETS. Singap. Econ. Rev. 2023; 70 : 537–558. Publisher Full Text 19. Umar Z, Jareño F, Escribano A: Dynamic return and volatility connectedness for dominant agricultural commodity markets during the COVID-19 pandemic era. Appl. Econ. 2022; 54 (9): 1030–1054. Publisher Full Text 20. Tanaka T, Guo J, Wang X: Price interconnection of fuel and food markets: Evidence from biodiesel in the United States. GCB Bioenergy. 2023 Jul 1; 15 (7): 886–899. Publisher Full Text 21. Tiwari AK, Abakah EJA, Adewuyi AO, et al. : Quantile risk spillovers between energy and agricultural commodity markets: Evidence from pre and during COVID-19 outbreak. Energy Econ. 2022 Sep 1; 113 : 106235. Publisher Full Text 22. Umar Z, Gubareva M, Teplova T: The impact of Covid-19 on commodity markets volatility: Analyzing time-frequency relations between commodity prices and coronavirus panic levels. Res. Policy. 2021 Oct 1; 73 : 102164. Publisher Full Text 23. Umar Z, Gubareva M, Naeem M, et al. : Return and volatility transmission between oil price shocks and agricultural commodities. PLoS One. 2021 Feb 1; 16 (2 February 2021): e0246886. PubMed Abstract | Publisher Full Text | Free Full Text 24. Shahzad SJH, Hernandez JA, Al-Yahyaee KH, et al. : Asymmetric risk spillovers between oil and agricultural commodities. Energy Policy. 2018 Jul 1; 118 : 182–198. Publisher Full Text 25. McMillan DG, Kumar TA: Spillovers between output and stock prices: a wavelet approach. Stud. Econ. Financ. 2016; 33 (4): 625–637. Publisher Full Text 26. Nazlioglu S, Erdem C, Soytas U: Volatility spillover between oil and agricultural commodity markets. Energy Econ. 2013 Mar; 36 : 658–665. Publisher Full Text 27. Yang J, Balyeat RB, Leatham DJ: Futures trading activity and commodity cash price volatility. J. Bus. Financ. Acc. 2005 Jan; 32 (1–2): 297–323. Publisher Full Text 28. Lütkepohl H: New Introduction to Multiple Time Series Analysis. Berlin, Heidelberg: Springer Berlin Heidelberg; 2005. 29. Nagula PK, Alexakis C: A Novel Machine Learning Approach for Predicting the NIFTY50 Index in India. Int. Adv. Econ. Res. 2022 Nov 6; 28 (3–4): 155–170. Publisher Full Text 30. Kumar R, Jhajharia AK, Rohila AK, et al. : Awareness and Challenges Faced by Farmers in Marketing Agricultural Produce through the e-National Agriculture Market (e-NAM). Asian Journal of Agricultural Extension, Economics & Sociology. 2024 Jun 12; 42 (6): 276–283. Publisher Full Text 31. Peer AH, Baig MA: Inflation Targeting and Exchange Rate Pass-Through in India: An Empirical Investigation.2021; 115–127. 32. Anthony MJM, Gupta SRK, Chinngaihlian MS: The Impact of Advanced Economy Monetary Policy on Gold Price Dynamics in India. Indian Journal of Economics and Finance. 2022 Nov 30; 2 (2): 57–63. Publisher Full Text 33. Varughese A, Mathew T: Asymmetric Volatility of the Indian Stock Market and Foreign Portfolio Investments: An Empirical Study. 34. Siddavatam RP, Rao SA: Price risk management of turmeric commodity futures (NCDEX) and spot Market. Asian Journal of Multidimensional Research. 2021; 10 (11): 814–834. Publisher Full Text 35. Nadig A, Viswanathan T: Price discovery and volatility transmission in the spot and futures market of pepper: an empirical analysis. International Journal of Intelligent Enterprise. 2022; 9 (1): 78. Publisher Full Text 36. Engle-Granger. 37. Johansen S: Statistical analysis of cointegration vectors. J. Econ. Dyn. Control. 1988 Jun; 12 (2–3): 231–254. Publisher Full Text 38. Lyócsa: Munich Personal RePEc Archive Stationarity of time series and the problem of spurious regression.2009. 39. Hastie T, Tibshirani R, Friedman J: The Elements of Statistical Learning. New York, NY: Springer New York; 2009. 40. Breiman L: Random Forests. Mach. Learn. 2001 Oct; 45 (1): 5–32. Publisher Full Text 41. Hochreiter S, Schmidhuber J: Long Short-Term Memory. Neural Comput. 1997 Nov 1; 9 (8): 1735–1780. Publisher Full Text 42. Sezer OB, Gudelek MU, Ozbayoglu AM: Financial time series forecasting with deep learning: A systematic literature review: 2005–2019. Appl. Soft Comput. 2020 May; 90 : 106181. Publisher Full Text 43. Usman M, Fatin DF, Barusman MYS, et al. : Application of Vector Error Correction Model (VECM) and Impulse Response Function for Analysis Data Index of Farmers’ Terms of Trade. Indian. J. Sci. Technol. 2017 Feb 1; 10 (19): 1–14. Publisher Full Text 44. Pesaran MH, Shin Y, Smith RJ: Bounds testing approaches to the analysis of level relationships. J. Appl. Econ. 2001 May 22; 16 (3): 289–326. Publisher Full Text 45. Lim B, Zohren S: Time-series forecasting with deep learning: a survey. Philos. Trans. R. Soc. A Math. Phys. Eng. Sci. 2021 Apr 5; 379 (2194): 20200209. Publisher Full Text 46. Kwiatkowski D, Phillips PCB, Schmidt P, et al. : Testing the null hypothesis of stationarity against the alternative of a unit root. J. Econ. 1992 Oct; 54 (1–3): 159–178. Publisher Full Text 47. Johansen S: Estimation and Hypothesis Testing of Cointegration Vectors in Gaussian Vector Autoregressive Models. Econometrica. 1991 Nov; 59 (6): 1551. Publisher Full Text 48. Diebold FX, Yilmaz K: Better to give than to receive: Predictive directional measurement of volatility spillovers. Int. J. Forecast. 2012 Jan; 28 (1): 57–66. Publisher Full Text 49. Jain R, Elangovan G, Lakshminarayanan K: Do the Macroeconomic Determinants of Export Destinations Matter? The Case of Indian Black Pepper. J. Ind. Compet. Trade. 2025 May 1; 25 (1). Publisher Full Text 50. Samal A, Ummalla M, Goyari P: The impact of macroeconomic factors on food price inflation: an evidence from India. Future Business Journal. 2022 Jun 21; 8 (1). Publisher Full Text 51. Cariappa AGA, Chandel BS: Why are the pepper prices declining? An analysis of changing production and trade scenario in India. J. Plant. Crop. 2020 Apr 25; 60–69. Publisher Full Text 52. Ray S, Lama A, Mishra P, et al. : An ARIMA-LSTM model for predicting volatile agricultural price series with random forest technique. Appl. Soft Comput. 2023 Dec; 149 : 110939. Publisher Full Text 53. Ravi Kumar KN, Naidu GM, Shafiwu AB: Exploring the drivers of Indian agricultural exports: a dynamic panel data approach. Cogent Economics & Finance. 2024 Dec 31; 12 (1). Publisher Full Text 54. Desai G: Macroeconomic Drivers of Agricultural Commodity Prices: Evidence from India’s Pepper and Turmeric Markets. Dataset. figshare. 2025 [cited 2025 Dec 18]. Publisher Full Text Comments on this article Comments (0) Version 1 VERSION 1 PUBLISHED 13 Jan 2026 ADD YOUR COMMENT Comment Author details Author details 1 Department of Commerce, Manipal Academy of Higher Education, Manipal, Karnataka, 576104, India Vaishnavi D Roles: Conceptualization, Data Curation, Formal Analysis, Methodology, Writing – Original Draft Preparation Santosh B R Roles: Conceptualization, Supervision, Validation, Writing – Review & Editing Guruprasad Desai Roles: Data Curation, Validation, Writing – Review & Editing Competing interests No competing interests were disclosed. Grant information The author(s) declared that no grants were involved in supporting this work. Article Versions (1) version 1 Published: 13 Jan 2026, 15:49 https://doi.org/10.12688/f1000research.174434.1 Copyright © 2026 D V et al . This is an open access article distributed under the terms of the Creative Commons Attribution License , which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. Download Export To Sciwheel Bibtex EndNote ProCite Ref. Manager (RIS) Sente metrics Views Downloads F1000Research - - PubMed Central info_outline Data from PMC are received and updated monthly. - - Citations open_in_new 0 open_in_new 0 open_in_new SEE MORE DETAILS CITE how to cite this article D V, B R S and Desai G. Forecasting Pepper and Turmeric Prices in India: A Machine Learning Analysis of Macroeconomic Drivers [version 1; peer review: awaiting peer review] . F1000Research 2026, 15 :49 ( https://doi.org/10.12688/f1000research.174434.1 ) NOTE: If applicable, it is important to ensure the information in square brackets after the title is included in all citations of this article. COPY CITATION DETAILS track receive updates on this article Track an article to receive email alerts on any updates to this article. TRACK THIS ARTICLE Share Open Peer Review Current Reviewer Status: AWAITING PEER REVIEW AWAITING PEER REVIEW ? Key to Reviewer Statuses VIEW HIDE Approved The paper is scientifically sound in its current form and only minor, if any, improvements are suggested Approved with reservations A number of small changes, sometimes more significant revisions are required to address specific details and improve the papers academic merit. Not approved Fundamental flaws in the paper seriously undermine the findings and conclusions Comments on this article Comments (0) Version 1 VERSION 1 PUBLISHED 13 Jan 2026 ADD YOUR COMMENT Comment keyboard_arrow_left keyboard_arrow_right Open Peer Review Reviewer Status AWAITING PEER REVIEW Comments on this article All Comments (0) Add a comment Sign up for content alerts Sign Up You are now signed up to receive this alert Browse by related subjects Alongside their report, reviewers assign a status to the article: Approved - the paper is scientifically sound in its current form and only minor, if any, improvements are suggested Approved with reservations - A number of small changes, sometimes more significant revisions are required to address specific details and improve the papers academic merit. Not approved - fundamental flaws in the paper seriously undermine the findings and conclusions Adjust parameters to alter display View on desktop for interactive features Includes Interactive Elements View on desktop for interactive features Competing Interests Policy Provide sufficient details of any financial or non-financial competing interests to enable users to assess whether your comments might lead a reasonable person to question your impartiality. Consider the following examples, but note that this is not an exhaustive list: Examples of 'Non-Financial Competing Interests' Within the past 4 years, you have held joint grants, published or collaborated with any of the authors of the selected paper. You have a close personal relationship (e.g. parent, spouse, sibling, or domestic partner) with any of the authors. You are a close professional associate of any of the authors (e.g. scientific mentor, recent student). You work at the same institute as any of the authors. You hope/expect to benefit (e.g. favour or employment) as a result of your submission. You are an Editor for the journal in which the article is published. Examples of 'Financial Competing Interests' You expect to receive, or in the past 4 years have received, any of the following from any commercial organisation that may gain financially from your submission: a salary, fees, funding, reimbursements. You expect to receive, or in the past 4 years have received, shared grant support or other funding with any of the authors. You hold, or are currently applying for, any patents or significant stocks/shares relating to the subject matter of the paper you are commenting on. Stay Updated Sign up for content alerts and receive a weekly or monthly email with all newly published articles Register with F1000Research Already registered? Sign in Not now, thanks close PLEASE NOTE If you are an AUTHOR of this article, please check that you signed in with the account associated with this article otherwise we cannot automatically identify your role as an author and your comment will be labelled as a “User Comment”. If you are a REVIEWER of this article, please check that you have signed in with the account associated with this article and then go to your account to submit your report, please do not post your review here. If you do not have access to your original account, please contact us . All commenters must hold a formal affiliation as per our Policies . The information that you give us will be displayed next to your comment. User comments must be in English, comprehensible and relevant to the article under discussion. We reserve the right to remove any comments that we consider to be inappropriate, offensive or otherwise in breach of the User Comment Terms and Conditions . Commenters must not use a comment for personal attacks. When criticisms of the article are based on unpublished data, the data should be made available. I accept the User Comment Terms and Conditions Please confirm that you accept the User Comment Terms and Conditions. Affiliation ✕ refresh Please enter your institution. Note: To add your institution or organisation, start typing the name and then select the correct name from the list. Where applicable, the name will appear in both the original language and in English. Do not paste in the name. If the name does not appear in the drop-down list, we will display the information you have entered. ✕ refresh Country/Region * USA UK Canada China France Germany Afghanistan Aland Islands Albania Algeria American Samoa Andorra Angola Anguilla Antarctica Antigua and Barbuda Argentina Armenia Aruba Australia Austria Azerbaijan Bahamas Bahrain Bangladesh Barbados Belarus Belgium Belize Benin Bermuda Bhutan Bolivia Bosnia and Herzegovina Botswana Bouvet Island Brazil British Indian Ocean Territory British Virgin Islands Brunei Bulgaria Burkina Faso Burundi Cambodia Cameroon Canada Cape Verde Cayman Islands Central African Republic Chad Chile China Christmas Island Cocos (Keeling) Islands Colombia Comoros Congo Cook Islands Costa Rica Cote d'Ivoire Croatia Cuba Cyprus Czech Republic Democratic Republic of the Congo Denmark Djibouti Dominica Dominican Republic Ecuador Egypt El Salvador Equatorial Guinea Eritrea Estonia Ethiopia Falkland Islands Faroe Islands Federated States of Micronesia Fiji Finland France French Guiana French Polynesia French Southern Territories Gabon Georgia Germany Ghana Gibraltar Greece Greenland Grenada Guadeloupe Guam Guatemala Guernsey Guinea Guinea-Bissau Guyana Haiti Heard Island and Mcdonald Islands Holy See (Vatican City State) Honduras Hong Kong Hungary Iceland India Indonesia Iran Iraq Ireland Israel Italy Jamaica Japan Jersey Jordan Kazakhstan Kenya Kiribati Kosovo (Serbia and Montenegro) Kuwait Kyrgyzstan Lao People's Democratic Republic Latvia Lebanon Lesotho Liberia Libya Liechtenstein Lithuania Luxembourg Macao Madagascar Malawi Malaysia Maldives Mali Malta Marshall Islands Martinique Mauritania Mauritius Mayotte Mexico Minor Outlying Islands of the United States Moldova Monaco Mongolia Montenegro Montserrat Morocco Mozambique Myanmar Namibia Nauru Nepal Netherlands Antilles New Caledonia New Zealand Nicaragua Niger Nigeria Niue Norfolk Island North Korea North Macedonia Northern Mariana Islands Norway Oman Pakistan Palau Palestinian Territory Panama Papua New Guinea Paraguay Peru Philippines Pitcairn Poland Portugal Puerto Rico Qatar Reunion Romania Russian Federation Rwanda Saint Helena Saint Kitts and Nevis Saint Lucia Saint Pierre and Miquelon Saint Vincent and the Grenadines Samoa San Marino Sao Tome and Principe Saudi Arabia Senegal Serbia Seychelles Sierra Leone Singapore Slovakia Slovenia Solomon Islands Somalia South Africa South Georgia and the South Sandwich Is South Korea South Sudan Spain Sri Lanka Sudan Suriname Svalbard and Jan Mayen Swaziland Sweden Switzerland Syria Taiwan Tajikistan Tanzania Thailand The Gambia The Netherlands Timor-Leste Togo Tokelau Tonga Trinidad and Tobago Tunisia Turkey Turkmenistan Turks and Caicos Islands Tuvalu UK USA Uganda Ukraine United Arab Emirates United States Virgin Islands Uruguay Uzbekistan Vanuatu Venezuela Vietnam Wallis and Futuna West Bank and Gaza Strip Western Sahara Yemen Zambia Zimbabwe Please select your country/region. You must enter a comment. Competing Interests Please disclose any competing interests that might be construed to influence your judgment of the article's or peer review report's validity or importance. Competing Interests Policy Provide sufficient details of any financial or non-financial competing interests to enable users to assess whether your comments might lead a reasonable person to question your impartiality. Consider the following examples, but note that this is not an exhaustive list: Examples of 'Non-Financial Competing Interests' Within the past 4 years, you have held joint grants, published or collaborated with any of the authors of the selected paper. You have a close personal relationship (e.g. parent, spouse, sibling, or domestic partner) with any of the authors. You are a close professional associate of any of the authors (e.g. scientific mentor, recent student). You work at the same institute as any of the authors. You hope/expect to benefit (e.g. favour or employment) as a result of your submission. You are an Editor for the journal in which the article is published. Examples of 'Financial Competing Interests' You expect to receive, or in the past 4 years have received, any of the following from any commercial organisation that may gain financially from your submission: a salary, fees, funding, reimbursements. You expect to receive, or in the past 4 years have received, shared grant support or other funding with any of the authors. You hold, or are currently applying for, any patents or significant stocks/shares relating to the subject matter of the paper you are commenting on. Please state your competing interests The comment has been saved. An error has occurred. Please try again. Cancel Post var lTitle = "Forecasting Pepper and Turmeric Prices in...".replace("'", ''); var linkedInUrl = "http://www.linkedin.com/shareArticle?url=https://f1000research.com/articles/15-49/v1" + "&title=" + encodeURIComponent(lTitle) + "&summary=" + encodeURIComponent('Read the article by '); var deliciousUrl = "https://del.icio.us/post?url=https://f1000research.com/articles/15-49/v1&title=" + encodeURIComponent(lTitle); var redditUrl = "http://reddit.com/submit?url=https://f1000research.com/articles/15-49/v1" + "&title=" + encodeURIComponent(lTitle); linkedInUrl += encodeURIComponent('D V et al.'); var offsetTop = /chrome/i.test( navigator.userAgent ) ? 4 : -10; var addthis_config = { ui_offset_top: offsetTop, services_compact : "facebook,twitter,www.linkedin.com,www.mendeley.com,reddit.com", services_expanded : "facebook,twitter,www.linkedin.com,www.mendeley.com,reddit.com", services_custom : [ { name: "LinkedIn", url: linkedInUrl, icon:"/img/icon/at_linkedin.svg" }, { name: "Mendeley", url: "http://www.mendeley.com/import/?url=https://f1000research.com/articles/15-49/v1/mendeley", icon:"/img/icon/at_mendeley.svg" }, { name: "Reddit", url: redditUrl, icon:"/img/icon/at_reddit.svg" }, ] }; var addthis_share = { url: "https://f1000research.com/articles/15-49", templates : { twitter : "Forecasting Pepper and Turmeric Prices in India: A Machine Learning.... D V et al., published by " + "@F1000Research" + ", https://f1000research.com/articles/15-49/v1" } }; if (typeof(addthis) != "undefined"){ addthis.addEventListener('addthis.ready', checkCount); addthis.addEventListener('addthis.menu.share', checkCount); } $(".f1r-shares-twitter").attr("href", "https://twitter.com/intent/tweet?text=" + addthis_share.templates.twitter); $(".f1r-shares-facebook").attr("href", "https://www.facebook.com/sharer/sharer.php?u=" + addthis_share.url); $(".f1r-shares-linkedin").attr("href", addthis_config.services_custom[0].url); $(".f1r-shares-reddit").attr("href", addthis_config.services_custom[2].url); $(".f1r-shares-mendelay").attr("href", addthis_config.services_custom[1].url); function checkCount(){ setTimeout(function(){ $(".addthis_button_expanded").each(function(){ var count = $(this).text(); if (count !== "" && count != "0") $(this).removeClass("is-hidden"); else $(this).addClass("is-hidden"); }); }, 1000); } close How to cite this report {{reportCitation}} Cancel Copy Citation Details $(function(){R.ui.buttonDropdowns('.dropdown-for-downloads');}); $(function(){R.ui.toolbarDropdowns('.toolbar-dropdown-for-downloads');}); $.get("/articles/acj/174434/192334") new F1000.Clipboard(); new F1000.ThesaurusTermsDisplay("articles", "article", "192334"); $(document).ready(function() { $( "#frame1" ).on('load', function() { var mydiv = $(this).contents().find("div"); var h = mydiv.height(); console.log(h) }); var tooltipLivingFigure = jQuery(".interactive-living-figure-label .icon-more-info"), titleLivingFigure = tooltipLivingFigure.attr("title"); tooltipLivingFigure.simpletip({ fixed: true, position: ["-115", "30"], baseClass: 'small-tooltip', content:titleLivingFigure + " " }); tooltipLivingFigure.removeAttr("title"); $("body").on("click", ".cite-living-figure", function(e) { e.preventDefault(); var ref = $(this).attr("data-ref"); $(this).closest(".living-figure-list-container").find("#" + ref).fadeIn(200); }); $("body").on("click", ".close-cite-living-figure", function(e) { e.preventDefault(); $(this).closest(".popup-window-wrapper").fadeOut(200); }); $(document).on("mouseup", function(e) { var metricsContainer = $(".article-metrics-popover-wrapper"); if (!metricsContainer.is(e.target) && metricsContainer.has(e.target).length === 0) { $(".article-metrics-close-button").click(); } }); var articleId = $('#articleId').val(); if($("#main-article-count-box").attachArticleMetrics) { $("#main-article-count-box").attachArticleMetrics(articleId, { articleMetricsView: true }); } }); var figshareWidget = $(".new_figshare_widget"); if (figshareWidget.length > 0) { window.figshare.load("f1000", function(Widget) { // Select a tag/tags defined in your page. In this tag we will place the widget. _.map(figshareWidget, function(el){ var widget = new Widget({ articleId: $(el).attr("figshare_articleId") //height:300 // this is the height of the viewer part. [Default: 550] }); widget.initialize(); // initialize the widget widget.mount(el); // mount it in a tag that's on your page // this will save the widget on the global scope for later use from // your JS scripts. This line is optional. //window.widget = widget; }); }); } close Error Close Add Reset F1000.MICROSERVICES.AFFILIATION = ''; $(document).ready(function () { $('.js-affiliations-form').each((index, form) => { new AffiliationForm({ formId: form.id, institutionErrorSelector: '.comment-enter-institution', departmentErrorSelector: '.comment-enter-department', placeSelector: '.js-add-comment-place', stateSelector: '.js-add-comment-state', zipCodeSelector: '.js-add-comment-zipcode', countrySelector: '.js-add-comment-country', countryErrorSelector: '.comment-enter-country', }); }); }); $(document).ready(function () { var reportIds = { "470423": 0, "470422": 0, "470421": 0, "470420": 0, "470429": 0, "470428": 0, "470427": 0, "470426": 0, "470425": 0, "470424": 0, "466759": 0, "466758": 0, "466757": 0, "466756": 0, "466765": 0, "475085": 0, "466764": 0, "466763": 0, "466762": 0, "466761": 0, "466760": 0, "453982": 0, "464223": 0, "475103": 0, "453983": 0, "464222": 0, "475102": 0, "453980": 0, "464221": 0, "475101": 0, "453981": 0, "464220": 0, "475100": 0, "464219": 0, "475099": 0, "464218": 0, "475098": 0, "475097": 0, "475096": 0, "453988": 0, "453989": 0, "453986": 0, "464227": 0, "453987": 0, "464226": 0, "453984": 0, "464225": 0, "453985": 0, "464224": 0, "475104": 0, "476911": 0, "476910": 0, "476909": 0, "476908": 0, "476907": 0, "476906": 0, "476905": 0, "476914": 0, "476913": 0, "476912": 0, }; $(".referee-response-container,.js-referee-report").each(function(index, el) { var reportId = $(el).attr("data-reportid"), reportCount = reportIds[reportId] || 0; $(el).find(".comments-count-container,.js-referee-report-views").html(reportCount); }); var uuidInput = $("#article_uuid"), oldUUId = uuidInput.val(), newUUId = "84ed5cf6-074b-4621-b5b9-18f7de7262a3"; uuidInput.val(newUUId); $("a[href*='article_uuid=']").each(function(index, el) { var newHref = $(el).attr("href").replace(oldUUId, newUUId); $(el).attr("href", newHref); }); }); An innovative open access publishing platform offering rapid publication and open peer review, whilst supporting data deposition and sharing. Browse Gateways Collections How it Works Contact For Developers Cookie Notice Privacy Notice RSS Submit Your Research Follow us © 2012-2026 F1000 Research Ltd. ISSN 2046-1402 | Legal | Partner of Research4Life • CrossRef • ORCID • FAIRSharing R.templateTests.simpleTemplate = R.template(' $text $text $text $text $text '); R.templateTests.runTests(); var F1000platform = new F1000.Platform({ name: "f1000research", displayName: "F1000Research", hostName: "f1000research.com", id: "1", editorialEmail: "
[email protected]", infoEmail: "
[email protected]", usePmcStats: true }); $(function(){R.ui.dropdowns('.dropdown-for-authors, .dropdown-for-about, .dropdown-for-myresearch');}); // $(function(){R.ui.dropdowns('.dropdown-for-referees');}); $(document).ready(function () { if ($(".cookie-warning").is(":visible")) { $(".sticky").css("margin-bottom", "35px"); $(".devices").addClass("devices-and-cookie-warning"); } $(".cookie-warning .close-button").click(function (e) { $(".devices").removeClass("devices-and-cookie-warning"); $(".sticky").css("margin-bottom", "0"); }); $("#tweeter-feed .tweet-message").each(function (i, message) { var self = $(message); self.html(linkify(self.html())); }); $(".partner").on("mouseenter mouseleave", function() { $(this).find(".gray-scale, .colour").toggleClass("is-hidden"); }); }); Sign In Remember me Forgotten your password? Sign In Cancel Email or password not correct. Please try again Please wait... $(function(){ // Note: All the setup needs to run against a name attribute and *not* the id due the clonish // nature of facebox... $("a[id=googleSignInButton]").click(function(event){ event.preventDefault(); $("input[id=oAuthSystem]").val("GOOGLE"); $("form[id=oAuthForm]").submit(); }); $("a[id=facebookSignInButton]").click(function(event){ event.preventDefault(); $("input[id=oAuthSystem]").val("FACEBOOK"); $("form[id=oAuthForm]").submit(); }); $("a[id=orcidSignInButton]").click(function(event){ event.preventDefault(); $("input[id=oAuthSystem]").val("ORCID"); $("form[id=oAuthForm]").submit(); }); }); If you've forgotten your password, please enter your email address below and we'll send you instructions on how to reset your password. The email address should be the one you originally registered with F1000. Email address not valid, please try again You registered with F1000 via Google, so we cannot reset your password. To sign in, please click here . If you still need help with your Google account password, please click here . You registered with F1000 via Facebook, so we cannot reset your password. To sign in, please click here . If you still need help with your Facebook account password, please click here . Code not correct, please try again Reset password Cancel Email us for further assistance. Server error, please try again. If your email address is registered with us, we will email you instructions to reset your password. If you think you should have received this email but it has not arrived, please check your spam filters and/or contact for further assistance. Please wait... Register $(document).ready(function () { signIn.createSignInAsRow($("#sign-in-form-gfb-popup")); $(".target-field").each(function () { var uris = $(this).val().split("/"); if (uris.pop() === "login") { $(this).val(uris.toString().replace(",","/")); } }); });
Text is read by the "Ask this paper" AI Q&A widget below.
Extraction quality varies by source — PMC NXML preserves structure
cleanly, OA-HTML may include some navigation residue, and OA-PDF can
have broken hyphenation. The publisher copy
(via DOI)
is the canonical version.