The math of natural cooling
If you have a building-science background or just like seeing the numbers behind a claim, this post is for you. We're walking through the thermal model WindowWise uses internally to decide when opening or closing your windows is going to save you money.
The model is deliberately simple. There's a more complex version with stratification, multi-zone airflow, and full psychrometric corrections, and it does NOT produce meaningfully better timing decisions for the median user. The simple model gets you 90% of the value with 10% of the complexity.
The core equation
The rate at which indoor temperature changes when windows are closed is approximately:
dT_indoor/dt = (T_outdoor - T_indoor) / τ + Q_hvac/C
Where:
T_indooris current indoor temperatureT_outdooris current outdoor temperatureτ(tau) is the thermal time constant of the structure, in hours — how fast the structure "forgets" its prior temperature and approaches the outdoor temperatureQ_hvacis the HVAC's heat-removal or heat-addition rate (negative for cooling, positive for heating)Cis the home's thermal capacity in BTU/°F
In plain English: when the HVAC is off, indoor temperature drifts toward outdoor temperature exponentially, at a rate set by how leaky the building envelope is. When the HVAC is on, it pushes indoor temperature toward the setpoint at a roughly constant rate.
τ — the thermal time constant
τ is the single most important number for this whole calculation. It captures:
- Wall, roof, and floor insulation R-values
- Air-leakage rate (ACH50 if you've blower-door tested)
- Thermal mass (concrete slab, brick interior walls, etc.)
- Window U-values
A rough lookup:
| Building type | τ (hours) |
|---|---|
| Tight modern build (passive house adjacent) | 12-24 |
| Recently weatherized 2010s+ home | 8-12 |
| Typical 1990s-2010s home | 5-8 |
| 1970s-1990s home (some insulation, leakier) | 3-5 |
| Pre-1970s home (drafty, single-pane windows) | 2-3 |
| Mobile home / poorly built ADU | 1-2 |
The way to interpret τ: in τ hours, with the HVAC off, the indoor-outdoor temperature difference closes by about 63%. After 2τ hours, it's closed by 86%. After 3τ hours, 95%.
For a typical home with τ=8h:
- After 1 hour HVAC off, you've lost 12% of your indoor-outdoor delta to drift
- After 4 hours, 39%
- After 8 hours, 63%
- Overnight (8-10 hours), you've lost most of your "stored cool" if outdoor stays warmer than indoor
When opening windows helps — quantitatively
Two scenarios where opening windows is clearly net-positive:
Scenario A: Banking overnight cool
It's a 65°F summer night, your house is at 78°F (the AC just stopped). You open the windows.
Cross-ventilation with screens + a ceiling fan moves about 10-30 air-changes per hour (ACH) through the space. That's effectively τ_open ≈ 0.3-0.5 hours. Indoor temperature collapses toward outdoor at near-equilibrium speed.
In 60-90 minutes, indoor is at 67-68°F. You close the windows. The next day's AC has 11°F of "free cool" to consume before it has to do real work.
The savings (using the math from our "How much can I save" post): if your AC would have run 8 hours that day, banking 4 of those hours away via overnight cool saves 4 × 3.5 kW × $0.16/kWh = $2.24 that day. Over a 4-month summer with 40-day-per-month opportunities, that's $360 — even before factoring in non-summer shoulder seasons.
Scenario B: Closing before the heat hits
You opened the windows at 7am when outdoor was 68°F and indoor was 75°F. Indoor has dropped to 70°F. Outdoor is now warming — it's 78°F at 10am, projected to hit 95°F by 2pm.
If you LEAVE the windows open:
- Indoor will track outdoor with a lag set by τ_open ≈ 0.5h.
- By 11am, indoor will be in the mid-70s. By 1pm, low 80s.
- Your AC will have to do the same work as if you'd never opened in the first place.
If you CLOSE the windows at 10am:
- Indoor stays near 70°F for the next several hours (because τ_closed ≈ 8h).
- Your AC doesn't kick on until indoor approaches 75°F, which won't be for ~6 hours given the 95°F outdoor pulling it that direction at 25°F × (1/8h) = 3.1°F/hr drift rate. So ~1.5 hours of free cool, then the AC takes over.
The difference between "open and ignore" vs. "open then close at the right moment" is the entire game. Get the closing right and you bank 4-6 hours of free cool. Get it wrong and you bank 0.
When opening windows DOESN'T help
Three scenarios where the math says don't bother:
When indoor is already at comfort + outdoor is far away
If indoor is 72°F and outdoor is 95°F, opening for any reason imports heat at 23°F × (1/τ_open) = ~50°F/hr drift rate. You go from comfortable to uncomfortable in minutes. Don't.
When the delta is too small to matter
If indoor is 75°F and outdoor is 73°F, opening for ventilation gives you 2°F of buffer. The thermal exchange is too small to matter for AC offset. Open for fresh air if you like, but don't expect savings.
When humidity inverts the comfort calculus
A 78°F outdoor at 40% relative humidity feels comfortable. A 74°F outdoor at 95% relative humidity feels muggy and worse than a 78°F dry indoor. The wet-bulb temperature — the metric that actually predicts comfort — punishes opening windows in humid climates.
WindowWise uses dew point (closely related) as a humidity gate. If outdoor dew point is above 65°F, the recommendation weighs against opening even when the dry-bulb temperatures look favorable.
The thermal-mass effect
Heavy materials (concrete slab, brick interior walls, tile floors, plaster walls) store thermal energy. A house with high thermal mass:
- Drifts more slowly in both directions (effective τ is longer)
- Banks overnight cool effectively for longer
- Resists daytime heat soak longer
A 100-year-old brick rowhouse with plaster interior walls can hold overnight cool deep into the afternoon. A 1990s stick-frame home with vinyl siding and drywall can't — overnight cool is gone by 11am.
Most of the US housing stock is in the "low-medium thermal mass" range. The savings math above assumes that; high-mass homes do better, low-mass homes do worse.
What the app is actually computing per tick
Every 10-15 minutes (more often near critical thresholds), WindowWise pulls:
- Current outdoor temp from WeatherKit (primary), Open-Meteo (fallback)
- Forecast hourly for the next 24 hours
- Current indoor temp from your paired thermostat / sensor (or your last-known indoor baseline if no sensor)
- Current HVAC state (running / idle)
- Your configured comfort range
- Your schedule (when you're home, when you sleep)
- Your house insulation tier (Tight / Average / Leaky)
And computes:
- Banking potential: how much "free cool" could be captured if windows opened NOW and closed at the right moment, given the forecast trajectory.
- Disagreement check: if the manual windows-open toggle says one thing but the inferred state (from indoor-vs-outdoor drift rate) says another, surface a soft nudge.
- HVAC conflict: if the windows are open (or inferred open with high confidence) and the HVAC is also running, fire an alert. This is the most expensive failure mode to miss.
- Trajectory warning: if the forecast says outdoor is about to outrun indoor's ability to stay comfortable even with closed windows, fire a "you might want to pre-cool now" alert.
None of this is rocket science. The value is doing it consistently across the year, with no behavioral effort from the user.
What WindowWise deliberately doesn't model
We get asked about these regularly. Here's what's NOT in the model, and why:
- Stack-effect ventilation (warm air rising / cool air sinking, exhaust through upper-story windows): meaningful in tall homes but doesn't generalize. Mentioned as a tip but not baked into the math.
- Mass-flow infiltration directionality: depends on wind direction + window orientation. Bigger than τ for the first 30 minutes after opening, but averages out. Not worth modeling.
- Psychrometric chart full-fidelity: dew point as a binary cutoff is the 90/10 simplification. Full wet-bulb + comfort-zone modeling would tighten the recommendation by a few percent and isn't worth the complexity.
- Direct solar gain through windows: matters for east-/west-facing single-pane glass. We don't ask users about window orientation; the trajectory math implicitly catches the cumulative effect.
The bottom line for the math-curious
The natural-cooling math is straightforward heat-transfer at first-year-engineering level. The complexity of doing it well is not in the equations — it's in:
- Getting reliable outdoor data at sub-hourly cadence
- Getting indoor data without requiring a sensor purchase
- Modeling the user's schedule + comfort range without overwhelming the UX
- Surfacing the recommendation at the right moment, in a way they actually act on
That last bullet is the one the math can't do for you. It's behavioral, not numerical. It's why an app exists at all.
If you'd rather build this yourself in Home Assistant — great, the math is in this post. Most users would rather not.
[Read: How much can I save?] [Read: Where natural cooling actually works] [Download WindowWise — iOS / Android / web]