Rebuilding a quarterly construction market report so every number traces back to a real source.
100+
hours of manual work per report, now being automated
300+
data series cataloged across the report's three sections
36
report pages traced, figure by figure, to the original publisher
2
client releases a quarter instead of one, approved by the CEO
CREDE, a development advisory and construction project management firm, sends clients a quarterly market report that answers one question: should I build now? Putting each report together was a manual process that took more than 100 hours. I'm automating it on a repeatable data foundation. I traced every figure in the report to its original publisher, restructured it around the client's question, and built a catalog of 300+ data series that records where each one comes from, how to pull it, how often it's released and exactly what it measures. That catalog is the spec for an Azure platform I co-designed with a fellow intern, approved by the CEO in October. The goal is full automation: an AI drafts each report from the latest data and the firm's past reports, and an employee reviews and approves it before it goes to clients.
Decisions I made
- Two releases a quarter. Market and cost data come out 2–4 weeks after quarter end, but sector data takes 3–7 weeks. Splitting the report into Current Conditions and Sector Forecast means neither waits for the other, and gives the firm two client touchpoints a quarter instead of one, a win for the marketing team as well as for readers. The CEO approved it in October.
- Publish our own sector forecast. Many sector forecasts came from firms that compete with CREDE. I designed two methods side by side: build it from supply, demand and price inputs, or take the median and range of other publishers' year-over-year changes.
- Compare like with like. Each series records what it measures and whose price it is (factory, contractor or retail). Sources are only combined when both match, and only by year-over-year change, never by level.
- Azure over an all-Power-Platform build. Co-designed with a fellow intern. I compared three options on cost, testing and upkeep. At Microsoft list prices, the Azure option runs about $9–15 a month today, while Dataverse storage costs about $40 per GB a month once the included allowance is used up.
Also at CREDE
I built a monthly reporting layer for the finance team’s forecast model, a Python and Plotly chart prototype, and a corporate card process that imports straight into the new accounting system. I’m now streamlining how projects move through our internal tools, from first lead to final billing, to make the work easier for the whole team.
Stack
Python, pandas, Plotly, openpyxl, REST APIs (FRED, Census, BLS, SEC EDGAR, EIA), Excel, Azure (Cosmos DB, Functions), Power Platform, HubSpot, Sage Intacct.