Kilowatt.ie Electricity Price Comparison Methodology
This page describes the methodology behind the Kilowatt.ie electricity price comparison tool. [change history]
The key difference between kilowatt.ie and many other price comparison websites is that kilowatt.ie accounts for how households can shift their usage profile in response to each tariff structure. For example, a household on a tariff with a cheap 2am–5am EV window should charge a home battery on a different schedule than a household on a traditional night-rate tariff. We believe that price comparisons should reflect that automatically. How we account for this, along with other aspects of the comparison methodology, is discussed in detail below.
All figures include VAT.
Overview
For each half-hour of a full year, we simulate your electricity imports and exports, then rank every applicable tariff by estimated annual cost. Rather than building a single modified load profile and pricing every tariff against it, the tool:
- Separates your usage into a fixed part and a movable part. The fixed ("non-shiftable") part is baseline household load: lights, fridge, standby, etc. The movable part is large, time-flexible loads: EV charging, battery cycling, and other big peaks.
- Shifts the movable load into each structure's cheapest hours, respecting device charge rates and a whole-home import cap, producing a tariff-specific import profile.
- Prices every tariff based on the tariff-tailored import profile, then sorts all results cheapest-first.
Fuel types
You can compare electricity, gas, or dual fuel.
- Gas is priced from a flat annual kWh figure (standing charge + unit rate + carbon tax). Gas has no half-hourly detail, meter type or additions.
- Dual fuel combines the two into a single annual cost and breakdown.
Dual-fuel "separate vs combined" advisory
For dual fuel, we also run background electricity-only and gas-only comparisons (which are not shown as results) to work out whether a single dual-fuel tariff or a separate electricity + gas pairing would be cheaper. We compare the cheapest dual-fuel tariff against the sum of the cheapest separate electricity and gas tariffs, and show a note stating which option wins and by roughly how much per year. If separate tariffs are cheaper, you can switch the fuel choice at the top of the page to see them; your inputs persist for as long as the page stays open.
Your usage data
There are two ways to provide your consumption.
Smart meter data (half-hourly)
The most accurate option is to upload your ESB Networks HDF half-hourly smart meter data:
- Where the file contains more than 12 months of records, we use the most recent 365 days to avoid seasonal bias.
- Where it contains fewer than 12 months, we use the whole dataset and warn that results may be less accurate.
- Missing time slots are treated as zero consumption, as these are likely to reflect an electricity outage.
- The spring clock change is handled correctly: on the last Sunday of March the 1:00am and 1:30am slots do not exist, and are excluded rather than treated as missing data.
Please upload the half-hourly file directly from ESB Networks (not a "Daily" file, and not from your supplier), and avoid opening it first, as some spreadsheet software silently mangles the format.
Annual kWh figure
If you don't have smart meter data, you can enter an estimated annual consumption (with a bi-monthly entry box for convenience, since many Irish bills are bi-monthly). You can also reset to the national average of 4,200 kWh/year.
From this figure we synthesise a realistic half-hourly profile using a normalised load-shape model built from the Irish 2026 RMDS standard 24-hour meter load profile (for the average daily shape and seasonality) combined with real household half-hourly texture and day-to-day volatility from the UK Power Networks 2011-2014 study (non-ToU household data, as this is used before any load-shifting).
Separating movable load from baseline (smart meter data)
For uploaded smart meter data, we split your recorded import into a fixed baseline and a movable component in two passes.
Pass 1: Existing battery removal
If you tell us you already have a home battery used for load shifting, your recorded data already reflects its charging (extra import in cheap hours) and discharging (reduced import in expensive hours). To compare fairly, we first undo this so the battery can be re-scheduled optimally for each tariff.
For each day we:
- Remove charging by subtracting up to the battery's daily energy (accounting for round-trip losses) from that day's highest-import half-hours, capped at the battery's charge rate.
- Add back the masked demand that discharging had hidden, distributing the day's discharged energy back into the lowest-import half-hours (avoiding slots that were exporting).
The reconstruction of hidden demand is approximate as the true demand a battery masked genuinely cannot be recovered exactly from an import profile. It is a plausible reconstruction for comparison purposes, not a measurement.
You can tell us whether the battery has been load-shifting for the whole recorded period (the default) or only since a specific recent date, in which case the removal is scoped to that date onward.
Pass 2: Peeling other large shiftable loads
We then detect large, time-flexible loads by taking the median import as the baseline (the median is robust to the large spikes we want to peel) and peeling off any half-hour whose import exceeds the median by more than a threshold (3 kW by default; adjustable via a slider). The excess above the baseline becomes "generic shiftable" energy; the baseline itself stays fixed.
You can inspect all of this in the optional advanced "Import Segmentation" view, which shows your recorded import decomposed into battery charging, other large shiftable loads, and baseline import.
Placing movable load per tariff
For each tariff structure, we determine how expensive each half-hour is and place the movable load into the cheapest hours.
- For a standard time-of-use tariff, each half-hour's cost is simply its band rate.
- For a dynamic tariff, each half-hour's cost is the real all-in rate at that moment (base component + wholesale-linked dynamic component).
We then place each type of movable load:
- Large shiftable sessions are slid, as whole intact blocks that keep their shape, up to ±24 hours from where they originally occurred, and dropped at the cheapest landing point that fits under the import cap. A load already sitting in the cheapest hours stays put.
- EV charging is filled into the cheapest hours (or, for dynamic tariffs, the cheapest individual half-hours), capped at the charger's rate.
The whole-home import is capped at your maximum import capacity (MIC). By default this is 12 kW, the standard domestic connection; if your home has an enhanced 16 kW connection, tick "Enhanced supply (16 kW MIC)".
Battery simulation
Where you have (or add) a home battery, every tariff result card states the exact charging schedule assumed in its estimated price. We compare fixed timers on all tariffs and also test dynamic-price grid charging on dynamic tariffs:
- Fixed Timer. Simulates a standard home inverter with a fixed time-of-use timer, the most common setup in Irish homes. For each tariff we test a range of commonsense charge windows based on its rate bands (such as 23:00–08:00 for Night rates or 02:00–05:00 for EV rates) and pick the cheapest. The battery discharges to meet household demand outside those hours. For entered usage, or smart-meter data entirely before the battery's reported load-shift start date, where surplus solar is available each grid-charge schedule is tested both with surplus-solar charging enabled and disabled, including a no-grid-charging option. With solar charging enabled, surplus charges the battery up to its usable capacity, subject to its charge rate and losses; this remains possible while discharge is held for later. The cheapest combination is selected separately for each tariff using the total electricity bill, including export payments forgone. In those cases, on flat 24-hour tariffs where grid charging would lose money, the battery can still operate on surplus solar alone. For smart-meter data already affected by battery operation, we do not add solar charging because its historical effects cannot be reliably undone; battery simulation remains grid-only.
- Dynamic-price grid charging (dynamic tariffs only). Simulates automated price-following control using published day-ahead prices and recent household usage. Each day the battery plans charging in cheap slots and preserves energy for higher-priced demand. Where solar charging can be assessed, we test surplus-solar capture both on and off. Capture uses available capacity but the planner does not forecast solar or reserve space for it. We select the lowest-cost candidate, including fixed-timer alternatives, separately for each tariff. This automated option requires a compatible controller; it does not represent a particular manufacturer's system.
The battery Advanced settings include Capture solar above inverter AC limit, enabled by default for compatible DC-coupled hybrid systems. Where solar charging is enabled and solar generation is simulated, otherwise-clipped energy charges the battery first, then ordinary surplus solar, then scheduled grid charging. All three share the battery's charge-rate limit and available capacity, with the same charging-loss convention. Uncaptured clipping remains lost. Turn this off for AC-coupled batteries or incompatible systems. Recovery uses half-hour energy budgets, so it may overestimate capture of brief peaks above the instantaneous charging limit. We cannot reconstruct clipped generation from uploaded meter readings alone, and this option does not override the restrictions on solar capture for existing battery operation.
How the simulation works
Simulations run chronologically: energy cannot be discharged before it has been charged, and charge carries over from day to day. Each planning day starts at 23:00, so the overnight cheap hours sit together at the start of each daily cycle.
A charging cycle goes ahead only when it makes economic sense: the price at which the energy will be discharged must exceed the charge price by enough to cover round-trip losses plus a battery wear allowance of 4 c/kWh. This allowance is a decision threshold, not a line item on your bill; displayed costs remain pure electricity costs.
Dynamic-price grid charging forecasts each day's demand using up to four previous examples of the same weekday. To start the controller immediately, we seed its usage history from the last four usable examples of each weekday at the end of the comparison profile, or fewer for short datasets. This assumes the usage pattern repeats across the profile boundary; it is not a strictly historical forecast during startup. As the simulation progresses, preceding days replace this wrapped history. We do not wrap future prices or battery charge. Forecast errors can occasionally put this controller slightly above the cheapest fixed schedule, which is chosen with the benefit of hindsight. Smart-meter uploads must span at least eight days; shorter files cannot be used for comparison.
Exclusions
- Export arbitrage. Batteries discharge only to offset household import; selling stored grid electricity back to the grid is not modelled.
- Solar forecasting. Dynamic-price grid charging captures surplus opportunistically, without predicting solar or deliberately leaving space for it. Meter data already affected by battery operation remains ineligible for additional solar capture.
Unless you specify otherwise, batteries are assumed to have an 87% round-trip efficiency, a 3 kW charge rate and a 3.5 kW discharge rate, and capacity refers to usable AC discharge per cycle.
Weather-driven additions: solar and heat pumps
- Solar is simulated from Typical Meteorological Year irradiance data for the geographical centre of Ireland. Within a single half-hour, a household can simultaneously import a little (when instantaneous demand momentarily exceeds generation) and export a little (when generation momentarily exceeds demand). We model this sub-interval effect statistically rather than assuming all solar produced within a half-hour offsets imports. Because exported energy is generally worth less than avoided imports (export payments are typically 15–20c/kWh versus ~30c/kWh or more for imports), this means our solar savings estimates are more conservative than models that assume perfect within-slot self-consumption. Inverter clipping is applied and modelled in a variance-aware way against a clear-sky ceiling (rather than a flat cap on the half-hour average, which would miss clipping during broken-cloud periods); the inverter capacity defaults to 5.5 kW and can be adjusted under the solar panel Advanced options.
- Heat pumps are simulated from Typical Meteorological Year temperature data, assuming heating begins below 16°C and increases as temperature falls, a Heat Loss Indicator of 2.0, and a COP of 3.25 at 0°C that rises/falls by 0.0875 per degree.
Install dates
For each addition you tell us the installation date (defaulting to today):
Smart meter data, past install: The recorded data already reflects the addition on and after that date, so we only back-fill the earlier period.
Smart meter data, future install: Your recorded year stands in for the year ahead, but the addition won't exist for the first part of it. We apply it for the portion of the comparison period after your installation date only. This is seasonally aware: panels due to be installed in four months are factored in for the actual months they'll exist. Where an addition is only applied to part of the year, we show a note stating how many of the 365 days it was factored in for.
Annual kWh figure: The addition is applied across the whole synthetic baseline.
On the annual-kWh path, if you tell us an EV or heat pump is already included in your entered figure, we net it out of the baseline first and then re-apply it in the correct place, and show a breakdown of baseline / EV / heat pump / total. If additions marked "already included" exceed your entered total, we ask you to correct the inputs rather than produce a misleading result.
Tariff filtering
Kilowatt.ie filters tariffs to only show those which may be available for your electricity meter type and configuration, as follows:
Note: NHH is short for "Non half-hour". It means a smart meter that doesn't have a strong enough signal to send data every half hour.
| Physical meter type | Current Tariff Type | Meter Configuration | Eligible tariffs |
|---|---|---|---|
| 24-Hour | 24-hour mechanical | MCC01 | 24-hour mechanical tariffs |
| Day-Night | Day/night mechanical | MCC02 | Day/night mechanical tariffs |
| Smart | Smart or new build | MCC12 / MCC16 | Smart and Smart-NHH tariffs |
| Smart | 24-hour mechanical | MCC01 | Smart, Smart-NHH, and 24-hour mechanical tariffs |
| Smart | Day/night mechanical | MCC02 | Smart, Smart-NHH, and day/night mechanical tariffs |
| Smart | Don't know/show all | All | |
| Smart · No Signal | Smart or new build | MCC12 / MCC16 | Smart-NHH tariffs |
| Smart · No Signal | 24-hour mechanical | MCC01 | Smart-NHH and 24-hour mechanical tariffs |
| Smart · No Signal | Day/night mechanical | MCC02 | Smart-NHH and day/night mechanical tariffs |
| Smart · No Signal | Don't know/show all | Smart-NHH, 24-hour mechanical, and day/night mechanical tariffs |
Dynamic tariffs are shown only if you explicitly opt in to include them in comparisons.
Costs included
Each tariff's estimated annual cost includes:
- Unit rates for every pricing band, including "threshold" rates, where applicable
- Standing charges and, where a supplier applies one, prepayment service charges (flat annual fees added on top of the standing charge).
- The PSO levy (a fixed regulated charge which is the same across all suppliers, never discounted).
- Export credits (where you generate and export).
- Welcome credits / cashback, subtracted as a one-off.
- Unit-rate discounts, cashback and "welcome bonuses". Where a tariff's rates depend on a payment or billing method, each valid combination is compared as its own option, and the breakdown shows both the standard and discounted rates. If a supplier has offered you a different discount than the published one, you can set a custom discount rate on any tariff card that shows a discount (pencil icon in its Discount Rate column header): the quoted rates are re-derived from the published standard rate at your discount. Customised tariffs are marked "User Customised" on the card and can be reset to the published figures at any time.
Early exit fees are shown on each single tariff for transparency but are not added into its annual cost (we treat the 12-month comparison window as "no exit"). The winter/summer switching scenario below is the exception: it includes both exit fees.
Winter/summer switching scenario (electricity only)
Alongside single year-round tariff options, we also compare a Lowest-Cost Winter/Summer Split Option, where you choose one tariff for the winter months and another for the summer months:
Winter tariff: January to March and October to December
Summer tariff: April to September
The seasonal-split cost calculation includes applicable early exit fees for both tariffs, and excludes welcome credits. It is only shown if the lowest-cost summer-winter split actually reflects two different tariffs, rather than pairing the same tariff with itself.
We re-simulate movable loads and battery charging separately for each season and tariff structure, starting from the non-shiftable baseline.
This scenario is not calculated for gas, dual fuel or incomplete-year smart-meter uploads.
Gas
Gas is priced from your annual kWh as standing charge + unit rate + carbon tax.
Upcoming rate changes
Upcoming rate changes which have been announced by electricity suppliers are factored into comparisons on Kilowatt.ie.
For comparisons based on 12 months of smart meter data or annual usage, we split the usage in a seasonally-aware way across pre-price change and post-price change time periods.
For comparisons based on a smart meter dataset that's shorter than 12 months, we split the usage in proportion to the days either side of the change.
Standing and prepayment charges, threshold allowances and all gas costs always split by day count.
Dynamic electricity tariffs
Dynamic tariffs are a new kind of electricity tariff that became available in Ireland in 2026. They have four components:
- Standing charge: A flat charge regardless of your usage.
- Base unit rate charge: A flat rate per kWh of imported electricity. Typically varies across day, night, and peak bands.
- Dynamic unit rate charge: Equal to the day-ahead wholesale electricity price, up to a cap (currently €0.50 per kWh).
- Taxes and levies: VAT and the PSO levy.
It's impossible to know what the wholesale electricity prices, and hence the dynamic component, will be beyond one day into the future. Therefore, dynamic tariff cost estimates on kilowatt.ie are based on past wholesale electricity prices, specifically:
| Comparison based on | Date range of wholesale prices data used |
|---|---|
| 12+ months of smart meter data | 12 months to the latest date in your smart meter dataset |
| Less than 12 months of smart meter data | The same time period as your data |
| Annual usage | 12 months to present |
The comparison uses full half-hourly resolution costing across the entire comparison period.
Example:
- You used 2 kWh between 5pm and 5:30pm on the 4th of October 2026
- The wholesale electricity price was €150 per MWh (15 cent per kWh) including VAT during that time period
We multiply your usage (2 kWh) during the time period by the rate (15 cent) to get a cost of 30 cent for the dynamic component from 5pm to 5:30pm on the 4th of October 2026. We do the same for all other half-hour periods within the comparison timeframe.
The major advantage of this methodology is that it can account for your real usage patterns and how they might correlate with wholesale prices (e.g. some households might tend to have high usage when the weather is cold and dark and wholesale prices are elevated). The major limitation is that we are modelling the next 12 months' wholesale electricity prices based on the prices over the past 12 months. In reality, wholesale prices over the next 12 months could be higher or lower depending on energy market conditions.
Non-dynamic items (standing charges, welcome credits, etc) on dynamic tariffs are treated the same in our comparisons as they are when comparing any other kind of tariff. Dynamic tariff unit base rate costs are calculated as with general unit rates.
To summarise how we project dynamic tariff costs:
| Component | Rate we use for calculations |
|---|---|
| Dynamic | Historical wholesale electricity prices |
| Unit base | As published on the supplier's website |
| Standing charge | As published on the supplier's website |
Solar and battery savings notes
- If you don't have solar, each tariff card shows a per-tariff estimate of how much adding a typical (6 kW) solar array could save you on that specific tariff, computed by running the full tariff-dependent comparison a second time with solar layered on. This links to our free solar quotes service.
- If you already have solar and/or a battery, each card can instead show how much those additions are saving you on that tariff, computed by re-pricing with the additions stripped out and taking the difference. On smart meter data this note is only shown when there is a clean full-year counterfactual to compare against (e.g. a very recent or same-day solar install).
Data Credit
Thanks to Alan Smeaton, Shuxiang Cai, and Xianjuan Chen for publishing their open repository of anonymised Irish smart meter data, which has been of great use during the development and testing of the tool.
Remember to switch often
Finally, note that suppliers routinely raise prices once your contract expires. To keep getting good value, re-evaluate your options and switch again as soon as your contract ends. Mark your calendar!