Algorithm-based Estimate: An Alternate Approach of Construction Cost Prediction in Early Stage of Design
- Presentation Video (15 min.): https://www.youtube.com/watch?v=XObJYuv9yhQ
- Speaker Profile: https://aiaec2021.exordo.com/programme/presentation/99
- Event Page: https://www.ril.fi/en/events/ai-in-aec-2021.html
I am proposing an algorithm-based solution for cost estimating in the Architecture, Engineering, and Construction (AEC) industry. There are two major approaches nowadays for a preconstruction team to complete estimates after receiving design packages. The first one is to dig into the drawing details and build up all the estimate items line by line, and the second one is to generate a Rough Order of Magnitude (ROM) estimate by selecting comparable projects from the project database and simply averaging their costs. The detailed estimate is much more accurate and yet more time-consuming. On the other hand, one can create a high-level estimate in a considerably short amount of period with less confidence, however.
I am a preconstruction engineer/estimator in Hathaway Dinwiddie Construction Company (HDCCo), one of the largest general contractors in the Bay Area, and is still continuously growing. Along with the expansion of the company, our daily estimating work becomes heavier yet allows less time to process. As a company with prestige over 100 years in the industry, we refuse to compromise and will always deliver at our best with no excuses. Thus, I would like to propose a new approach to respond to the challenge. I want to balance the two current workflows, to maximize the pros and minimize the cons of both, by harvesting the legacy data with Machine Learning techniques. I believe that data should have a better as well as faster idea.
All the codes are written and compiled under the environment of Jupyter Notebook.
All the supporting materials below are saved in the same folder with this README.md file.
- Folder of images
- Package of missingno
- ML Capstone - Data.csv
- visuals.py
All the libraries that are needed to be imported and used to run the codes are listed as follows:
- numpy
- pandas
- matplotlib
- seaborn
- IPython
- random
- missingno
- sklearn
- xgboost
- lightgbm