Forecasting

Itron's Annual Forecasting Benchmark Survey Results

November 02, 2022

Since 2012, Itron’s forecasting group has been conducting an annual benchmarking survey that reports a broad picture of the electric and natural gas industry’s forecasting practices. The survey typically examines forecast accuracy, growth projections and forecast characteristics. This long-standing survey provides a rich history of forecasting practices and addresses new challenges and current issues on forecasters’ minds. This year, the forecast characteristics survey included COVID-19 impacts, electric vehicles, photovoltaics, storage, weather and economic drivers.

The 2022 survey captures the industry’s movement back toward pre-pandemic growth patterns. While electric growth is expected to return to pre-pandemic levels in 2023, uncertainty remains about whether COVID-19 has permanently impacted sales. In the long term, electric growth rates are expected to remain higher than the pre-pandemic growth rates. Natural gas forecast growth is expected to return to pre-pandemic levels in 2022, but with lower long-term growth rates than the pre-pandemic growth rates.

Companies are adapting their forecast models to manage the COVID-19 effect. The adaptations are reducing forecast error but have not yet produced error levels at pre-pandemic levels. The uncertainty of COVID-19’s permanence continues to make forecasting challenging and requires further analysis and careful monitoring.

Survey participants received a full copy of the final report and the results have typically been presented in one of Itron’s free brown bag webinars. This year’s webinar was broadcasted on September 22. If you missed it, you can still register to review the recording and the slides. You can also view the full 2020 Survey Report. While industry surveys like this benefit the entire energy community by supplying valuable knowledge and everyone is always excited to hear about the results, starting in 2023, only survey participants, attendees at the Energy Forecasting Meeting (April 19-21, 2023 in Albuquerque, New Mexico) and members of the Energy Forecasting Group (EFG) will benefit from the current year’s survey results. If you would like to participate in the survey next year and hear about the current forecasting practices and trends or have suggestions on other questions you would like to see added to the survey, please contact me at paige.schaefer@itron.com.

Si è verificato un errore nell'elaborarazione del modello.
The following has evaluated to null or missing:
==> authorContent.contentFields  [in template "44616#44647#114455" at line 9, column 17]

----
Tip: It's the step after the last dot that caused this error, not those before it.
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----

----
FTL stack trace ("~" means nesting-related):
	- Failed at: contentFields = authorContent.content...  [in template "44616#44647#114455" at line 9, column 1]
----
1<#assign 
2	webContentData = jsonFactoryUtil.createJSONObject(author.getData()) 
3	classPK = webContentData.classPK 
4/> 
5 
6<#assign 
7authorContent = restClient.get("/headless-delivery/v1.0/structured-contents/" + classPK + "?fields=contentFields%2CfriendlyUrlPath%2CtaxonomyCategoryBriefs") 
8contentFields = authorContent.contentFields 
9categories=authorContent.taxonomyCategoryBriefs 
10authorContentData = jsonFactoryUtil.createJSONObject(authorContent) 
11friendlyURL = authorContentData.friendlyUrlPath 
12authorCategoryId = "0" 
13/> 
14 
15<#list contentFields as contentField > 
16   <#assign  
17	 contentFieldData = jsonFactoryUtil.createJSONObject(contentField)  
18	 name = contentField.name 
19	 /> 
20	 <#if name == 'authorImage'> 
21	    <#if (contentField.contentFieldValue.image)??> 
22	        <#assign authorImageURL = contentField.contentFieldValue.image.contentUrl />	 
23			</#if> 
24	 </#if> 
25	 <#if name == 'authorName'> 
26	    <#assign authorName = contentField.contentFieldValue.data /> 
27			<#list categories as category > 
28         <#if authorName == category.taxonomyCategoryName> 
29				     <#assign authorCategoryId = category.taxonomyCategoryId /> 
30				 </#if> 
31      </#list> 
32	 </#if> 
33	 <#if name == 'authorDescription'> 
34	    <#assign authorDescription = contentField.contentFieldValue.data /> 
35			 
36	 </#if> 
37	  
38	 <#if name == 'authorJobTitle'> 
39	    <#assign authorJobTitle = contentField.contentFieldValue.data /> 
40			 
41	 </#if> 
42 
43</#list> 
44 
45<div class="blog-author-info"> 
46	<#if authorImageURL??> 
47		<img class="blog-author-img" id="author-image" src="${authorImageURL}" alt="" /> 
48	</#if> 
49	<#if authorName??> 
50		<#if authorName != ""> 
51			<p class="blog-author-name">By <a id="author-detail-page" href="/w/${friendlyURL}?filter_category_552298=${authorCategoryId}"><span id="author-full-name">${authorName}</span></a></p> 
52			<hr /> 
53		</#if> 
54	</#if> 
55	<#if authorJobTitle??> 
56		<#if authorJobTitle != ""> 
57			<p class="blog-author-title" id="author-job-title" >${authorJobTitle}</p> 
58			<hr /> 
59		</#if> 
60	</#if> 
61	<#if authorDescription??> 
62		<#if authorDescription != "" && authorDescription != "null" > 
63			<p class="blog-author-desc" id="author-job-desc">${authorDescription}</p> 
64			<hr /> 
65		</#if> 
66	</#if> 
67</div>