Dynamic pricing at charging stations: how it works and what it gives the operator

The price of charging at a public station can swing from below €0.25/kWh in hours of energy surplus to over €0.70/kWh at peak. The same operator, the same charger — yet the rate depends on the time of day, the situation on the energy exchange and how busy the bay is. This is not chance or chaos — it is dynamic pricing at the charging station in action.
Not long ago the standard was a single flat tariff: "€X per kWh, around the clock". Today that model increasingly loses out — because the operator's energy cost changes hour by hour, and a flat tariff either eats the margin at peak or gives away potential profit in the valley. This article explains what dynamic charging pricing is, its models (TOU, spot pricing, occupancy-based pricing, idle fees), how it affects the price for drivers, how it genuinely eases operator management, and how to implement it technically — via OCPP, OCPI and in line with AFIR.
What dynamic pricing at a charging station is
Dynamic charging pricing is a model in which the session rate is not fixed but changes automatically based on defined factors: time of day, the current market price of energy, station occupancy, charging power or customer type. Instead of one number in the tariff, the operator defines rules, and the management system (CSMS) computes the price valid at a given moment and shows it to the driver before the session starts.
The goal is twofold and — counter-intuitively — aligned for both sides:
Dynamic pricing aims to shift demand to where energy is cheaper and the station less busy — the driver pays less, the operator earns more and uses the infrastructure better.
It is not a trick to raise rates. Well-designed dynamic pricing at a charging station is a demand-steering mechanism: it rewards charging in the price valley and cools it at peak, instead of letting everyone fight for power in the same hours.
Why a flat tariff stops being enough
The problem with a flat tariff comes from the fact that the operator's energy cost is not fixed. In a market with a high share of renewables, wholesale energy prices change every hour: in spring and summer, surpluses from solar and wind drive multi-hour price drops on the exchange, while in the evening peak rates can spike.
With a flat tariff the operator is then trapped:
- at peak it buys expensive energy but sells it at the same averaged price — margin melts or vanishes,
- in the valley it buys cheap energy but cannot translate that into a lower price and an incentive for the driver — it loses potential volume,
- when busy it has no tool to clear the queue — everyone wants to charge in the same hours, bays get blocked, rotation falls.
On top of this come distribution-fee components that depend on power and time of day (which we cover in the context of load balancing) and the risk of a bay being blocked by a car that finished charging long ago. A flat tariff answers none of these problems — a dynamic one answers all of them.
Dynamic pricing models
"Dynamic pricing" is an umbrella term. In practice operators use several models, often combining them.
1. Time-of-Use (TOU) — time-of-day pricing
The simplest and most common model: pre-set rates for time windows — one price at peak, another off-peak. For example, on the same station you may see off-peak rates of around €0.20–0.30/kWh and daytime/peak rates of €0.37–0.55/kWh. TOU is predictable for the driver (they know in advance when it is cheaper) and simple to communicate, but it does not react to the current market situation — it reacts only to the clock.
2. Spot / real-time pricing (RTP) — tied to the exchange
A more advanced model in which the price follows the wholesale (spot) market. This is the model that lets operators offer the cheapest rates in renewable-surplus hours — in the fast DC segment, dynamic tariffs are often the most competitive on the market, starting around €0.44/kWh and, in surplus hours, dropping even below €0.30/kWh while leaving room for higher peak rates. RTP protects the operator's margin most, but it needs good driver communication, because the price changes often.
3. Occupancy- and demand-based pricing (congestion-based)
A model where the price rises where a station is heavily occupied and falls where it stands underused. It often builds on a day-ahead demand forecast and acts as traffic distribution: price-sensitive drivers move to less busy bays or hours, so the whole network is used more evenly. Studies show that price steered this way directly affects load distribution and increases operator revenue over simple strategies.
4. Idle fee — a price for blocking the bay
A separate but important element of a dynamic tariff. After charging ends (or after a time limit), a per-minute fee is charged for occupying the bay — rates of around €0.10/min are common, and at fast-route stations up to €0.25/min. The idle fee is not about earning on parking but about forcing rotation: a charged car should free the bay for the next one. It is a dynamic price for time and availability, not for energy.
| Model | Based on | Main benefit | For whom |
|---|---|---|---|
| Time-of-Use (TOU) | time of day (peak / off-peak) | simplicity and predictability | car parks, communities, workplaces |
| Spot pricing (RTP) | the energy exchange in real time | margin protection, cheapest valleys | DC operators, public networks |
| Occupancy-based | demand and station utilization | traffic distribution, higher revenue | hubs, locations with queues |
| Idle fee | time occupying the bay | forcing rotation | high-rotation stations, routes |
Use cases: who uses dynamic pricing and why
Public operator / fast DC on a route
The biggest beneficiary of spot pricing. Energy cost is the main component of a session, and traffic is uneven. Dynamic pricing lets you be cheapest in the valley (attracting volume) and protect margin at peak. It is the core of any charging point operator strategy.
Commercial car park, mall, hotel
Here rotation and predictability matter. TOU plus an idle fee mean bays are not blocked all day, and the "out shopping" customer charges at a reasonable price. It pairs well with the offer for hotels and hospitality.
Fleet and B2B billing
A fleet can have its own preferential tariff (lower than public), and dynamic pricing additionally lets you shift charging to cheap overnight hours at the depot. Pricing then fits into fleet session billing and the split into business/private cost.
Housing community and private sector
Cheap overnight charging in a community garage is a natural TOU case: a resident pays less when energy is cheap, and the installation charges mostly at night anyway.
Roaming (eMSP)
When a station is available to drivers of other operators via roaming, the price must be passed in real time to the service provider's (eMSP) app. Without exchanging tariffs between systems, dynamic pricing in roaming will not work — more on that in the technical part.
How dynamic pricing affects the price for the driver
From the driver's perspective, dynamic pricing means one thing: the price stops being a single number and becomes dependent on when and where to charge. The key is that this price is known before the session starts — and here regulation comes in (see AFIR below).
A simple example of the difference between peak and valley on the same station:
- charging 40 kWh at peak at €0.55/kWh = €22,
- charging 40 kWh overnight at €0.30/kWh = €12.
That is €10 of difference on a single charge purely due to timing. For a regular driver, the difference over a month is significant — and it is what motivates shifting charging off peak. That is exactly the point: a dynamic price is a signal, not a penalty. A driver who can be flexible pays less; one who needs to charge "here and now" at peak pays for that convenience.
Example: what a day with dynamic pricing looks like
To see how the models come together, let's trace one day at a DC station on a route, where the operator buys energy on a spot tariff and applies occupancy-based pricing plus an idle fee:
- 02:00–05:00 (deep valley). The wholesale energy price is very low, the station nearly empty. The system sets the lowest rate of the day — a "hunt for a bargain" window for drivers planning a trip. The operator sells energy that would be cheap anyway and fills hours that normally stand empty.
- 07:00–09:00 (morning peak). Traffic rises, energy gets more expensive. The price goes up — not to punish, but to reflect the real cost and discourage bay-blocking by those who can wait.
- 11:00–15:00 (renewable surplus). On sunny days, solar drives the wholesale price down, sometimes to negative values. The station lowers its rate, drawing drivers in the middle of the day — energy is cheap and "green".
- 17:00–21:00 (evening peak). The most expensive energy and the highest demand. The price is the highest of the day, and the occupancy mechanism additionally distributes traffic across bays. Whoever must charge "here and now" pays for the convenience; the rest shift to later.
- All day — the idle fee. Regardless of the energy rate, after charging ends (or after the limit) a per-minute fee is charged for occupying the bay, to force rotation and not block the next drivers.
The result: the driver gets a clear signal when to charge cheaper, the operator protects margin at peak and earns in the valley, and the whole station is used more evenly around the clock. It is exactly the same "peak-shaving" logic used by load balancing — only delivered by price rather than a power limit.
Dynamic pricing, solar PV and energy storage
Dynamic pricing reaches full power when combined with an own energy source. If a location has solar PV, a dynamic tariff can reward charging in the hours of highest production — the operator then sells its own cheap energy instead of feeding the surplus to the grid at a low rate. This turns PV from a cost into an active revenue tool.
Going further is the combination with energy storage: the battery charges in the price valley (cheap grid energy or a PV surplus) and discharges at peak, when the station sells at the highest rate. Dynamic pricing is then the "brain" that decides when storage charges and when it discharges — maximizing the gap between cost and selling price. In both cases the prerequisite is a system that can combine data on energy price, PV production, storage state and station occupancy into a single pricing rule — that is, a mature charge point management system.
How dynamic pricing eases operator management
This is the crux from the station owner's perspective. Dynamic pricing at a charging station is not only a way to price — it is an operational tool:
- Protecting and stabilizing margin. The price follows the energy cost, so the operator does not sell below the line in an expensive peak. Margin becomes predictable regardless of exchange swings.
- Higher infrastructure utilization. A cheap price in the valley attracts sessions in hours that would otherwise be empty. In pilots, dynamic pricing combined with managed charging shifted up to ~98% of volume off peak, far more than flat time-of-day tariffs alone (~60–70%). It was also observed that a clear price cut could multiply station utilization.
- Clearing queues. Occupancy-based pricing and the idle fee distribute traffic across bays and hours — without adding hardware.
- Synergy with power management. Shifting sessions to cheaper hours is at the same time shifting them off the draw peak — which works with load balancing and helps use connection capacity better and integrate with solar PV.
- Data for decisions. A rule-based tariff and full session metering give the operator hard data: when demand occurs, how it reacts to price, which locations need adjustment. It rounds off with station billing and managing the whole network.
In other words: a flat tariff is a passive outcome, a dynamic one is active steering of the station's business.
How to solve it technically: OCPP, OCPI and AFIR
Dynamic pricing is a software function, not a charger feature. It is delivered by the charge point management system based on industry standards.
OCPP — station ↔ system communication
The OCPP protocol is responsible for passing the price to the station and the driver:
- OCPP 2.0.1 — the ad-hoc price can be shown on the station display with the
SetDisplayMessagecommand, and during a transaction the system sendsCostUpdatedwith the running cost (price per kWh or per time, optionally an idle fee). The driver thus sees the rising cost live. - OCPP 2.1 — introduces tariff management at the protocol level and native support for dynamic pricing: tariff plans can be uploaded to the station, and the station can compute the session cost locally. This simplifies deployment and decouples price display from a constant server connection.
OCPI — tariff exchange and roaming
Where roaming is involved, the price must be passed between the operator's (CPO) and the service provider's (eMSP) systems. This is done by the OCPI protocol, which lets tariffs be shared in real time — in a per-kWh, per-minute or per-session format. Without OCPI a roaming driver would not see the current, dynamic price in their app.
ISO 15118 — price on the vehicle side
The ISO 15118-20 standard provides the technical basis for exchanging price and energy data directly with the vehicle, opening the way to fully automated, dynamic charging (the car itself picks the cheapest window).
AFIR — the price-transparency obligation
The most important legal frame. The AFIR regulation requires that the driver before the session starts sees a clear, comparable price per kWh (and any fees), and that the station allows ad-hoc charging without a contract or subscription. For dynamic pricing this is a hard requirement: the price valid at a given moment must be shown up front, not revealed only on the invoice. A well-designed dynamic pricing system is therefore also an AFIR-compliant system.
Risks and good practices
Dynamic pricing only works when the driver trusts it. A few principles:
- Transparency first. The price must be visible before the session — an AFIR requirement and a condition of trust.
- Predictability where it matters. For sensitive customers (communities, fleets), a clear TOU is often better than a jumpy spot price.
- Do not surprise with the idle fee. The idle fee must be communicated clearly, with time to react (an app notification).
- Set bounds. Even in a spot model it is worth keeping the price within a reasonable min–max band, so as not to deter drivers in an expensive peak.
- Test and measure. A dynamic tariff is a process — watch how demand reacts and adjust the rules based on data.
Dynamic pricing implementation checklist
- Gather data on your energy cost — whether you have access to a spot price / dynamic tariff from your energy supplier.
- Choose a model — TOU to start, spot/RTP for advanced setups, occupancy for hubs, an idle fee wherever rotation matters.
- Check hardware and protocol — whether stations and the system support OCPP with price passing (
CostUpdated,SetDisplayMessage), and in time OCPP 2.1 / OCPI for roaming. - Ensure AFIR compliance — price visible before the session, ad-hoc charging without a contract.
- Integrate with power management — tie shifting sessions to cheap hours to load balancing.
- Communicate the change to drivers — app, display, clear price bounds.
- Monitor and adjust — pricing rules are a living part of strategy, not a "set once and forget" setting.
Dynamic pricing at charging stations is no longer the domain of the largest networks — it is becoming a standard tool for any operator who wants to protect margin, use infrastructure better and meet AFIR requirements. Done well, it benefits everyone: the driver pays less when flexible, the operator earns more steadily, and the power grid gains from a flatter load.
FAQ
What is dynamic pricing at a charging station?+
It is a model in which the charging rate is not fixed but changes automatically by rules — based on time of day, the exchange price of energy, station occupancy or customer type. The management system computes the price valid at a given moment and shows it to the driver before the session starts.
What are the models of dynamic charging pricing?+
The most common are: Time of Use (TOU) — time of day rates; spot / real time pricing (RTP) — tied to the energy exchange; occupancy and demand based pricing — distributing traffic in the network; and the idle fee — a price for blocking the bay that forces rotation. Operators often combine several models.
Is dynamic pricing more expensive for the driver?+
Not necessarily — it depends on when you charge. In the price valley (night, renewable surplus) dynamic pricing is often the cheapest on the market, and more expensive at peak. A flexible driver pays less than with a flat, averaged tariff; whoever charges at peak pays for the convenience.
How does dynamic pricing help the operator?+
It protects margin (the price follows the energy cost), increases station utilization (a cheap price attracts sessions in empty hours), clears queues (occupancy pricing and the idle fee), works with power management and provides hard data for pricing decisions. It is a tool for actively steering the station's business.
How do you implement dynamic pricing technically?+
Through the charge point management system (CSMS) and standards: OCPP 2.0.1 ( CostUpdated , SetDisplayMessage ) to pass the price to the station and the driver, OCPP 2.1 for native tariff management and local cost computation, OCPI for tariff exchange and roaming, and ISO 15118 20 on the vehicle side. The implementation must be AFIR compliant.
Is dynamic pricing AFIR compliant?+
Yes, if implemented correctly. AFIR requires the price per kWh (and any fees) to be visible to the driver before the session starts and ad hoc charging without a contract to be possible. A good dynamic pricing system shows the current rate up front, so it meets these requirements.
What is an idle fee?+
It is a fee charged for the time occupying the bay after charging ends or after a time limit — on the order of €0.10/min, and at routes up to €0.25/min. Its purpose is not to earn on parking but to force rotation, so a charged car frees the bay for the next driver.