How pool chemical dosing math actually works
Every dosing chart, app, and grizzled veteran's mental arithmetic reduces to the same three-step calculation. Once you see it, you can dose any chemical for any pool from one reference number. Just as importantly, you can tell when a number coming out of a chart makes no sense.
Step 1: Distance to target
You're not correcting to the edge of the acceptable band; you're correcting to its middle, so normal drift keeps you inside the band until the next visit. If your free chlorine target is 1–4 ppm, you aim for 2.5. A reading of 0.8 ppm means the correction is:
delta = 2.5 − 0.8 = 1.7 ppm
Aim at the minimum instead and tomorrow's sunshine puts you right back out of range.
Step 2: The reference amount
Every product has a known effect at a reference volume. The industry convention is per 10,000 gallons:
| Product | Moves | Reference effect (per 10,000 gal) |
|---|---|---|
| Liquid chlorine 12.5% | FC up | ~10.24 fl oz per 1 ppm |
| Muriatic acid 31.45% | pH down | ~6 fl oz per 0.1 pH† |
| Stabilizer (cyanuric acid) | CYA up | ~13 oz per 10 ppm |
| Baking soda | TA up | ~1.5 lb per 10 ppm |
† Acid response depends heavily on total alkalinity, so treat the pH number as a starting point, dose in stages, and retest. That's why careful operators (and our app) treat acid more conservatively than chlorine.
Step 3: Scale to the actual volume
Multiply by your gallons ÷ 10,000. Putting the chlorine example together for a 12,500-gallon pool:
dose = (delta ÷ step) × reference × (gallons ÷ 10,000)
= (1.7 ÷ 1) × 10.24 oz × (12,500 ÷ 10,000)
= 1.7 × 10.24 × 1.25
≈ 22 oz of 12.5% liquid chlorine
The same reading on the attached 900-gallon spa is a different world: 1.7 × 10.24 × 0.09 ≈ 1.6 oz. This is why "a glug per pool" techs chronically over-chlorinate spas and under-chlorinate big pools: the volume ratio spans two orders of magnitude across a typical route.
The guard that matters more than the formula
The dangerous failure mode in dosing isn't being off by 10%. It's the typo. A pH entered as 78 instead of 7.8 is 70.5 steps of 0.1 from target; the formula happily asks for over three gallons of acid. So before any math runs, check the reading against what a test kit can physically report:
| Parameter | Typical target | Plausible instrument range |
|---|---|---|
| Free chlorine | 1–4 ppm | 0–20 ppm |
| pH | 7.4–7.6 | 6.0–8.6 |
| Total alkalinity | 80–120 ppm | 0–400 ppm |
| CYA | 30–50 ppm | 0–200 ppm |
| Salt | 2700–3400 ppm | 0–8000 ppm |
A reading outside the plausible range should be refused: flagged for re-entry, never dosed. In FieldTechScheduler this guard is hard-coded into the treatment engine: an implausible reading produces a "check these readings" warning and no dose line, full stop. If you build or buy dosing software, test this case specifically. It's the difference between an embarrassing warning and a drained pool.
What doesn't fit in the formula
- Chlorine demand. The formula computes the concentration change, not the organic load consuming it. A green pool eats the calculated dose and asks for more.
- CYA's effect on chlorine. Higher stabilizer means more FC needed for the same sanitizing power. If CYA has crept over ~70 ppm, fix that (by dilution, since nothing chemical removes it) before chasing FC numbers.
- Anything that only leaves by dilution. CYA and salt don't get "lowered" by a product. The only dose is a partial drain-and-refill.
Want to try the arithmetic without a spreadsheet? The free dosing calculator runs exactly this math. In the pool service app, it runs automatically on every stop, scaled to each body of water, checked against the tech's truck stock.