Every fleet charging optimization problem has one hard constraint that doesn't bend to economics: vehicles need to be ready when the routes start. For most commercial fleets, that means a 5:00 AM to 7:00 AM departure window. Whatever cost optimization happens overnight has to resolve to a fully-charged fleet by then — or close enough to "fully charged" that operations aren't compromised.
This constraint is what makes fleet charging different from other commercial demand management problems. A large retail facility can voluntarily reduce its demand during a utility curtailment event without consequence. A fleet depot that arrives at 6:00 AM with six vehicles at 30% state-of-charge because the optimization algorithm held them in reserve too long has a real operational problem.
Load shifting — moving charging load from peak-cost periods to off-peak periods — is the central lever of EV fleet energy cost reduction. But executing it correctly requires a rigorous treatment of the morning departure constraint, not as a soft preference but as a binding operational boundary.
Why Static Timers Fail the Dispatch Constraint
The most common first-generation approach to overnight load shifting is a timer: all chargers activate at 10:00 PM (the start of off-peak pricing under most Pacific Northwest utility schedules) and deactivate at 6:00 AM. This captures most of the TOU savings for a predictable fleet with predictable energy needs.
The failure mode appears when variability enters the picture. Consider a 25-vehicle delivery fleet operating out of a Portland-area depot. On a normal day, vehicles return between 3:30 PM and 4:30 PM with an average SOC of 35%. The off-peak window from 10 PM to 6 AM provides approximately 8 hours of charging time — more than enough to restore all vehicles to target SOC on 7.2 kW Level 2 chargers.
Now add variability: two vehicles return at 6:45 PM after an extended route. One vehicle returns at 9:15 PM. Four vehicles arrive with lower-than-expected SOC due to heavier-than-typical payloads. By 10:00 PM when the timer activates, these outlier vehicles have less charging time available than the average case assumed. The 8-hour window is now a 7-hour or 6.75-hour window for these vehicles — which may or may not be sufficient depending on battery capacity and charge rate.
A static timer provides no mechanism to detect this shortfall in advance. The first indication of a problem is either a vehicle departing under-charged or a driver manually overriding the system to start charging immediately on return, which defeats the cost optimization entirely.
The Feasibility Horizon
The concept that replaces static timing is the feasibility horizon: a per-vehicle calculation, updated continuously, that determines the latest time a charging session can begin and still reach target SOC before departure.
The calculation itself is not complex. Given:
- Current SOC (from telematics or EVSE metering)
- Target SOC at departure (e.g., 90%)
- Battery capacity (kWh)
- Maximum charge rate at the assigned station (kW)
- Departure time (from route schedule)
The latest permissible charge start is: departure_time − ((target_SOC − current_SOC) × capacity / charge_rate), with a safety buffer. If it's currently 11:00 PM and a vehicle's feasibility horizon is 11:30 PM, it must begin charging within 30 minutes or it cannot reach target SOC. The system must activate that charger now, regardless of what the tariff schedule prefers.
This calculation needs to be updated as real-world SOC data arrives, because telematics SOC readings and actual battery state sometimes diverge — particularly during extended routes where regenerative braking estimates can accumulate error. A charging system that treats the initial SOC reading as definitive and never updates its feasibility estimate can miscalculate headroom badly on vehicles that arrive with worse-than-estimated charge.
Priority Tiers and Dispatch Order
When the system is managing a full fleet simultaneously, the feasibility horizon for each vehicle determines its priority tier. Vehicles with near-term feasibility horizons get activated first, regardless of whether the current tariff period is on-peak. Vehicles with distant feasibility horizons — those with high SOC, large battery capacity, or late departure times — can be deferred into the off-peak window.
A practical priority structure for overnight dispatch might look like this:
- Immediate dispatch: Vehicles whose feasibility horizon is within 2 hours — they must charge now or they won't make departure SOC
- Tariff-deferred dispatch: Vehicles whose feasibility horizon is more than 4 hours out — they can wait for the off-peak window without risk
- Buffer tier: Vehicles in the 2–4 hour window — held in reserve, activated as demand headroom opens up and monitored for feasibility horizon tightening
This structure ensures that the morning constraint is always satisfied for the must-charge-now tier while maximizing the proportion of total energy delivered in the off-peak window. In well-conditioned overnight scenarios, 75–85% of charging energy falls in the off-peak window under this approach, with immediate dispatch vehicles accounting for the balance.
The Demand Cap Interaction
Load shifting isn't only about timing; it's about managing the aggregate facility demand simultaneously. Spreading charging across the overnight window reduces demand charges, but only if the activation sequencing respects a facility-level power cap.
The complication is that immediate-dispatch vehicles may create demand spikes if multiple vehicles reach their feasibility horizon at the same time. If six vehicles simultaneously hit the "must charge now" threshold because they all returned late and have similar energy deficits, activating all six concurrently creates exactly the demand spike that the load shifting strategy was designed to avoid — just at a different hour than the default return-time spike.
Handling this requires that the priority dispatcher also perform demand cap enforcement: when multiple vehicles enter the immediate dispatch tier simultaneously, they are activated sequentially at intervals that keep aggregate facility draw below the demand cap, even if this means the last vehicle in the sequence has slightly less headroom than ideal. The SOC math should account for this sequencing delay and flag any vehicle that genuinely cannot reach target SOC even under optimal sequential dispatch — those cases require human review of departure time or route assignment adjustments.
Seasonal and Route Variability
Load shifting algorithms that are tuned for summer fleet operations may perform poorly in winter. In colder climates — and Portland winters can get consistently cold enough to matter — EV battery effective capacity decreases and charge acceptance rates can drop, particularly for lithium iron phosphate chemistries that are increasingly common in commercial fleet applications. A vehicle that reliably charges from 35% to 90% in 4.5 hours in August may take 5.5 or 6 hours for the same session in January.
Dispatch systems that use static charge time estimates without temperature-adjusted correction will underestimate charge time in winter and create morning-readiness shortfalls that accumulate across the fleet. The correction doesn't require a complex thermal model — a simple lookup table indexed to ambient temperature with observed charge rate degradation factors, calibrated against actual fleet charging history, is sufficient to substantially improve winter dispatch accuracy.
What Load Shifting Actually Delivers
We're not saying load shifting solves every fleet charging cost problem — it doesn't. If your depot's electrical service is undersized for the overnight load, deferred charging simply moves the capacity constraint from the afternoon peak to the overnight period. If your fleet has vehicles with genuine range anxiety issues or unreliable SOC telemetry, the feasibility horizon calculations become unreliable, and the conservative response is to charge more vehicles earlier rather than risk morning dispatch failures.
What load shifting reliably delivers, when the underlying data is sound, is a reallocation of charging energy from expensive peak-rate periods to cheap off-peak-rate periods, combined with demand charge reduction from spreading load across the overnight window rather than concentrating it at return time. For fleets on meaningful TOU rate schedules with substantial demand charges — which describes most commercial fleets on Oregon and Washington utility commercial service — these savings are real and material over a 12-month operating period.
The specific numbers depend on fleet size, tariff structure, and operational variability. What the data consistently shows is that the gap between unmanaged charging and well-optimized load shifting is largest for fleets with the most variability — the ones that most need dynamic dispatch rather than static timers, and that benefit most from systems designed around the morning departure constraint as a first-class hard requirement rather than an afterthought.
For a technical look at how tariff data feeds into this dispatch logic in real time, see our article on connecting tariff APIs to fleet telematics.