Real estate & facilities
Energy analytics across 14 buildings and four BMS vendors
One data plane over BACnet, Modbus and a proprietary head-end, with fault detection that tells a facilities manager which asset to look at before the complaint arrives.
- Portfolio energy use intensity
- down double digits, year on year
- Points under live monitoring
- a few hundred → tens of thousands
- Faults found in first 60 days
- several hundred, roughly a fifth material
- Sector
- Commercial real estate portfolio
- Estate
- 14 buildings, ~2.1m sq ft, 4 BMS vendors
- Engagement
- Two-building pilot, then portfolio rollout
- Duration
- 10 months
Stack
- BACnet/IP
- Modbus TCP
- MQTT
- Node-RED
- Brick Schema
- TimescaleDB
- Grafana
- Python
- Next.js
Practices involved
Discuss a similar problemThe situation
The portfolio team received one energy report per building per month, produced by four different service providers in four different shapes. Comparing buildings meant re-keying PDFs into a spreadsheet. An ESG commitment had made per-asset evidence a board-level requirement, and nobody could produce it.
The constraint
Three of the four BMS vendors treated data access as a paid integration, and one had no documented interface above the head-end. Facilities were — reasonably — unwilling to allow any system that could write a setpoint. And two buildings had no reliable IT network in plant rooms at all.
What we built
A survey that corrected the drawings
Six weeks of site work established what was actually installed, which controllers were reachable, and which points on the commissioning list had never been wired. Roughly one in nine documented points did not exist. Every later estimate depended on getting this right.
Read-only edge gateways
One gateway per building polls BACnet/IP and BACnet MS/TP over a router, plus Modbus TCP for the meters, and screen-scrapes a scheduled export from the closed system. Read-only by design and physically segmented from the control network. Local buffering means a WAN outage delays data rather than losing it.
Tagging, so a point means something
Each point is tagged against a Brick model: this sensor is the supply air temperature of that AHU, which serves those zones on that floor. This is unglamorous, it takes weeks, and it is the entire difference between a chart and an analysis.
Fault detection rules that name the asset
Simultaneous heating and cooling, valves stuck open, economisers not economising, equipment running outside occupancy, chillers short-cycling. Each rule produces an asset-level finding with an estimated annual cost, ranked. The facilities manager gets a work list, not a dashboard to interpret.
Baselines that survive finance
Weather-normalised regression baselines per building using an IPMVP Option C approach, so a savings claim can be defended when the finance team asks whether it was just a mild winter.
What changed
The first sixty days produced several hundred findings, of which roughly a fifth were worth acting on immediately — the largest being two air handling units that had run continuously since a controller replacement over a year earlier. Year-on-year energy use intensity fell by a double-digit percentage across the portfolio, most of it from operational corrections rather than capital work.
What we would do differently
We built the portfolio dashboard before the work-order integration. Findings sat in a tool the facilities team did not live in. Pushing findings into their existing ticketing system, which we did in month seven, should have been part of the pilot.
Outcomes
- Portfolio energy use intensity
- down double digits, year on year
- Points under live monitoring
- a few hundred → tens of thousands
- Faults found in first 60 days
- several hundred, roughly a fifth material
Client identity withheld under a mutual NDA. Figures are illustrative — rounded and directional, meant to show the shape of the change rather than an audited result. We will walk through the real numbers, and how they were measured, under NDA on a call.
More work
Other engagements.
Case studiesCutting stockouts across 240 stores with a forecast the buyers trust
A hierarchical demand forecast, a promo-aware feature store and a replenishment workflow the category team can override — because a model nobody overrides is a model nobody uses.
Read the case studyShipping firmware to 6,000 imaging consoles without a truck roll
A signed, resumable, rollback-safe update channel for regulated ultrasound hardware sitting on hospital networks that block almost everything.
Read the case studyA reproducible pipeline for a diagnostics lab that had outgrown its scripts
Genomic and assay data moving from instruments to reportable results, with provenance for every derived value and a turnaround clock the lab director can see.
Read the case studyNext step
Tell us what you're trying to ship.
Send the brief, the RFP, or three messy sentences about the problem. You get a written point of view from an architect within two working days — not a sales deck.