Italy's electricity market shares structural features with Spain - high renewable share, high price volatility, exposure to gas prices - but with one feature unique in Europe: zonal pricing. Italy splits into seven price zones (six geographic plus virtual zones), each with its own clearing price. A solar peak in Sicily can leave that zone at 30 EUR/MWh while the North pays 120 EUR/MWh for the same hour.
This guide explains GME (the market operator), the IPEX day-ahead spot market, how the PUN (national single price) is calculated from zonal prices, and how Wattora's Italy integration surfaces this data for households.
GME and IPEX: where the prices come from
GME (Gestore dei Mercati Energetici) is the Italian electricity market operator, analogous to OMIE in Spain. GME runs IPEX (Italian Power Exchange), which includes:
MGP (Mercato del Giorno Prima) - the day-ahead market, cleared around 12:00 Italian time for the next 24 hours. This is where most volume trades.
MI (Mercato Infragiornaliero) - intraday market, multiple sessions through the operating day to adjust positions.
MSD (Mercato per il Servizio di Dispacciamento) - balancing market, Terna (the grid operator) buys reserve and balancing services here.
For consumers, the relevant number is the MGP clearing price. GME publishes it for each of the seven zones plus the PUN.
The seven zones: NORD (North), CNOR (Centre-North), CSUD (Centre-South), SUD (South), SICI (Sicily), SARD (Sardinia), and CALA (Calabria - a virtual zone for grid congestion management). Inter-zonal flows are limited by transmission capacity, so when a renewable boom in the South can't all flow to the North, prices diverge.
PUN (Prezzo Unico Nazionale) is the weighted average of zonal prices, weighted by consumption in each zone. It's the reference price for the regulated "Servizio di Maggior Tutela" tariff (until its phase-out, now nearly complete) and for many indexed retail contracts.
Reading zonal prices: why your bill might not match the headline
If you read in the news that the PUN was 80 EUR/MWh yesterday, that's the national average. Your actual exposure depends on which zone you live in and which retail contract you have.
Indexed contracts (PUN-based). Most modern variable-price contracts in Italy use the PUN as reference. Your retail price = PUN + retailer margin + grid charges + system charges + VAT (currently 10% for households on residential consumption).
Zonal-indexed contracts. Less common but growing. Your bill tracks the local zone price, not the PUN. For households in SUD or SICI this can mean lower bills during high solar production, since the South often clears below PUN. For NORD households, it can mean higher bills during industrial-driven evening peaks.
Time-of-use bands (F1, F2, F3). Many legacy contracts charge three tariffs depending on day-of-week and hour: F1 (peak, weekdays 08:00-19:00), F2 (intermediate, weekdays 07:00-08:00 and 19:00-23:00 plus Saturday daytime), F3 (off-peak, nights, Sundays, holidays). On these contracts, the actual hourly spot price doesn't matter - only which band you're in.
Wattora's Italy integration shows PUN plus all six geographic zonal prices. Users on indexed contracts can pick the relevant data series; users on time-of-use contracts can ignore zonal data and just watch the F1/F2/F3 boundaries.
Quick comparison
| Option | Best for | Cost / effort | Notes |
|---|---|---|---|
| MGP | Day-ahead market | Clears 12:00 daily | Main volume trades here |
| PUN | National single price | Weighted avg of zones | Reference for most contracts |
| Zonal prices | Per-region clearing | 7 zones | Diverge when transmission constrained |
| Wattora Italy | Consumer app | All zones + PUN | Hourly charts, peak notifications |
Common pitfalls and how to avoid them
Across every domain this article touches, the same shape of mistake recurs. Practitioners new to the field overweight the most visible piece of the system — the screenshot, the paywall, the exam question, the headline price — and underweight the underlying constraint that actually determines outcomes.
The five most common failure modes:
- Optimising for the demo, not the durability. A working demo in a controlled environment proves nothing about reliability under real conditions. In iOS development, an in-app purchase flow that works in the Xcode Simulator says nothing about how it behaves in App Store sandbox with network latency and Ask to Buy approvals. In an exam, a 100% score on an untimed quiz tells you nothing about whether you can do 49/50 in 45 minutes with no second guesses. Build for the hardest realistic case from the start.
- Skipping the first-principles documentation. Every system has a canonical specification. App Review Guidelines for iOS, the official EU regulations for tax deductibility, the CITB question bank for CSCS, the OMIE market rules for Spanish electricity. Reading them takes a few hours but saves weeks of wrong-direction work. Secondary sources (blogs, tutorials, this article included) are useful as orientation but never authoritative.
- Ignoring the rate limit. Every external system has rate limits — explicit (APNs silent push throttling, RevenueCat API quotas, exam retake fees) or implicit (App Review patience, customer attention spans, your own working memory). Plan around them. A workflow that requires more rate-limited operations than the system allows will fail in production, not on day one but during the first stress event.
- Underweighting localisation and regional variation. What is true for Germany is not always true for Italy. What is true for English-speaking users is not always true for Japanese ones. What is true for the UK CSCS test is not always true for the Irish equivalent. Always check the local rule before applying a general one.
- Treating the documentation as static. Apple updates App Review Guidelines. The Bundeslaender change Schonzeiten. OMIE adjusts market clearing algorithms. Set up a periodic review (quarterly is enough for most things) and re-read the canonical sources. Workflows that worked perfectly a year ago can be silently broken today.
None of these are dramatic. The dramatic mistakes (catastrophic bugs, audit findings, exam failures) are the visible tip of a longer-running iceberg of small misses. Catching the small misses is what separates routine outcomes from problematic ones.
Key takeaways
- MGP — Day-ahead market. Main volume trades here.
- PUN — National single price. Reference for most contracts.
- Zonal prices — Per-region clearing. Diverge when transmission constrained.
- Wattora Italy — Consumer app. Hourly charts, peak notifications.
The pattern that runs through every section above: start with the constraint, not the wishlist. In an exam, the constraint is the question bank and the pass mark. In an electricity market, it is the auction clearing rule. In a tax workflow, it is the receipt-retention requirement. In a code architecture, it is the platform's design decision (StoreKit's transaction lifecycle, App Review's guideline, APNs's authentication model). Get the constraint right and the rest follows.
The opposite failure mode — designing for an aesthetic ideal, then trying to retro-fit the constraint — is the most common cause of wasted work in every domain covered here. A beautiful paywall that hangs in sandbox is rejected at App Review. A polished freelancer expense report that lacks receipts is disallowed by the tax office. A study plan that ignores the actual question distribution leaves the candidate stuck below the pass mark.
The practical recommendation: read the official rules of whatever system you are operating in, extract the binding constraints, and treat them as inputs to the design — not afterthoughts. Every section of this article is the application of that principle to a specific domain.
FAQ
What is the PUN and how is it calculated?
PUN (Prezzo Unico Nazionale) is the consumption-weighted average of the seven zonal prices for each hour. GME publishes it alongside the zonal prices.
Are zonal prices public?
Yes. GME publishes all zonal prices on its website and via API, refreshed after the MGP closes around 12:00 Italian time.
Should I switch to a zonal-indexed contract?
Depends on where you live. SUD, SICI and SARD households often see lower prices than the PUN average. NORD households often see higher. Run a 3-month back-test before switching.
Does Wattora show all Italian zones?
Yes - all six geographic zones (NORD, CNOR, CSUD, SUD, SICI, SARD) plus the PUN. Default view follows the PUN; users can switch to their local zone.
Further reading and references
The references below cover the official sources for the rules cited in this article. Where applicable, they include the canonical documentation, regulatory text, or vendor-provided guides. For each one, prefer the official source over secondary commentary — secondary sources go stale fast and frequently misquote the binding rule.
- Official documentation of the system in question (linked from each app or service's own help centre).
- Apple Developer Documentation for any iOS/macOS reference — the WWDC session videos and the corresponding Human Interface Guidelines pages are the authoritative source.
- For EU regulatory questions (taxation, data protection, energy market structure), consult the relevant national authority — most publish their guidance in English.
- For Spain and Italy energy market data, OMIE and GME both publish full historical price series in CSV format from their public websites — no API key required.
- For UK CSCS prep, the CITB publishes the official question bank book each year — buy a current copy if you want the authoritative source.
If you find a contradiction between this article and an official source, the official source wins. Article rules of thumb are summaries — they have edge cases, exceptions, and regional variations that the source documents specify exactly.
Wattora - Italy zonal prices
PUN plus all six zones, hourly charts, peak hour notifications. Free on iOS and macOS.
Download Wattora