{"id":1407,"date":"2021-11-09T11:14:26","date_gmt":"2021-11-09T11:14:26","guid":{"rendered":"https:\/\/nilg.ai\/?p=1407"},"modified":"2022-06-24T12:09:06","modified_gmt":"2022-06-24T12:09:06","slug":"multiple-product-forecasting-in-the-construction-industry","status":"publish","type":"post","link":"https:\/\/nilg.ai\/pt\/202111\/multiple-product-forecasting-in-the-construction-industry\/","title":{"rendered":"Multiple Product Forecasting in the construction industry"},"content":{"rendered":"<p><img decoding=\"async\" class=\"aligncenter size-large wp-image-1408\" src=\"https:\/\/nilg.ai\/wp-content\/uploads\/2022\/06\/pexels-igor-starkov-1117452-1024x746.jpg\" alt=\"\" width=\"1024\" height=\"746\" \/><\/p>\n<p>In this article, we will cover a use case in the construction industry related to forecasting the needed materials for construction and the time in which they will be required. In the construction industry, there is a lot of uncertainty between the order time and the time in which it is actually executed, due to several factors which will be described in detail below.<\/p>\n<h2><b>Business Problem<\/b><\/h2>\n<p>Let\u2019s cover the case where we want to buy heavy industry materials from a <b>supplier<\/b>, but we only have a <b>high-level estimate of the amount<\/b> we will need. We are not sure right away the <b>exact time and characteristics of the materials <\/b>that will be needed, since there might be some delays in the project, and changes between <b>order and execution<\/b>. We have clients that are executing constructions and contact us with preliminary orders with their requirements.<\/p>\n<p>We need to know several things about this process:<\/p>\n<ul>\n<li aria-level=\"1\">When will this specific client execute the order?<\/li>\n<li aria-level=\"1\">What material characteristics will be preferable for this customer?<\/li>\n<li aria-level=\"1\">What are the best materials to keep in stock right now and by which amount? He needs some fixed time (e.g. 4 weeks) to build them and transport them to a storage facility. If we keep too little in stock, we\u2019ll delay the construction. If we have too much, unused materials can degrade and will waste valuable storage capacity.<\/li>\n<\/ul>\n<h2><b>Data Entities<\/b><\/h2>\n<p>Let\u2019s consider the following data entities and associated historical data for this problem:<\/p>\n<table>\n<tbody>\n<tr>\n<td>\n<p style=\"text-align: center;\"><img decoding=\"async\" class=\"aligncenter wp-image-1415\" src=\"https:\/\/nilg.ai\/wp-content\/uploads\/2021\/11\/supplier-150x150.png\" alt=\"\" width=\"75\" height=\"75\" srcset=\"https:\/\/nilg.ai\/wp-content\/uploads\/2021\/11\/supplier-150x150.png 150w, https:\/\/nilg.ai\/wp-content\/uploads\/2021\/11\/supplier-300x300.png 300w, https:\/\/nilg.ai\/wp-content\/uploads\/2021\/11\/supplier-100x100.png 100w, https:\/\/nilg.ai\/wp-content\/uploads\/2021\/11\/supplier.png 512w\" sizes=\"(max-width: 75px) 100vw, 75px\" \/><\/p>\n<h3 style=\"text-align: center;\"><b>Supplier<\/b><\/h3>\n<\/td>\n<td>Dispatches the raw materials we need.<\/td>\n<td>\n<ul>\n<li aria-level=\"1\">Supplier ID<\/li>\n<\/ul>\n<ul>\n<li aria-level=\"1\">ZIP Code<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<tr>\n<td><img decoding=\"async\" class=\"size-full wp-image-1416 aligncenter\" src=\"https:\/\/nilg.ai\/wp-content\/uploads\/2021\/11\/architect-e1656067566787.png\" alt=\"\" width=\"75\" height=\"75\" \/><\/p>\n<h3 style=\"text-align: center;\"><b>Builder<\/b><\/h3>\n<\/td>\n<td>Executes the construction.<\/td>\n<td>\n<ul>\n<li aria-level=\"1\">Builder ID<\/li>\n<li aria-level=\"1\">ZIP Code<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<tr>\n<td><img decoding=\"async\" class=\"aligncenter size-full wp-image-1417\" src=\"https:\/\/nilg.ai\/wp-content\/uploads\/2021\/11\/construction-e1656067656608.png\" alt=\"\" width=\"75\" height=\"75\" \/><\/p>\n<h3><b>Construction<\/b><\/h3>\n<\/td>\n<td>The site which is being built.<\/td>\n<td>\n<ul>\n<li aria-level=\"1\">Location<\/li>\n<li aria-level=\"1\">Construction Type (Residential\/Industrial, industry type)<\/li>\n<li aria-level=\"1\">Building Area\/Dimensions<\/li>\n<li aria-level=\"1\">Number of expected workers<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<tr>\n<td><img decoding=\"async\" class=\"size-full wp-image-1418 aligncenter\" src=\"https:\/\/nilg.ai\/wp-content\/uploads\/2021\/11\/construction-1-e1656067702194.png\" alt=\"\" width=\"75\" height=\"75\" \/><\/p>\n<h3 style=\"text-align: center;\"><b>Material<\/b><\/h3>\n<\/td>\n<td>A material request.<\/td>\n<td>\n<ul>\n<li aria-level=\"1\">Material Type (e.g. Cement, beams, rebars)<\/li>\n<li aria-level=\"1\">Characteristics: e.g. &#8211; Amount of Cement 3000kg,\u00a0 T-bar beams width 3&#8221;, rebars 1\/2&#8221;, strength, \u2026<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p>For each stakeholder involved in the process, there are things causing uncertainty in the questions described above. We may <b>over or underestimate<\/b>\u00a0the <b>amount\/quality<\/b> of the required materials (both from inaccurate information from the construction plans or from internal uncertainties in the estimates). The builders can <b>waste or use in a more efficient way<\/b> a certain material. The <b>delay between order and execution<\/b> depends on the complexity of the construction process, time of the year (holidays!), and supplier bottlenecks, among others.<\/p>\n<h3><b>Relevant Features<\/b><\/h3>\n<p>There are some relevant features that can be extracted to make this problem easier to predict:<\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li aria-level=\"1\"><b>Construction x Material: Amount and type<\/b> of each material needed at <b>order time and execution time<\/b> for a certain <b>construction<\/b>. This tells us which constructions over- and underestimated certain materials, and what was the delay between order and execution. It will be used for building the targets of our problem.<\/li>\n<li aria-level=\"1\"><b>Builder\/Supplier:<\/b> Statistics for the historical differences in material amount\/characteristics between <b>order time<\/b> e <b>execution time<\/b> (e.g. ordered 3 tons cement, only needed 2.5 in the past 3 months, on average)<\/li>\n<li aria-level=\"1\"><b>Time:<\/b> Time of the year (month, quarter, season, \u2026) and historical features on the difference between<b> order time and execution time.<\/b><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2><b>Modeling<\/b><\/h2>\n<p>For simplification purposes, let\u2019s assume we only want to predict a single material:<b> e.g.<\/b> <b>beams needed for a single unit in the construction.<\/b><\/p>\n<p>We need to determine:<\/p>\n<ul>\n<li aria-level=\"1\">Required number of beams<\/li>\n<li aria-level=\"1\">Time until the order is executed, after it\u2019s ordered with some initial characteristics<\/li>\n<\/ul>\n<p><a href=\"https:\/\/nilg.ai\/wp-content\/uploads\/2021\/11\/Multiple-product-forecast-dataset-1.svg\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-1414 attachment-svg\" src=\"https:\/\/nilg.ai\/wp-content\/uploads\/2021\/11\/Multiple-product-forecast-dataset-1.svg\" alt=\"\" \/><\/a><\/p>\n<h3><strong>Option 1 &#8211; Multitask Regression Model<\/strong><\/h3>\n<p><a href=\"https:\/\/nilg.ai\/wp-content\/uploads\/2021\/11\/Multitask-Regression.svg\"><img decoding=\"async\" class=\"aligncenter  wp-image-1419 attachment-svg\" src=\"https:\/\/nilg.ai\/wp-content\/uploads\/2021\/11\/Multitask-Regression.svg\" alt=\"\" width=\"1192\" height=\"602\" \/><\/a><\/p>\n<p>In this initial approach, we take the features at order time and try to predict <b>the number of beams needed, and the number of days between order and execution<\/b>. This is done using a multitask model, with two regression tasks.<\/p>\n<p>The advantages of this approach are that it is easy to set up, the targets are easy to interpret, makes the model more robust, and might increase the performance.\u00a0 However, there are several disadvantages:<\/p>\n<ul>\n<li aria-level=\"1\">There\u2019s a set of defined templates for the beams (SKU &#8211; Stock Keeping Unit) and the model might be <b>predicting beam configurations that do not exist!<\/b><\/li>\n<li aria-level=\"1\">Hard decision process: There\u2019s <b>no way to measure prediction confidence<\/b> when all you have is a value.<\/li>\n<li aria-level=\"1\">Difficult convergence: the domain of possible values is very large, and it\u2019s not easy to tell if a prediction is good or not.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h3><strong>Option 2 &#8211; Multitask Classification<\/strong><\/h3>\n<p><strong><a href=\"https:\/\/nilg.ai\/wp-content\/uploads\/2021\/11\/Multitask-Classification.svg\"><img decoding=\"async\" class=\"aligncenter  wp-image-1420 attachment-svg\" src=\"https:\/\/nilg.ai\/wp-content\/uploads\/2021\/11\/Multitask-Classification.svg\" alt=\"\" width=\"1228\" height=\"693\" \/><\/a><br \/>\n<\/strong><\/p>\n<p>We can alternatively build a multitask classification model, where we consider two tasks:<\/p>\n<ul>\n<li aria-level=\"1\">whether or not the execution beams in our hypothesis matched a certain beam in stock. This means we will have to create artificial samples in our dataset: 1 positive row and N negative rows, where N is the number of possible beams.<\/li>\n<li aria-level=\"1\">Probability of the number of days between <b>today\u2019s date<\/b> e <b>execution<\/b> being less than N weeks. This will require generating random dates between <b>order date<\/b> e <b>execution date<\/b>. The value of N is determined according to the needs of production and transportation to storage places by our client.<\/li>\n<\/ul>\n<p>The table below shows an example of what this artificial sampling would look like:<\/p>\n<p><a href=\"https:\/\/nilg.ai\/wp-content\/uploads\/2021\/11\/Table-2.svg\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-1421 attachment-svg\" src=\"https:\/\/nilg.ai\/wp-content\/uploads\/2021\/11\/Table-2.svg\" alt=\"\" \/><\/a><\/p>\n<p><b>Sampling Date: <\/b>Randomly sampled dates between order_date and execution_date<\/p>\n<p><b>Execution Beam Width (hypothesis): <\/b>The comparison we\u2019re performing. These are the values of beams that are in stock.<\/p>\n<p><b>Execution Beam Width: <\/b>What really happened. We use the comparison to \u201cExecution Beam Width (hypothesis)\u201d as a target.<\/p>\n<p>In blue are shown the rows where the target is positive, and <strong>in orange<\/strong> where they are negative. For instance, a sampling date of 25\/2\/2021 is close enough to our execution date to consider it as a positive target for prediction, while 20\/2\/2021 is not. In terms of execution beams, the target is positive when the pre-orders and the execution matches.<\/p>\n<h3><strong>Model Architecture<\/strong><\/h3>\n<p><a href=\"https:\/\/nilg.ai\/wp-content\/uploads\/2021\/11\/Multitask-Model-Architecture.svg\"><img decoding=\"async\" class=\"aligncenter  wp-image-1423 attachment-svg\" src=\"https:\/\/nilg.ai\/wp-content\/uploads\/2021\/11\/Multitask-Model-Architecture.svg\" alt=\"\" width=\"402\" height=\"732\" \/><\/a><\/p>\n<p>Regarding model architecture, we can build a two-stream model: we separate the features belonging to the delay between order and execution and the difference between ordered and executed material, since we\u2019ll have multiple rows with similar features, and this tells the model to treat them differently in an explicit way.<\/p>\n<p>The proposed architecture is relatively simple: a set of dense and dropout layers, followed by an aggregation operation (e.g. concatenation). Afterward, another set of Dense\/Dropout layers transforms this concatenated latent space. In the bottom, two different softmax layers, one for each task, are added.<\/p>\n<p>Compared to Option 1, this architecture has the advantage of allowing a decision process based on prediction confidence and only predicting items that the client is able to produce. However, the process complexity is higher: you need to create positive and negative training samples, and it is harder to set up.<\/p>\n<p>We can also add custom penalizations in our loss function according to the business problem. If we predict 30 beams in a building that needs 20, it\u2019s ok. If it needs more, it will not be sufficient. When the model doesn\u2019t predict the same material, but a compatible one, we can punish it less. When it\u2019s not, punish it more.<\/p>\n<h2>Decision Process<\/h2>\n<p>Building a <a href=\"https:\/\/nilg.ai\/pt\/2020\/04\/embedding-domain-knowledge-for-estimating-customer-lifetime-value\/\">multitask classification model<\/a> allows us to create a decision process based on the expected value. Namely, what&#8217;s the probability P of needing K units of a product has an expected value of P x K units.<\/p>\n<p>To know which materials to keep in stock for the next N weeks, the expected value for all constructions that are ordered and not yet executed can be summed.<\/p>\n<h2>Impact Measurement<\/h2>\n<p>What metrics would be important to measure?<\/p>\n<p>Internally, for building and evaluating your model, you can use Machine Learning metrics:<\/p>\n<ul>\n<li aria-level=\"1\">Classification: PR AUC, ROC AUC, \u2026<\/li>\n<li aria-level=\"1\">Regression: Mean Absolute Error, Mean Squared Error\u2026<\/li>\n<\/ul>\n<p>But this tells nothing about how good the model is at predicting the amount you need to stock. You need to measure business metrics as well:<\/p>\n<ul>\n<li aria-level=\"1\">How many products did we predict\/produce in excess because no one purchased them<\/li>\n<li aria-level=\"1\">How many products didn\u2019t we predict\/produce on time, leading to an extra delay in the construction<\/li>\n<\/ul>\n<h2>Conclusion<\/h2>\n<p>This article has shown some different ways you can think about product forecasting problems, where there are a lot of products with similar characteristics.<\/p>\n<p>We only cover the specific case of forecasting a single product type (beams) with different characteristics. However, this could be generalized for different products &#8211; such as the amount of cement needed &#8211; by adapting the model.\u00a0 Since there are no \u201ccement SKUs\u201d, and any amount predicted is valid, you can replace the <b>sigmoid<\/b> classification with a <b>linear<\/b> layer, and create a regression model together with binary classification for the time delay.<\/p>","protected":false},"excerpt":{"rendered":"<p>In this article, we will cover a use case in the construction industry related to forecasting the needed materials for construction and the time in which they will be required. In the construction industry, there is a lot of uncertainty between the order time and the time in which it is actually executed, due to [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":1408,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[84],"tags":[44,81,69,45],"class_list":["post-1407","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-use-case","tag-ai4business","tag-deep-learning","tag-explainable-ml","tag-machine-learning"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Multiple Product Forecasting in the construction industry - NILG.AI<\/title>\n<meta name=\"description\" content=\"A deep neural network to forecast product demand based on inaccurate pre-orders for the construction industry.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/nilg.ai\/pt\/202111\/multiple-product-forecasting-in-the-construction-industry\/\" \/>\n<meta property=\"og:locale\" content=\"pt_PT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Multiple Product Forecasting in the construction industry - NILG.AI\" \/>\n<meta property=\"og:description\" content=\"A deep neural network to forecast product demand based on inaccurate pre-orders for the construction industry.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/nilg.ai\/pt\/202111\/multiple-product-forecasting-in-the-construction-industry\/\" \/>\n<meta property=\"og:site_name\" content=\"NILG.AI\" \/>\n<meta property=\"article:published_time\" content=\"2021-11-09T11:14:26+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-06-24T12:09:06+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/nilg.ai\/wp-content\/uploads\/2022\/06\/pexels-igor-starkov-1117452-e1656065052869.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"746\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Paulo Maia\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@nilg_ai\" \/>\n<meta name=\"twitter:site\" content=\"@nilg_ai\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Paulo Maia\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/nilg.ai\/202111\/multiple-product-forecasting-in-the-construction-industry\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/nilg.ai\/202111\/multiple-product-forecasting-in-the-construction-industry\/\"},\"author\":{\"name\":\"Paulo Maia\",\"@id\":\"https:\/\/nilg.ai\/#\/schema\/person\/a860b9395bd25c5090160a3ac30e980d\"},\"headline\":\"Multiple Product Forecasting in the construction industry\",\"datePublished\":\"2021-11-09T11:14:26+00:00\",\"dateModified\":\"2022-06-24T12:09:06+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/nilg.ai\/202111\/multiple-product-forecasting-in-the-construction-industry\/\"},\"wordCount\":1413,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/nilg.ai\/#organization\"},\"keywords\":[\"AI4business\",\"Deep Learning\",\"Explainable ML\",\"Machine Learning\"],\"articleSection\":[\"Use Case\"],\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/nilg.ai\/202111\/multiple-product-forecasting-in-the-construction-industry\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/nilg.ai\/202111\/multiple-product-forecasting-in-the-construction-industry\/\",\"url\":\"https:\/\/nilg.ai\/202111\/multiple-product-forecasting-in-the-construction-industry\/\",\"name\":\"Multiple Product Forecasting in the construction industry - NILG.AI\",\"isPartOf\":{\"@id\":\"https:\/\/nilg.ai\/#website\"},\"datePublished\":\"2021-11-09T11:14:26+00:00\",\"dateModified\":\"2022-06-24T12:09:06+00:00\",\"description\":\"A deep neural network to forecast product demand based on inaccurate pre-orders for the construction industry.\",\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/nilg.ai\/202111\/multiple-product-forecasting-in-the-construction-industry\/\"]}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/nilg.ai\/#website\",\"url\":\"https:\/\/nilg.ai\/\",\"name\":\"NILG.AI\",\"description\":\"Create ever-improving businesses with AI\",\"publisher\":{\"@id\":\"https:\/\/nilg.ai\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/nilg.ai\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"pt-PT\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/nilg.ai\/#organization\",\"name\":\"NILG.AI\",\"url\":\"https:\/\/nilg.ai\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/nilg.ai\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/nilg.ai\/wp-content\/uploads\/2022\/03\/logo.svg\",\"contentUrl\":\"https:\/\/nilg.ai\/wp-content\/uploads\/2022\/03\/logo.svg\",\"caption\":\"NILG.AI\"},\"image\":{\"@id\":\"https:\/\/nilg.ai\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/twitter.com\/nilg_ai\",\"https:\/\/youtube.com\/@nilg_ai\",\"https:\/\/www.linkedin.com\/company\/nilg-ai\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/nilg.ai\/#\/schema\/person\/a860b9395bd25c5090160a3ac30e980d\",\"name\":\"Paulo Maia\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/nilg.ai\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/9e3e7cb701fd6dcee37f7a4e9f73ef5a27f5741062c4cb179724a1052ea23086?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/9e3e7cb701fd6dcee37f7a4e9f73ef5a27f5741062c4cb179724a1052ea23086?s=96&d=mm&r=g\",\"caption\":\"Paulo Maia\"},\"url\":\"https:\/\/nilg.ai\/pt\/author\/paulo\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Multiple Product Forecasting in the construction industry - NILG.AI","description":"A deep neural network to forecast product demand based on inaccurate pre-orders for the construction industry.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/nilg.ai\/pt\/202111\/multiple-product-forecasting-in-the-construction-industry\/","og_locale":"pt_PT","og_type":"article","og_title":"Multiple Product Forecasting in the construction industry - NILG.AI","og_description":"A deep neural network to forecast product demand based on inaccurate pre-orders for the construction industry.","og_url":"https:\/\/nilg.ai\/pt\/202111\/multiple-product-forecasting-in-the-construction-industry\/","og_site_name":"NILG.AI","article_published_time":"2021-11-09T11:14:26+00:00","article_modified_time":"2022-06-24T12:09:06+00:00","og_image":[{"width":1024,"height":746,"url":"https:\/\/nilg.ai\/wp-content\/uploads\/2022\/06\/pexels-igor-starkov-1117452-e1656065052869.jpg","type":"image\/jpeg"}],"author":"Paulo Maia","twitter_card":"summary_large_image","twitter_creator":"@nilg_ai","twitter_site":"@nilg_ai","twitter_misc":{"Written by":"Paulo Maia","Est. reading time":"9 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/nilg.ai\/202111\/multiple-product-forecasting-in-the-construction-industry\/#article","isPartOf":{"@id":"https:\/\/nilg.ai\/202111\/multiple-product-forecasting-in-the-construction-industry\/"},"author":{"name":"Paulo Maia","@id":"https:\/\/nilg.ai\/#\/schema\/person\/a860b9395bd25c5090160a3ac30e980d"},"headline":"Multiple Product Forecasting in the construction industry","datePublished":"2021-11-09T11:14:26+00:00","dateModified":"2022-06-24T12:09:06+00:00","mainEntityOfPage":{"@id":"https:\/\/nilg.ai\/202111\/multiple-product-forecasting-in-the-construction-industry\/"},"wordCount":1413,"commentCount":0,"publisher":{"@id":"https:\/\/nilg.ai\/#organization"},"keywords":["AI4business","Deep Learning","Explainable ML","Machine Learning"],"articleSection":["Use Case"],"inLanguage":"pt-PT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/nilg.ai\/202111\/multiple-product-forecasting-in-the-construction-industry\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/nilg.ai\/202111\/multiple-product-forecasting-in-the-construction-industry\/","url":"https:\/\/nilg.ai\/202111\/multiple-product-forecasting-in-the-construction-industry\/","name":"Multiple Product Forecasting in the construction industry - NILG.AI","isPartOf":{"@id":"https:\/\/nilg.ai\/#website"},"datePublished":"2021-11-09T11:14:26+00:00","dateModified":"2022-06-24T12:09:06+00:00","description":"A deep neural network to forecast product demand based on inaccurate pre-orders for the construction industry.","inLanguage":"pt-PT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/nilg.ai\/202111\/multiple-product-forecasting-in-the-construction-industry\/"]}]},{"@type":"WebSite","@id":"https:\/\/nilg.ai\/#website","url":"https:\/\/nilg.ai\/","name":"NILG.AI","description":"Create ever-improving businesses with AI","publisher":{"@id":"https:\/\/nilg.ai\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/nilg.ai\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"pt-PT"},{"@type":"Organization","@id":"https:\/\/nilg.ai\/#organization","name":"NILG.AI","url":"https:\/\/nilg.ai\/","logo":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/nilg.ai\/#\/schema\/logo\/image\/","url":"https:\/\/nilg.ai\/wp-content\/uploads\/2022\/03\/logo.svg","contentUrl":"https:\/\/nilg.ai\/wp-content\/uploads\/2022\/03\/logo.svg","caption":"NILG.AI"},"image":{"@id":"https:\/\/nilg.ai\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/twitter.com\/nilg_ai","https:\/\/youtube.com\/@nilg_ai","https:\/\/www.linkedin.com\/company\/nilg-ai\/"]},{"@type":"Person","@id":"https:\/\/nilg.ai\/#\/schema\/person\/a860b9395bd25c5090160a3ac30e980d","name":"Paulo Maia","image":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/nilg.ai\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/9e3e7cb701fd6dcee37f7a4e9f73ef5a27f5741062c4cb179724a1052ea23086?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/9e3e7cb701fd6dcee37f7a4e9f73ef5a27f5741062c4cb179724a1052ea23086?s=96&d=mm&r=g","caption":"Paulo Maia"},"url":"https:\/\/nilg.ai\/pt\/author\/paulo\/"}]}},"_links":{"self":[{"href":"https:\/\/nilg.ai\/pt\/wp-json\/wp\/v2\/posts\/1407","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nilg.ai\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nilg.ai\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nilg.ai\/pt\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/nilg.ai\/pt\/wp-json\/wp\/v2\/comments?post=1407"}],"version-history":[{"count":7,"href":"https:\/\/nilg.ai\/pt\/wp-json\/wp\/v2\/posts\/1407\/revisions"}],"predecessor-version":[{"id":1411,"href":"https:\/\/nilg.ai\/pt\/wp-json\/wp\/v2\/posts\/1407\/revisions\/1411"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nilg.ai\/pt\/wp-json\/wp\/v2\/media\/1408"}],"wp:attachment":[{"href":"https:\/\/nilg.ai\/pt\/wp-json\/wp\/v2\/media?parent=1407"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nilg.ai\/pt\/wp-json\/wp\/v2\/categories?post=1407"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nilg.ai\/pt\/wp-json\/wp\/v2\/tags?post=1407"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}