<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Archives theory - Open Forecasting</title>
	<atom:link href="https://openforecast.org/tag/theory/feed/" rel="self" type="application/rss+xml" />
	<link>https://openforecast.org/tag/theory/</link>
	<description>How to look into the future</description>
	<lastBuildDate>Sun, 22 Mar 2026 15:30:09 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2015/08/cropped-usd-05-32x32.png&amp;nocache=1</url>
	<title>Archives theory - Open Forecasting</title>
	<link>https://openforecast.org/tag/theory/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>The real Dunning-Kruger effect</title>
		<link>https://openforecast.org/2026/03/23/the-real-dunning-kruger-effect/</link>
					<comments>https://openforecast.org/2026/03/23/the-real-dunning-kruger-effect/#respond</comments>
		
		<dc:creator><![CDATA[Ivan Svetunkov]]></dc:creator>
		<pubDate>Mon, 23 Mar 2026 09:03:35 +0000</pubDate>
				<category><![CDATA[Social media]]></category>
		<category><![CDATA[statistics]]></category>
		<category><![CDATA[theory]]></category>
		<guid isPermaLink="false">https://openforecast.org/?p=4096</guid>

					<description><![CDATA[<p>Many of you have seen this image on the Internet — I&#8217;ve seen it myself a few times on LinkedIn lately. People say it depicts the &#8220;Dunning-Kruger&#8221; effect&#8230; But did you know this is actually an internet meme with little to do with the original paper? Here is one of the recent examples, a screenshot [&#8230;]</p>
<p>Message <a href="https://openforecast.org/2026/03/23/the-real-dunning-kruger-effect/">The real Dunning-Kruger effect</a> first appeared on <a href="https://openforecast.org">Open Forecasting</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Many of you have seen this image on the Internet — I&#8217;ve seen it myself a few times on LinkedIn lately. People say it depicts the &#8220;Dunning-Kruger&#8221; effect&#8230; But did you know this is actually an internet meme with little to do with the original paper?</p>
<p>Here is one of the recent examples, a screenshot of <a href="https://www.linkedin.com/posts/fotios-petropoulos-04536023_dear-mr-i-reduce-forecast-error-by-30-share-7437246645530140672-NXnT">the post of Fotios Petropoulos</a> about the effect.</p>
<div id="attachment_4098" style="width: 282px" class="wp-caption aligncenter"><a href="https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2026/03/2026-03-22-Dunning-Kruger-Petropoulos.png&amp;nocache=1"><img fetchpriority="high" decoding="async" aria-describedby="caption-attachment-4098" src="https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2026/03/2026-03-22-Dunning-Kruger-Petropoulos-272x300.png&amp;nocache=1" alt="A LinkedIn post by Fotios Petropoulos" width="272" height="300" class="size-medium wp-image-4098" srcset="https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2026/03/2026-03-22-Dunning-Kruger-Petropoulos-272x300.png&amp;nocache=1 272w, https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2026/03/2026-03-22-Dunning-Kruger-Petropoulos.png&amp;nocache=1 556w" sizes="(max-width: 272px) 100vw, 272px" /></a><p id="caption-attachment-4098" class="wp-caption-text">A LinkedIn post by Fotios Petropoulos</p></div>
<p>In the original paper, <a href="https://psycnet.apa.org/doi/10.1037/0022-3514.77.6.1121">Kruger and Dunning (1999)</a> ran experiments with undergraduates on humour, logical reasoning, and grammar. Participants completed a test and estimated their percentile rank. The authors then sorted participants into four quartiles by actual performance and computed averages for actual and self-assessed performance for each quartile. The plots in their paper &#8211; the real Dunning–Kruger effect &#8211; are just four data points per line, not a smooth curve over a learning journey (second image).</p>
<p>What did they find? People in the bottom quartile substantially overestimated their performance, often believing they were average or above. Top performers slightly underestimated their standing. The key finding is an asymmetry in miscalibration: low performers overestimate, high performers slightly underestimate.</p>
<p>This has almost nothing to do with the popular &#8220;experience vs. confidence&#8221; image. The original X‑axis is performance quartile at a single point in time; the meme&#8217;s X‑axis is a vague notion of &#8220;experience&#8221; through time. The original Y‑axis is the assessed test percentile; the meme&#8217;s is a free‑floating &#8220;confidence&#8221; construct. In the actual data, perceived performance increases with actual performance &#8211; there is no early spike, no &#8220;valley of despair,&#8221; no &#8220;slope of enlightenment.&#8221; That swooping curve is an internet-era graphic never reported by Kruger and Dunning, and it misleadingly frames the effect as a personal development trajectory the paper never studied.</p>
<p>There is also a serious critique of the original paper from statistical point of view. For example, <a href="https://doi.org/10.1016/j.intell.2020.101449">Gignac and Zajenkowski (2020)</a> showed that sorting people into quartiles and plotting average self-assessment against average performance can, by itself, generate the characteristic pattern &#8211; purely as a statistical artefact. In their own empirical data, miscalibration was roughly constant across ability levels, consistent with measurement noise rather than a special cognitive deficit in low performers. You can actually reproduce the pattern using two random uncorrelated variables. Here is a simple example in R:</p>
<pre class="decode">set.seed(41)

x <- rnorm(10000, 100, 10)
y <- rnorm(10000, 100, 10)
plot(x,y)
xQ <- quantile(x)
yQ <- quantile(y)

yMeans <- xMeans <- vector("numeric",4)

for(i in 1:4){
    xMeans[i] <- mean(x[x<xQ[i+1] &#038; x>xQ[i]])
    yMeans[i] <- mean(y[x<xQ[i+1] &#038; x>xQ[i]])
}

plot(1:4, xMeans, type="b", ylim=range(xMeans,yMeans),
     xlab="Real performance", ylab="Assessed performance",
     lwd=2)
lines(yMeans, lwd=2, lty=2)
points(yMeans, lwd=2)
legend("topleft",
       legend=c("Actual performance", "Assessed performance"),
       lwd=2, lty=c(1,2), pch=1)</pre>
<p>Which produces the image like this:</p>
<div id="attachment_4100" style="width: 310px" class="wp-caption aligncenter"><a href="https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2026/03/2026-03-22-Dunning-Kruger-R.png&amp;nocache=1"><img decoding="async" aria-describedby="caption-attachment-4100" src="https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2026/03/2026-03-22-Dunning-Kruger-R-300x175.png&amp;nocache=1" alt="Dunning-Kruger plot reproduction" width="300" height="175" class="size-medium wp-image-4100" srcset="https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2026/03/2026-03-22-Dunning-Kruger-R-300x175.png&amp;nocache=1 300w, https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2026/03/2026-03-22-Dunning-Kruger-R-1024x597.png&amp;nocache=1 1024w, https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2026/03/2026-03-22-Dunning-Kruger-R-768x448.png&amp;nocache=1 768w, https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2026/03/2026-03-22-Dunning-Kruger-R.png&amp;nocache=1 1200w" sizes="(max-width: 300px) 100vw, 300px" /></a><p id="caption-attachment-4100" class="wp-caption-text">Dunning-Kruger plot reproduction</p></div>
<p>If you introduce a correlation between the two variables, the images starts looking even more similar to the ones from the original paper.</p>
<p>So there might be a real effect &#8211; many follow-up studies have measured it with more rigorous tools &#8211; but Dunning and Kruger&#8217;s method was not the right one to establish it. And that image with experience vs confidence is just a meme and a serious misconception that should not be used.</p>
<p>P.S. If you wonder who the &#8220;leading expert&#8221; that Fotios Petropoulos refers to in his post is &#8211; it&#8217;s me. Not sure why he doesn&#8217;t tag me properly.</p>
<p>Message <a href="https://openforecast.org/2026/03/23/the-real-dunning-kruger-effect/">The real Dunning-Kruger effect</a> first appeared on <a href="https://openforecast.org">Open Forecasting</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://openforecast.org/2026/03/23/the-real-dunning-kruger-effect/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>There&#8217;s no such thing as &#8220;deterministic forecast&#8221;</title>
		<link>https://openforecast.org/2026/03/02/there-s-no-such-thing-as-deterministic-forecast/</link>
					<comments>https://openforecast.org/2026/03/02/there-s-no-such-thing-as-deterministic-forecast/#respond</comments>
		
		<dc:creator><![CDATA[Ivan Svetunkov]]></dc:creator>
		<pubDate>Mon, 02 Mar 2026 22:45:31 +0000</pubDate>
				<category><![CDATA[Social media]]></category>
		<category><![CDATA[Theory of forecasting]]></category>
		<category><![CDATA[extrapolation methods]]></category>
		<category><![CDATA[statistics]]></category>
		<category><![CDATA[theory]]></category>
		<guid isPermaLink="false">https://openforecast.org/?p=4081</guid>

					<description><![CDATA[<p>Sometimes I see people referring to a &#8220;deterministic&#8221; forecast, and I have some personal issues with this. Because if you apply a model to data then there is nothing deterministic about your forecasts! In many contexts, &#8220;deterministic&#8221; has a precise meaning: no randomness, no uncertainty. A deterministic solution to an optimisation problem (e.g. linear programming) [&#8230;]</p>
<p>Message <a href="https://openforecast.org/2026/03/02/there-s-no-such-thing-as-deterministic-forecast/">There&#8217;s no such thing as &#8220;deterministic forecast&#8221;</a> first appeared on <a href="https://openforecast.org">Open Forecasting</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Sometimes I see people referring to a &#8220;deterministic&#8221; forecast, and I have some personal issues with this. Because if you apply a model to data then there is nothing deterministic about your forecasts!</p>
<p>In many contexts, &#8220;deterministic&#8221; has a precise meaning: no randomness, no uncertainty. A deterministic solution to an optimisation problem (e.g. linear programming) implies that there are no random inputs or outputs once the model and its parameters are fixed. Forecasting is different. As <a href="https://onlinelibrary.wiley.com/doi/10.1002/(SICI)1099-131X(199612)15:7%3C495::AID-FOR640%3E3.0.CO;2-O">Chatfield</a> and many others have pointed out, forecasting has multiple sources of uncertainty, and there is essentially zero chance that the future will unfold exactly as any single number suggests.</p>
<p>Yes, some people use &#8220;deterministic&#8221; as a synonym for &#8220;point forecast&#8221;. But that label is still misleading, because a point forecast is not uncertainty-free &#8211; it is just one summary of a predictive distribution (often the conditional mean, sometimes the median or another functional).</p>
<p>Here’s a quick reality check you can do yourself. Take a dataset, apply your model, and write down the point forecast for the next few observations. Now add one new observation, re-estimate, and forecast again (the image in this post depicts exactly that, but with 50 forecasts produced on different subsamples of data). The point forecast will change unless you are dealing with an exotic situation with non-random data (e.g. every day, you sell exactly 100 units). So, which of the two was the &#8220;deterministic&#8221; forecast? If forecasts were truly deterministic in the strict sense, you would not get multiple plausible values from small, reasonable changes in the sample.</p>
<p>This happens because any forecasting method (statistical or ML) depends on data and on modelling choices: parameter estimation, feature selection, splitting rules, tuning, even decisions like &#8220;use α=0.1&#8221;. Those choices can be fixed across samples of data, but fixing them does not remove uncertainty &#8211; it only hides it. The randomness is still there in the data and in the fact that we only observe a sample of it.</p>
<p>So when you see someone mentioning &#8220;deterministic forecast&#8221;, it&#8217;s worth translating it mentally to: &#8220;a point forecast, probably a conditional mean&#8221;. If you care about decisions and risk, you should know that there is an uncertainty associated with this so called &#8220;deterministic forecast&#8221;, and that it should not be ignored. But this is a topic for another discussion in another post.</p>
<p>Message <a href="https://openforecast.org/2026/03/02/there-s-no-such-thing-as-deterministic-forecast/">There&#8217;s no such thing as &#8220;deterministic forecast&#8221;</a> first appeared on <a href="https://openforecast.org">Open Forecasting</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://openforecast.org/2026/03/02/there-s-no-such-thing-as-deterministic-forecast/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Scaling of error measures</title>
		<link>https://openforecast.org/2026/02/23/scaling-of-error-measures/</link>
					<comments>https://openforecast.org/2026/02/23/scaling-of-error-measures/#respond</comments>
		
		<dc:creator><![CDATA[Ivan Svetunkov]]></dc:creator>
		<pubDate>Mon, 23 Feb 2026 13:36:12 +0000</pubDate>
				<category><![CDATA[Forecast evaluation]]></category>
		<category><![CDATA[Social media]]></category>
		<category><![CDATA[Theory of forecasting]]></category>
		<category><![CDATA[error measures]]></category>
		<category><![CDATA[theory]]></category>
		<guid isPermaLink="false">https://openforecast.org/?p=4054</guid>

					<description><![CDATA[<p>Apparently, we need to talk about scaling of error measures because this is not as obvious as it seems. In forecasting literature, since early days of the area, there has been a general consensus that the forecast errors from the individual time series should not be analysed and aggregated as is. This is because you [&#8230;]</p>
<p>Message <a href="https://openforecast.org/2026/02/23/scaling-of-error-measures/">Scaling of error measures</a> first appeared on <a href="https://openforecast.org">Open Forecasting</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Apparently, we need to talk about scaling of error measures because this is not as obvious as it seems.</p>
<p>In forecasting literature, since early days of the area, there has been a general consensus that the forecast errors from the individual time series should not be analysed and aggregated as is. This is because you can have very different time series capturing dynamics of very different processes.</p>
<p>Indeed, if you forecast sales of apples in kilograms, your actual value would be apples in kilograms, and your point forecast would also be in the same units. Subtracting one from another tells us how many kilograms of apples we missed with the forecast we produced. But if we then take the average between forecast errors for apples and beer, we would be aggregating things in different units, which contradicts some basic aggregating principles.</p>
<p>Furthermore, if the company sells thousands of kilograms of apples and jet engines, aggregating forecast errors on those (e.g. 3000 vs 3) might introduce all types of issues, because the models performance on apples might mask the performance of the model on jet engines. Still, the jet engines are much more expensive than apples and getting them accurately might be more important for the company than forecasting apples.</p>
<p>So, forecasting literature has agreed that the forecast errors need to be somehow scaled to make the errors unitless and not to distort performance of models on time series with different volumes. There are several ways of doing that, including the poor ones and reasonable ones. The state of the art at the moment is to divide error measures by some in-sample statistics to avoid potential holdout-sample distortion. Using mean absolute differences (MAD) for this (thus ending up with MASE or RMSSE) is considered as a standard. A couple of years ago, <a href="/2019/08/25/are-you-sure-youre-precise-measuring-accuracy-of-point-forecasts/">I have written a post about advantages and disadvantages of several scaling methods</a>.</p>
<p>But there is one method that I haven&#8217;t looked at and which is not very well discussed in the forecasting literature. It relies on the monetary value of forecasts. We could multiply each individual forecast error &#8220;e&#8221; by the price of the product &#8220;p&#8221; (thus moving to the missed income per product) and then divide everything by the overall income (price times quantity) from different products. This can be written as:</p>
<p>\begin{equation}<br />
\text{monetary Mean Error} = \frac{\sum_{j=1}^n (p_j \times e_j)} {\sum_{j=1}^n (p_j \times q_j)}<br />
\end{equation}</p>
<p>(the above formula can be modified to have squares or absolute values of the error). This way we switch from the original units to the monetary values and each error would tell you the percentage of the missed income in the overall one. This is a useful measure because it connects models performance with some managerial decisions and it takes the value of product into account (thus we do not mask the expensive jet engines with cheap apples).</p>
<p>However, it might have a potential issue similar to what the MAE/Mean or wMAPE has: if the sales of the product are not stationary, the denominator would change, thus driving the proportion either up or down, irrespective of how good the forecast is. I am not sure whether this needs to be addressed, because there is an argument that if the income from a product has increased and the error hasn&#8217;t changed, then this means that the proportion of the missed income decreased, which makes sense. But if we need to address this, we can switch to the MAD multiplied by price in the denominator to address this issue. In fact, this was sort of done in <a href="https://doi.org/10.1016/j.ijforecast.2021.11.013">M5 competition</a> that used a weighted RMSSE, relying on the income from each product over the last 4 weeks of data.</p>
<p>But here is one more interesting thing about this error measure. If we <strong>assume that prices for all products are exactly the same</strong>, they will disappear from the numerator and the denominator, leaving us with just sum of errors divided by the overall sales of all products. This still maintains the original idea of the proportion of the missed income, but now has a very strong assumption, which is probably not correct in the real life (apples and engines for the same price?). Furthermore, this would mask the performance of the model for the expensive products again. I personally don&#8217;t like this measure and find the assumption unrealistic and potentially misleading. Having said that, I can see some cases where this could still be acceptable and useful (e.g. similar products with similar dynamics and similar prices).</p>
<p>Summarising:</p>
<ol>
<li>If you are conducting a forecasting experiment without a specific context, I&#8217;d recommend using RMSSE or some other similar measure with scaling.</li>
<li>If you have prices of products, income-based scaling might be more informative.</li>
<li>Setting all prices to the same value does not sound appealing to me, but I understand that there is a context where this might work.</li>
</ol>
<p>Message <a href="https://openforecast.org/2026/02/23/scaling-of-error-measures/">Scaling of error measures</a> first appeared on <a href="https://openforecast.org">Open Forecasting</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://openforecast.org/2026/02/23/scaling-of-error-measures/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Risky business: how to select your model based on risk preferences</title>
		<link>https://openforecast.org/2026/01/19/risky-business-how-to-select-your-model-based-on-risk-preferences/</link>
					<comments>https://openforecast.org/2026/01/19/risky-business-how-to-select-your-model-based-on-risk-preferences/#respond</comments>
		
		<dc:creator><![CDATA[Ivan Svetunkov]]></dc:creator>
		<pubDate>Mon, 19 Jan 2026 11:28:04 +0000</pubDate>
				<category><![CDATA[Applied forecasting]]></category>
		<category><![CDATA[Papers]]></category>
		<category><![CDATA[Social media]]></category>
		<category><![CDATA[Theory of forecasting]]></category>
		<category><![CDATA[error measures]]></category>
		<category><![CDATA[extrapolation methods]]></category>
		<category><![CDATA[Information criteria]]></category>
		<category><![CDATA[model combination]]></category>
		<category><![CDATA[model selection]]></category>
		<category><![CDATA[papers]]></category>
		<category><![CDATA[theory]]></category>
		<guid isPermaLink="false">https://openforecast.org/?p=3950</guid>

					<description><![CDATA[<p>What do you use for model selection? Do you select the best model based on its cross-validated performance, or do you use in-sample measures like AIC? If so, there is a way to improve your selection process further. JORS recently published the paper of Nikos Kourentzes and I based on a simple but powerful idea: [&#8230;]</p>
<p>Message <a href="https://openforecast.org/2026/01/19/risky-business-how-to-select-your-model-based-on-risk-preferences/">Risky business: how to select your model based on risk preferences</a> first appeared on <a href="https://openforecast.org">Open Forecasting</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>What do you use for model selection? Do you select the best model based on its cross-validated performance, or do you use in-sample measures like AIC? If so, there is a way to improve your selection process further.</p>
<p>JORS recently published the paper of Nikos Kourentzes and I based on a simple but powerful idea: instead of using summary statistics (like the mean RMSE of cross-validated errors), you should consider the entire distribution and choose a specific quantile. This aligns with <a href="https://openforecast.org/2024/03/27/what-does-lower-error-measure-really-mean/">my previous post on error measures</a>, but here is the core intuition:</p>
<p>The distribution of error measures is almost always asymmetric. If you only look at the average, you end up with a &#8220;mean temperature in the hospital&#8221; statistic, which doesn&#8217;t reflect how models actually behave. Some models perform great on most series but fail miserably on a few.</p>
<p>What can we do in this case? We can look at quantiles of distribution.</p>
<p>For example, if we use 84th quantile, we compare the models based on their &#8220;bad&#8221; performance, situations where they fail and produce less accurate forecasts. If you choose the best performing model there, you will end up with something that does not fail as much. So your preferences for the model become risk-averse in this situation.</p>
<p>If you focus on the lower quantile (e.g. 16th), you are looking at models that do well on the well-behaved series and ignore how they do on the difficult ones. So, your model selection preferences can be described as risk-tolerant, because you are accept that the best performing model might fail on a difficult time series.</p>
<p>Furthermore, the median (50th quantile, the middle of sample), corresponds to the risk-neutral situation, because it ignores the tails of the distribution.</p>
<p>What about the mean? This is a risk-agnostic strategy, because it says nothing about the performance on the difficult or easy time series &#8211; it takes everything and nothing in it at the same time, hiding the true risk profile.</p>
<p>So what?</p>
<p>In the paper, we show that using a risk-averse strategy tends to improve overall forecasting accuracy in day-to-day situations. Conversely, a risk-tolerant strategy can be beneficial when disruptions are anticipated, as standard models are likely to fail anyway.</p>
<p>So, next time you select a model, think about the measure you are using. If it’s just the mean RMSE, keep in mind that you might be ignoring the inherent risks of that selection.</p>
<p>P.S. While the discussion above applies to the distribution of error measures, our paper specifically focused on point AIC (in-sample performance). But it is a distance measure as well, so the logic explained above holds.</p>
<p>P.P.S. Nikos wrote a <a href="https://www.linkedin.com/posts/nikos-kourentzes-3660515_forecasting-datascience-analytics-activity-7414687127269007360-pLAh">post about this paper here</a>.</p>
<p>P.P.P.S. And here is <a href="https://github.com/trnnick/working_papers/blob/fd1973624e97fc755a9c2401f05c78b056780e34/Kourentzes_2026_Incorporating%20risk%20preferences%20in%20forecast%20selectionk.pdf">the link to the paper</a>.</p>
<p>Message <a href="https://openforecast.org/2026/01/19/risky-business-how-to-select-your-model-based-on-risk-preferences/">Risky business: how to select your model based on risk preferences</a> first appeared on <a href="https://openforecast.org">Open Forecasting</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://openforecast.org/2026/01/19/risky-business-how-to-select-your-model-based-on-risk-preferences/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>SBC is not for you!</title>
		<link>https://openforecast.org/2025/06/04/sbc-is-not-for-you/</link>
					<comments>https://openforecast.org/2025/06/04/sbc-is-not-for-you/#respond</comments>
		
		<dc:creator><![CDATA[Ivan Svetunkov]]></dc:creator>
		<pubDate>Wed, 04 Jun 2025 11:41:00 +0000</pubDate>
				<category><![CDATA[Social media]]></category>
		<category><![CDATA[Theory of forecasting]]></category>
		<category><![CDATA[intermittent demand]]></category>
		<category><![CDATA[theory]]></category>
		<guid isPermaLink="false">https://openforecast.org/?p=3853</guid>

					<description><![CDATA[<p>I&#8217;ve been acting as a reviewer lately, providing comments on papers about intermittent demand, and I’ve felt a bit frustrated by what some authors write. Let me explain. Several papers I reviewed claim that demand can be either intermittent or lumpy. They then mention the Syntetos-Boylan-Croston (SBC) classification and use the thresholds from Syntetos et [&#8230;]</p>
<p>Message <a href="https://openforecast.org/2025/06/04/sbc-is-not-for-you/">SBC is not for you!</a> first appeared on <a href="https://openforecast.org">Open Forecasting</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>I&#8217;ve been acting as a reviewer lately, providing comments on papers about intermittent demand, and I’ve felt a bit frustrated by what some authors write. Let me explain.</p>
<p>Several papers I reviewed claim that demand can be either intermittent or lumpy. They then mention the Syntetos-Boylan-Croston (SBC) classification and use the thresholds from Syntetos et al. (2005: ) to do some things with ML methods. Sounds reasonable?</p>
<p>No! And here’s why.</p>
<p>Actually, I’ve already explained this in <a href="/2024/07/16/intermittent-demand-classifications-is-that-what-you-need/">a previous post</a>, but let me summarise the main points again.</p>
<p>First, intermittent demand is the demand that happens at irregular frequency. That’s the definition John Boylan and I came up with in our paper (<a href="/2023/09/08/iets-state-space-model-for-intermittent-demand-forecasting/">this one</a>). But even before that, the literature generally agreed: if you observe naturally occurring zeroes (e.g., no one wants to buy a product), then the demand is intermittent &#8211; even if there’s only one zero in the data.</p>
<p>Now, <a href="https://doi.org/10.1057/palgrave.jors.2601841">Syntetos et al. (2005)</a> specifically studied <strong>intermittent demand</strong> and proposed a classification to help choose between Croston’s method and SBA. Their classification includes four types (see image in the post):</p>
<ol>
<li>Erratic but not very intermittent</li>
<li>Smooth</li>
<li>Lumpy</li>
<li>Intermittent but not very erratic</li>
</ol>
<p>The thresholds they used (ADI=1.32 and CV²=0.49) were <strong>only</strong> intended to guide the choice between Croston and SBA. And &#8220;lumpy&#8221;, as you can see, is just a special case of intermittent demand!</p>
<p>Yes, you can classify intermittent demand into &#8220;lumpy&#8221; and &#8220;smooth&#8221;, but this separation is not well-defined. Use a different classification (e.g., <a href="https://openforecast.org/2025/04/11/svetunkov-sroginis-2025-model-based-demand-classification/">this paper</a>) and you&#8217;ll get different results. In fact, practically speaking, your ML approach likely doesn’t need this classification at all.</p>
<p>So, here are a two things you should <strong>NOT DO</strong>:</p>
<ol>
<li>Saying that demand can be &#8220;intermittent&#8221; or &#8220;lumpy&#8221; &#8211; the latter is a subset of the former.</li>
<li>Use ADI=1.32 and/or CV²=0.49 to categorise demand, unless you&#8217;re selecting between Croston and SBA. And let’s be honest, you’re probably not doing that. So forget about it!</li>
</ol>
<p>And honestly, stop overusing SBC! Lately, I&#8217;ve seen more harm than good from it. If you really want to use it, make sure you’ve read carefully and understood the original paper.</p>
<p>But if you don&#8217;t know what you are doing, SBC is not for you!</p>
<p>Message <a href="https://openforecast.org/2025/06/04/sbc-is-not-for-you/">SBC is not for you!</a> first appeared on <a href="https://openforecast.org">Open Forecasting</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://openforecast.org/2025/06/04/sbc-is-not-for-you/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>On randomness and uncertainty</title>
		<link>https://openforecast.org/2025/04/28/on-randomness-and-uncertainty/</link>
					<comments>https://openforecast.org/2025/04/28/on-randomness-and-uncertainty/#respond</comments>
		
		<dc:creator><![CDATA[Ivan Svetunkov]]></dc:creator>
		<pubDate>Mon, 28 Apr 2025 11:05:29 +0000</pubDate>
				<category><![CDATA[Social media]]></category>
		<category><![CDATA[Statistics]]></category>
		<category><![CDATA[Theory of forecasting]]></category>
		<category><![CDATA[statistics]]></category>
		<category><![CDATA[theory]]></category>
		<category><![CDATA[uncertainty]]></category>
		<guid isPermaLink="false">https://openforecast.org/?p=3828</guid>

					<description><![CDATA[<p>Everything is random! Your data, your model, its parameter estimates, the forecasts it produces, and even the minimum of the loss function you used. There is no such thing as a &#8220;deterministic&#8221; forecast &#8211; everything is stochastic! Whenever you work with data, you are working with a sample from a population. In some cases, this [&#8230;]</p>
<p>Message <a href="https://openforecast.org/2025/04/28/on-randomness-and-uncertainty/">On randomness and uncertainty</a> first appeared on <a href="https://openforecast.org">Open Forecasting</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Everything is random! Your data, your model, its parameter estimates, the forecasts it produces, and even the minimum of the loss function you used. There is no such thing as a &#8220;deterministic&#8221; forecast &#8211; everything is stochastic!</p>
<p>Whenever you work with data, you are working with a sample from a population. In some cases, this is more apparent than in others. In my statistics lectures, I typically give the following example. Consider that we are interested in the average height of students at the university. I could ask every student at the lecture to tell me their height, take the average, and get a number. Is this number random? Yes, indeed. Why? Because if a student who was late for the lecture comes in, I would need to recalculate the average, and the number would change. The average that I get depends on who specifically I have in the sample and how many observations I have. It will vary more in smaller samples and become more stable in larger ones. But this example gives you an idea about the inherent uncertainty of any estimates we deal with.</p>
<p>In time series, the situation is somewhat similar: you are dealing with a sample of values that you have observed up until a specific moment. If, for example, you want to forecast daily admissions in the emergency department of a hospital and apply a model, its forecast will change when a new day comes and a new cohort of patients arrives. This is because your sample changes, and you receive new information about the demand.</p>
<p>So, the parameter estimates of a model you use will change when you get a new observation (e.g., a new record of product sales). Yes, if you estimate the model properly (e.g., using Least Squares), the parameter estimates won’t change substantially, but they will change nonetheless. And this would affect point forecasts and any other statistics produced by your model. Your standard errors, p-values, conditional means, prediction intervals, error measures, model ranking &#8211; everything will change with a new observation. In fact, if you do model selection, the structure of the model might change as well. For example, in the case of ETS, you might switch from a model without a trend to one with a trend. So, every time you estimate anything on a sample of data, you should keep in mind that it is random and will change if your sample changes or gets updated.</p>
<p>Why is that important? Because we need to understand this inherent uncertainty, and ideally, we should somehow take it into account. In forecasting, this means you should not draw conclusions based on one application of a model to a dataset. At the very least, you should perform <a href="/adam/rollingOrigin.html">a rolling origin evaluation</a>. As Leonidas Tsaprounis says, &#8220;if you don&#8217;t roll the origin, you roll the dice&#8221;.</p>
<p>So, embrace the uncertainty and learn how to deal with it.</p>
<p>By the way, Kandrika Pritularga and I are holding a course on Demand Forecasting starting on 6th May. There is still time to <a href="https://online-payments.lancaster-university.co.uk/product-catalogue/courses/lancaster-university-management-school-lums/centre-for-marketing-analytics-forecasting-cmaf/demand-forecasting-principles-with-examples-in-r">sign up for it here</a>.</p>
<p>Message <a href="https://openforecast.org/2025/04/28/on-randomness-and-uncertainty/">On randomness and uncertainty</a> first appeared on <a href="https://openforecast.org">Open Forecasting</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://openforecast.org/2025/04/28/on-randomness-and-uncertainty/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Challenges related to seasonal data: shifting seasonality</title>
		<link>https://openforecast.org/2025/04/07/challenges-related-to-seasonal-data/</link>
					<comments>https://openforecast.org/2025/04/07/challenges-related-to-seasonal-data/#respond</comments>
		
		<dc:creator><![CDATA[Ivan Svetunkov]]></dc:creator>
		<pubDate>Mon, 07 Apr 2025 12:54:49 +0000</pubDate>
				<category><![CDATA[Applied forecasting]]></category>
		<category><![CDATA[Social media]]></category>
		<category><![CDATA[Theory of forecasting]]></category>
		<category><![CDATA[Seasonality]]></category>
		<category><![CDATA[theory]]></category>
		<guid isPermaLink="false">https://openforecast.org/?p=3814</guid>

					<description><![CDATA[<p>There are many different issues with capturing seasonality in time series. In this short post, I&#8217;d like to discuss one of the most annoying ones. I&#8217;m talking about the seasonal pattern that shifts over time. What I mean is that, for example, instead of having the standard number of observations in the cycle (e.g., 24 [&#8230;]</p>
<p>Message <a href="https://openforecast.org/2025/04/07/challenges-related-to-seasonal-data/">Challenges related to seasonal data: shifting seasonality</a> first appeared on <a href="https://openforecast.org">Open Forecasting</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>There are many different issues with capturing seasonality in time series. In this short post, I&#8217;d like to discuss one of the most annoying ones.</p>
<p>I&#8217;m talking about the seasonal pattern that shifts over time. What I mean is that, for example, instead of having the standard number of observations in the cycle (e.g., 24 hours in a day), in some cases you can have more or fewer of them. How is that possible?</p>
<p>One of these issues is the Daylight Saving Time (DST) change. The original idea of DST was to reduce energy consumption because daylight in summer is longer than in winter (there&#8217;s a nice and long article on Wikipedia about it). Because of this, many countries introduced a time shift: in spring, the clock is moved forward by one hour, while in autumn it goes back. This idea had a reasonable motivation at the beginning of the 20th century, but I personally think that as we&#8217;ve progressed as a society, it has lost its value. While this is already extremely annoying on its own, a bit unhealthy (several studies report an increased risk of heart attacks), and a torture for parents with small kids (the little ones don&#8217;t understand that it&#8217;s not 7am yet), it also introduces a modelling challenge: two days in the year do not have 24 hours. In spring, we have 23 hours, while in autumn we have 25. Standard classical forecasting approaches (such as ETS/ARIMA, regression, STL or classical decomposition) break in this case, because by default they assume that a specific pattern repeats itself every 24 hours. The issue arises because business cycles are tuned to working hours, not to the movement of the sun &#8211; people come to work at 9am, no matter how many hours are in the day.</p>
<p>Another challenge is leap years. While DST is totally man-made, leap years occur because the Earth orbits the sun approximately every 365.25 days. To avoid drifting too far from reality, our calendars include one extra day every four years (29th February). This addresses the issue but also means that one year has 366 days instead of 365. Once again, conventional models relying on fixed periodicity fail.</p>
<p>There are several ways to handle this, all with their own advantages and disadvantages:</p>
<ol>
<li>Fix the data. In the case of DST, this means removing one of the duplicated hours during the autumn time change and adding one during the spring shift. For leap years, it means dropping the 29th of February. This is easy to do, but breaks the structure and might cause issues when we have DST/leap year in the holdout sample.</li>
<li>Introduce more complex components, such as Fourier-based ones, to capture the shift in the data. This works well for leap years but doesn&#8217;t address the DST issue. <a href="https://doi.org/10.1016/j.energy.2015.02.100)">Harmonic regressions</a> and <a href="https://doi.org/10.1198/jasa.2011.tm09771">TBATS</a> do this, for example.</li>
<li><a href="https://openforecast.org/adam/MultipleFrequenciesDSTandLeap.html">Shift seasonal indices</a> when the issue happens &#8211; for example, having two indices for 1am when the switch to winter time occurs.</li>
</ol>
<p>In R, I’ve developed the <code>temporaldummy()</code> function in the <code>greybox</code> package to introduce correct dummy variables for data with shifting seasonality, and I’ve incorporated method (3) into the <code>adam()</code> function from the smooth package. You can read more about these here: https://openforecast.org/adam/MultipleFrequenciesDSTandLeap.html</p>
<p>Are there any other strategies? Which one do you prefer?</p>
<p>BTW, Kandrika Pritularga and I are running a course on Demand Forecasting Principles with Examples in R. We’ll discuss some of these aspects there. Read more about it <a href="https://lancaster.ac.uk/centre-for-marketing-analytics-and-forecasting/grow-with-us/demand-forecasting-with-r/">here</a>.</p>
<p>Message <a href="https://openforecast.org/2025/04/07/challenges-related-to-seasonal-data/">Challenges related to seasonal data: shifting seasonality</a> first appeared on <a href="https://openforecast.org">Open Forecasting</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://openforecast.org/2025/04/07/challenges-related-to-seasonal-data/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Naming conventions for seasonality types</title>
		<link>https://openforecast.org/2025/03/26/naming-conventions-for-seasonality-types/</link>
					<comments>https://openforecast.org/2025/03/26/naming-conventions-for-seasonality-types/#respond</comments>
		
		<dc:creator><![CDATA[Ivan Svetunkov]]></dc:creator>
		<pubDate>Wed, 26 Mar 2025 11:44:00 +0000</pubDate>
				<category><![CDATA[Social media]]></category>
		<category><![CDATA[Theory of forecasting]]></category>
		<category><![CDATA[Seasonality]]></category>
		<category><![CDATA[theory]]></category>
		<guid isPermaLink="false">https://openforecast.org/?p=3809</guid>

					<description><![CDATA[<p>In forecasting, the term seasonality doesn’t always mean what you think it does. It encompasses more than just patterns repeating from one season to the next. In fact, seasonality covers a wide range of periodic behaviors, and can have some issues associated with the naming conventions. Should we discuss? First things first: when we say [&#8230;]</p>
<p>Message <a href="https://openforecast.org/2025/03/26/naming-conventions-for-seasonality-types/">Naming conventions for seasonality types</a> first appeared on <a href="https://openforecast.org">Open Forecasting</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>In forecasting, the term seasonality doesn’t always mean what you think it does. It encompasses more than just patterns repeating from one season to the next. In fact, seasonality covers a wide range of periodic behaviors, and can have some issues associated with the naming conventions. Should we discuss?</p>
<p>First things first: when we say &#8220;seasonality&#8221; in forecasting, we mean any pattern that repeats periodically. If you mention monthly seasonality, most people will understand that you’re referring to a pattern repeating every 12 observations. Similarly, quarterly seasonality is widely recognized. However, beyond these two simple cases, ambiguity creeps in.</p>
<p>For example, if you describe your data as having &#8220;weekly&#8221; seasonality, do you mean that you’re working with weekly data and observe similar patterns every 52 weeks? Or are you dealing with daily data, where the pattern repeats every 7 days? The same issue applies to the term &#8220;daily&#8221; seasonality, which can refer to a pattern within daily data or a repeating pattern across multiple days.</p>
<p>Furthermore, the more granular your data, the more potential seasonal profiles you can have. For daily data, you may observe seasonality at 7-day (weekly) and 365-day (yearly) intervals. For hourly data, you could have three seasonal patterns: 24 hours, 168 hours (24 × 7), and 8,760 hours (24 × 365). An example of such data is shown in the image attached to this post.</p>
<p>Some people use the prefix &#8220;intra&#8221; to indicate patterns within a given frequency, but I still find this confusing. For example, intraweekly only indicates that a pattern exists within the week but doesn’t specify the frequency: it could refer to either 7 days or 168 hours.</p>
<p>That’s why I personally prefer the &#8220;A of B&#8221; naming scheme for seasonality. For example, &#8220;week of year&#8221; seasonality clearly denotes a pattern repeating every 52 observations. &#8220;Day of week&#8221; clearly refers to a 7-observation pattern. This format is more precise and less ambiguous than &#8220;weekly&#8221; or &#8220;intraweekly&#8221; seasonality. &#8220;Hour of year&#8221;, &#8220;half-hour of week&#8221;, &#8220;minute of day&#8221; etc are all straightforward and easy to understand.</p>
<p>And what naming conventions do you use?</p>
<p>P.S. Kandrika Pritularga and I are running the course &#8220;Demand Forecasting Principles with Examples in R&#8221; again, where we’ll discuss some of these and related aspects in detail. You can read more about the course and sign up for it <a href="https://lancaster.ac.uk/centre-for-marketing-analytics-and-forecasting/grow-with-us/demand-forecasting-with-r/">here</a> and <a href="https://online-payments.lancaster-university.co.uk/product-catalogue/courses/lancaster-university-management-school-lums/centre-for-marketing-analytics-forecasting-cmaf/demand-forecasting-principles-with-examples-in-r">here</a> respectively.</p>
<p>Message <a href="https://openforecast.org/2025/03/26/naming-conventions-for-seasonality-types/">Naming conventions for seasonality types</a> first appeared on <a href="https://openforecast.org">Open Forecasting</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://openforecast.org/2025/03/26/naming-conventions-for-seasonality-types/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>There is no such thing as &#8220;the best approach for everything&#8221;</title>
		<link>https://openforecast.org/2025/03/06/there-is-no-such-thing-as-the-best-approach-for-everything/</link>
					<comments>https://openforecast.org/2025/03/06/there-is-no-such-thing-as-the-best-approach-for-everything/#respond</comments>
		
		<dc:creator><![CDATA[Ivan Svetunkov]]></dc:creator>
		<pubDate>Thu, 06 Mar 2025 13:54:09 +0000</pubDate>
				<category><![CDATA[Social media]]></category>
		<category><![CDATA[Theory of forecasting]]></category>
		<category><![CDATA[error measures]]></category>
		<category><![CDATA[theory]]></category>
		<guid isPermaLink="false">https://openforecast.org/?p=3790</guid>

					<description><![CDATA[<p>If someone tells you that method X solves all problems and is the best one ever, they are either lying intentionally or do not fully understand what they are talking about. There is no such thing as &#8220;the best approach for everything&#8221;. Let me explain. Consider two products sold by retailers: ice cream and bread. [&#8230;]</p>
<p>Message <a href="https://openforecast.org/2025/03/06/there-is-no-such-thing-as-the-best-approach-for-everything/">There is no such thing as &#8220;the best approach for everything&#8221;</a> first appeared on <a href="https://openforecast.org">Open Forecasting</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>If someone tells you that method X solves all problems and is the best one ever, they are either lying intentionally or do not fully understand what they are talking about. There is no such thing as &#8220;the best approach for everything&#8221;. Let me explain.</p>
<p>Consider two products sold by retailers: ice cream and bread. You would expect the demand for ice cream to exhibit seasonal patterns because people tend to buy it more when it is warm outside. As a result, demand in summer is typically higher on average than in winter (this doesn&#8217;t apply to my friend <a href="https://kourentzes.com/forecasting/">Nikos Kourentzes</a>, who eats ice cream no matter what). This suggests that if we want to forecast demand for ice cream, we should use an approach that correctly captures seasonality in one way or another.</p>
<p>Demand for bread, on the other hand, typically follows a different pattern, as people tend to buy it regularly, and it usually does not have seasonality. Imposing a seasonal structure on such data could harm forecast accuracy.</p>
<p>Even in this simplistic example, it&#8217;s clear that the optimal approach may vary depending on each situation. Yes, we could develop a more flexible model capable of distinguishing between these cases, but there are multiple ways to achieve this (cross-validation, information criteria, statistical tests, etc.), and each specific solution would have strengths and weaknesses.</p>
<p>Now, would you expect a single new approach that can distinguish between the cases to outperform all others and be the best for every possible scenario? My answer is no, because one could always devise an alternative model or method that selects features differently and performs better under different conditions. For example, approach A might forecast demand for white bread better than approach B, but the opposite might be true for sourdough bread.</p>
<p>Even if approach A outperforms all others on average across a dataset, there will always be cases where it performs worse than some competitors, because forecasting accuracy is based on the distribution of error measures, not just a single number (see my <a href="/2024/03/27/what-does-lower-error-measure-really-mean/">old post here</a>). This is, for example, <a href="https://doi.org/10.1016/j.ijforecast.2021.08.006">confirmed by the M5 competition</a>, where the winning method, LightGBM, produced the most accurate forecasts on average but was outperformed by exponential smoothing in 41.5% of cases.</p>
<p>The same principle applies beyond point forecasts, across other statistics, fields, and disciplines. For example, if you need to produce prediction intervals or quantiles, you have a variety of tools to choose from, and depending on the specific situation, some will work better than others. There is no single approach that outperforms all alternatives in every context.</p>
<p>So, when someone claims to have a silver bullet that solves all problems, keep in mind: they are either trying to sell you something or do not understand what they are talking about.</p>
<p>Message <a href="https://openforecast.org/2025/03/06/there-is-no-such-thing-as-the-best-approach-for-everything/">There is no such thing as &#8220;the best approach for everything&#8221;</a> first appeared on <a href="https://openforecast.org">Open Forecasting</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://openforecast.org/2025/03/06/there-is-no-such-thing-as-the-best-approach-for-everything/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Model vs Method &#8211; why should we care?</title>
		<link>https://openforecast.org/2025/02/04/model-vs-method-why-should-we-care/</link>
					<comments>https://openforecast.org/2025/02/04/model-vs-method-why-should-we-care/#respond</comments>
		
		<dc:creator><![CDATA[Ivan Svetunkov]]></dc:creator>
		<pubDate>Tue, 04 Feb 2025 12:14:44 +0000</pubDate>
				<category><![CDATA[Social media]]></category>
		<category><![CDATA[Statistics]]></category>
		<category><![CDATA[Theory of forecasting]]></category>
		<category><![CDATA[statistics]]></category>
		<category><![CDATA[theory]]></category>
		<guid isPermaLink="false">https://openforecast.org/?p=3771</guid>

					<description><![CDATA[<p>Image above depicts a fashion model making a presentation about a forecasting method. I like the forecast for the final period in that image&#8230; Over the last few years, I’ve seen phrases like &#8220;LightGBM model&#8221; or &#8220;Neural Network model&#8221; on LinkedIn many times, and the statistician in me shivers every time. So, I figured it’s [&#8230;]</p>
<p>Message <a href="https://openforecast.org/2025/02/04/model-vs-method-why-should-we-care/">Model vs Method &#8211; why should we care?</a> first appeared on <a href="https://openforecast.org">Open Forecasting</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><em>Image above depicts a fashion model making a presentation about a forecasting method. I like the forecast for the final period in that image&#8230;</em></p>
<p>Over the last few years, I’ve seen phrases like &#8220;LightGBM model&#8221; or &#8220;Neural Network model&#8221; on LinkedIn many times, and the statistician in me shivers every time. So, I figured it’s time to discuss the difference between a model and a method.</p>
<p>Some of you might remember that I wrote <a href="/2020/06/08/forecasting-method-vs-forecasting-model-what-s-difference/">a post on this topic</a> a few years ago. But it seems it is worth revisiting.</p>
<p>John Boylan and I came up with the following definitions in <a href="/2023/09/08/iets-state-space-model-for-intermittent-demand-forecasting/">our paper</a>:</p>
<ul>
<li>A forecasting model is a mathematical representation of a real phenomenon with a complete specification of distribution and parameters;</li>
<li>A forecasting method is a mathematical procedure that generates point and/or interval forecasts, with or without a forecasting model.</li>
</ul>
<p>If these sound too technical, here’s a simpler explanation:</p>
<ul>
<li>A forecasting method is a way of generating forecasts;</li>
<li>A forecasting model is a way to describe the assumed structure of a real phenomenon.</li>
</ul>
<p>The key difference? A method focuses on producing something specific (e.g., point forecasts) with minimal assumptions, while a model relies on assumptions but can do much more:</p>
<ol>
<li>Rigorous estimation. Models can be constructed in ways that ensure their estimates of parameters are efficient and consistent.</li>
<li>Model selection using information criteria. A powerful approach that saves computational time and typically produces reasonable forecasts.</li>
<li>Predictive distribution. Models can generate moments (mean, variance, skewness) and quantiles, capturing uncertainty around future values.</li>
<li>Confidence intervals for parameters. While not crucial for forecasting, this is useful in other areas to quantify uncertainty.</li>
<li>Extendibility. Additional variables and components can be easily incorporated in a model.</li>
</ol>
<p>All of this comes at a price of <a href="/2025/01/07/there-is-no-such-thing-as-assumption-free-approach/">making assumptions about the reality</a>. If the assumptions don’t hold, the model won’t perform well. It might still be useful, but the risk of error increases. For example, you can apply a Random Walk model to purely random data, but you shouldn’t expect it to work well.</p>
<h3>Examples</h3>
<ol>
<li>A forecasting method: Naïve, defined by the simple equation:<br />
\( F_t = A _{t-1} \)<br />
This method is easy to explain, hard to break, and provides point forecasts, but nothing more.</li>
<li>A forecasting model: Random Walk, which underlies the Naïve method:<br />
\( A_t = A_{t-1} + \epsilon_t \)<br />
where \( \epsilon_t \) follows some distribution with zero mean and fixed variance. The Random Walk model has all the properties described above.</li>
</ol>
<p>In some cases, you can derive models underlying the methods. In my opinion, this typically enhances the latter, making them more powerful due to the reasons explained above. What is interesting about this general connection is that if we can identify a model underlying a method, we can do much more with it.</p>
<p>For example, when estimating a quantile regression, we typically minimize a pinball loss function, which gives us a method for generating quantiles. However, if we estimate the same linear regression model using likelihood, assuming that the error term follows the <a href="https://doi.org/10.1093/biostatistics/kxj039">Asymmetric Laplace distribution</a>, we arrive at exactly the same parameter estimates as in quantile regression. But now, we also gain additional benefits, such as model selection, predictive distribution, and confidence intervals for parameters &#8211; features outlined in the previous post. In a way, these benefits come &#8220;for free&#8221;, although at the cost of making explicit assumptions about the model. That said, I’d argue that assumptions exist in quantile regression anyway &#8211; they’re just not stated explicitly.</p>
<p>And here we finally come to the ML approaches. According to the definitions we discussed earlier, Decision Trees, k-Nearest Neighbors, Artificial Neural Networks (ANNs) and other ML approaches are not forecasting models. They do not attempt to capture the underlying structure of the data. Instead, they focus on identifying nonlinear patterns via engineered features to produce point forecasts. In other words, they are methods, not models.</p>
<p>This doesn’t make them inferior. Their strength lies in their flexibility, precisely because they don&#8217;t impose strong assumptions. However, treating them as forecasting models can lead to potential issues.</p>
<p>For example, plugging LightGBM’s point forecasts into a probability distribution doesn’t magically turn it into a model. It simply makes it a method that now generates quantiles, but without a solid theoretical foundation for why a specific distribution is chosen or used in a particular way.</p>
<p>Another example is model selection using information criteria, which is meaningless for ML approaches. Why? Because information criteria rely on the assumption that the model is estimated in a specific way (e.g., via maximum likelihood estimation), ensuring parameter consistency and model identifiability. However, some ML methods, such as ANNs, are fundamentally unidentifiable, as different architectures can produce the same output. So, the information criteria become meaningless in this setting.</p>
<p>So next time you see the term model, take a moment to consider whether it’s used correctly and whether it actually means what the author thinks.</p>
<p>Message <a href="https://openforecast.org/2025/02/04/model-vs-method-why-should-we-care/">Model vs Method &#8211; why should we care?</a> first appeared on <a href="https://openforecast.org">Open Forecasting</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://openforecast.org/2025/02/04/model-vs-method-why-should-we-care/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
