東京電力から新電力(Looopでんき)に切り替えた場合の電気料金シミュレーション

一条工務店i-smileに入居して一年経過しました。ここまで東京電力オール電化向けプラン「スマートライフL」を使っていました。

dededemio.hatenablog.jp

東京電力は基本料金が高いです。オール電化なので最大需要電力は高いですからこれは仕方ありません。

しかし、太陽光パネル&蓄電池があるので買電量はそこまで多くありません。そのため、基本料金無料プランのある新電力への乗り換えを考えています。

一方で2022年冬のように市場スポット価格が急上昇した場合は、電気料金が逆に高くなってしまう可能性も考えられます。

そこで、基本料金無料の新電力に乗り換えた時にどの程度電気料金が減るか、市場価格が上がるリスクを踏まえても安価になるかをシミュレーションしてみました。

この記事の目次です。結果だけ見るには5の比較に飛んでください。

1. シミュレーション方法

どうやってシミュレーションするか、ですが、愚直に買電量から各電力会社の料金プランに沿って料金計算してみます。

まず、一条パワーモニターから2023/4〜2024/3の一年分の1時間毎の買電量データを収集します。

次に、同じ買電量が3年間続いたものとして、データを3年分に増やします。また、データを半分にして、30分毎の買電量データにします。

最後に、この電力量データから東京電力と新電力それぞれの電気料金プランで2021/4〜2024/3の3年間の電気料金を計算し、トータルで安くなるかを確認します。

新電力はLooopでんきのスマートタイムONEとします。

looop-denki.com

シミュレーションにはPythonを使います。Pythonスクリプトも参考までに記載します。(Python 3.9)

2. 買電量データの取得とデータのリサンプリング

一条工務店では、i-サポというアプリから太陽光発電量、消費電力量が閲覧でき、最大1年分のCSVデータを取得できます。しかしこのアプリでは買電量は取得できません。

play.google.com

もう一つ、一条パワーモニターというアプリから月・日・時別の電力量実績を見ることができます。ここには買電量データがあるのでこの値を使います。

play.google.com

CSVで取得するという機能はこのアプリにはないので、私は仕方なくスクショを撮影すると数値を読み取るPythonスクリプトを作成してデータ化しました。HEMS接続してれば、HEMS経由からとることができるのかなと思います。

データは月毎のCSVとして同じフォルダに置いたので、以下のスクリプトで3年分の30分毎データに拡張・リサンプリングします。

import os
import pandas as pd

# フォルダ内のすべてのCSVファイルを読み込み
df_list = []
for filename in os.listdir("./"):
    if filename.endswith('.csv'):
        df = pd.read_csv(os.path.join(actual_kWh_dir, filename), header=0, index_col=0, parse_dates=True, encoding="utf-8-sig")
        df_list.append(df)
df_combined = pd.concat(df_list) # すべてのデータフレームを結合
df_combined = df_combined["2023-04-01":"2024-03-31"] # 2023/4/1から2024/3/31までを抽出

# 3年分に拡張
df_ext = pd.concat([df_combined.assign(index=lambda x: df_combined.index + pd.offsets.DateOffset(years=i)) for i in range(-2, 1)], sort=False, ignore_index=True)
df_ext.index = df_ext["index"]
df_ext.drop(columns=["index"], inplace=True)
df_ext = df_ext.loc[~df_ext.index.duplicated(keep='first')] # うるう年の重複日を削除

# 時刻を30分ごとにリサンプリングし、不足している行を前値ホールドで補間
df_ext_half = df_ext.resample('30min').ffill() / 2
df_ext_half ["2024-03-31 23:30:00"] = df_ext_half [-1] # 末尾の30分を追加

注意点として、3年分に拡張するときに、2024はうるう年ですが2022, 2023はうるう年ではないので、余分な日付を消す必要があります。

これでdf_ext_halfとして30分毎の電力量データが取得できました。df_ext_half["買電"]とすれば買電量が取れます。

3. 東京電力の電気料金の計算

東京電力オール電化向けプラン スマートライフLの電気料金は、以下の4つの合計で計算されます。

  • 基本料金[円/kVA]×契約電力[kVA]
  • 昼間従量料金単価[円/kWh] × 昼間消費電力量[kWh]
  • 夜間従量料金単価[円/kWh] × 夜間消費電力量[kWh]
  • (燃料費調整額[円/kWh] + 再エネ賦課金[円/kWh])× 総消費電力量[kWh]

www.tepco.co.jp

基本料金・従量料金単価は、HPに記載されています。以下は2024/3/31までの料金表です。

基本料金単価は295.24[円/kVA]、昼間単価は35.96[円/kWh]、夜間単価は28.06[円/kWh]でした。24年度からさらに基本料金が上がり従量単価が下がる、つまり太陽光・蓄電池があり買電が少ない家庭には厳しい料金表になります。

また、過去の単価はもっと安かったです。

  • 2023/4/1~23/6まで昼25.87円/kWh、深夜18.37円/kWh
  • 2021/6~23/3は基本料金1kVAあたり286円、昼間25.8円、夜間17.78円*1

燃料費調整額は毎月変わるもので、過去の調整額がいくらだったかは以下のURLで見ることができます。*2

www.tepco.co.jp

再エネ賦課金の単価は、年度ごとに変化し、経産省で毎年決められるようです。直近の単価は以下のようになっています。

  • 2024/5~は3.49円/kWh
  • 2023/5~2024/4は1.4円/kWh
  • 2022/5~2023/4は3.45円/kWh
  • 2021/5~2022/4は2.98円/kWh

これらの情報を以下のようなCSVにして、買電量データと合わせて電気料金を計算します。

年月,  基本料金単価,  昼間従量単価,  夜間従量単価,  燃料費調整額,  再エネ賦課金
2021-04-01,  286.00,   25.80,   17.78,   -4.32,    2.98
2021-05-01,  286.00,   25.80,   17.78,   -3.64,    3.36
...
2024-03-01,  295.24,   35.96,   28.06,   -9.28,    1.40
2024-04-01,  311.75,   35.76,   27.86,   -9.21,    1.40
# 昼夜の時間設定
daytime_hours = list(range(6, 24)) + [0]
nighttime_hours = list(range(1, 6))

# 昼間と夜間の買電電力量を計算
actual_kWh = df_ext_half.copy()
actual_kWh['hour'] = actual_kWh.index.hour
actual_kWh['daytime_kWh'] = actual_kWh.loc[actual_kWh['hour'].isin(daytime_hours), '買電']
actual_kWh['nighttime_kWh'] = actual_kWh.loc[actual_kWh['hour'].isin(nighttime_hours), '買電']

# 年月列を追加して年月ごとに買電電力量を合計
actual_kWh['year_month'] = actual_kWh.index.to_period('M')
monthly_kWh = actual_kWh.groupby('year_month').sum()[['daytime_kWh', 'nighttime_kWh', '買電']]

# tepco_ratesのインデックスをPeriod型に変換
tepco_rates = pd.read_csv("tepco.csv", encoding="utf-8-sig", header=0, index_col=0, parse_dates=True)
tepco_rates.index = tepco_rates.index.to_period('M')
tepco_rates.drop(tepco_rates.index[-1], inplace=True)

# 月ごとの電気料金を計算
monthly_bill = pd.DataFrame(index=tepco_rates.index)
monthly_bill['基本料金'] = tepco_rates['基本料金単価'] * 10
monthly_bill['昼間従量料金'] = tepco_rates['昼間従量単価'] * monthly_kWh['daytime_kWh']
monthly_bill['夜間従量料金'] = tepco_rates['夜間従量単価'] * monthly_kWh['nighttime_kWh']
monthly_bill['燃料費調整額'] = (tepco_rates['燃料費調整額'] + tepco_rates['再エネ賦課金']) * monthly_kWh['買電']

# 合計電気料金を計算
monthly_bill['合計電気料金'] = monthly_bill.sum(axis=1)

計算した電気料金は以下のグラフのようになりました。燃料費調整額の高かった23年1月の電気料金が最も高い結果になっています。

東京電力スマートライフLの3年分の電気料金

4. Looopでんきの電気料金の計算

Looopでんきの家庭用プラン スマートタイムONEの料金は以下の合計で計算されます。*3

  • 基本料金0円
  • 30分毎の電力使用量[kWh] ×{30分毎のエリアプライス[円/kWh] ÷(1-エリア損失率)× 1.1(消費税等相当額)}
  • (託送費[円/kWh] + サービス料[円/kWh] + 再エネ賦課金[円/kWh] + 容量拠出金相当額[円/kWh])× 総消費電力量[kWh]

Looopでんき スマートタイムONEの料金構成

基本料金0円、というのが特徴です。

料金の主は30分毎の使用量×東京のエリアプライスで計算されます。東京エリアの損失率は6.9%です。過去のエリアプライスがいくらだったかは、JEPXのHPから閲覧・ダウンロードできます。

www.jepx.jp

計算のため、2021年度~2023年度の価格をそれぞれspot_summary_202x.csvというファイル名でダウンロードしておきます。

託送費は年度毎に代わるようで、23/3までは9.61円、24/3までは9.78円、24/4からは9.37円のようです。サービス料は5.5円/kWhで固定です。*4

再エネ賦課金は東京電力同様かかってきます。

また、容量拠出金相当額2.2円/kWhというのが24/4から追加されました。容量拠出金というのは、日本全体で必要な供給力(kW)の確保のため、小売事業者などが発電事業者に払う仕組みだそうです*5

東京電力では、この容量拠出金は23/7の値上げからの電気料金にすでに織り込まれているようです。片方だけに入れて比較するのはフェアではないので、Looopでんきでも23/7から容量拠出金相当額がかかっていたものとします。

上記から、買電量データと合わせて電気料金を計算します。

# looopでんきの定数
area_loss_rate = 6.9/100 # 東京エリア損失率 %
service_fee = 5.5 # サービス料 円/kWh

# JEPX価格を読み込み
df_list = []
for filename in os.listdir("./"):
    if "spot" in filename:
        df = pd.read_csv(os.path.join(folder_path, filename), encoding="cp932")
        df_list.append(df)
df_combined = pd.concat(df_list)
df_combined['受渡日'] = pd.to_datetime(df_combined['受渡日']) # '受渡日'列をdatetime型に変換
df_combined['時刻'] = pd.to_timedelta((df_combined['時刻コード'] - 1) * 30, unit='m') # '時刻コード'を30分単位の時間に変換
df_combined.index = df_combined['受渡日'] + df_combined['時刻'] # '受渡日'と'時刻'を組み合わせて新しいdatetime型のインデックスを作成
df_combined.drop(columns=['受渡日', '時刻コード', '時刻'], inplace=True) # 不要な列を削除

# 容量拠出金相当額
capacity_contribution = pd.Series(0.0, index=pd.date_range(start="2021-04-01", end="2024-04-01", freq="30min"))
capacity_contribution.loc["2023-07-01":"2024-04-01"] = 2.2
capacity_contribution.drop(capacity_contribution.index[-1], inplace=True)

# 託送費
transmission_fee = pd.Series(9.61, index=pd.date_range(start="2021-04-01", end="2024-04-01", freq="30min"))
transmission_fee.loc["2023-04-01":"2024-04-01"] = 9.78
transmission_fee.drop(transmission_fee.index[-1], inplace=True)

# 再エネ賦課金を30分毎データにする
tepco_rates_half_hourly = tepco_rates['再エネ賦課金'].resample('30min').ffill()
tepco_rates_half_hourly.drop(tepco_rates_half_hourly.index[-1], inplace=True)

# 電気料金を計算
purchased_power = df_ext_half["買電"] # 買電量
electricity_bill = purchased_power * (df_combined["エリアプライス東京(円/kWh)"] / (1 - area_loss_rate) * 1.1 + transmission_fee + service_fee + tepco_rates_half_hourly + capacity_contribution)

# 月毎に集計
monthly_bill = electricity_bill.resample('M').sum()
monthly_bill.index = monthly_bill.index.to_period('M')

JEPXのCSVファイルは日付と時刻が別の列になっているので1つのdatetime型にしておきます。 計算した電気料金は以下のグラフのようになりました。市場価格の高かった22/1、22/3が高くなっています。一方市場価格の低い月は3000円以下とかなり安価で済む結果になっています。

Looopでんき スマートタイムONEの3年分の電気料金

5. 東京電力とLooopでんきの比較

それでは、2つの電力会社で電気料金の比較をします。2つの電気料金の差を計算して、グラフに描画したのが以下の図です。

東京電力とLooopでんきの電気料金比較

全体的な傾向として、春~秋は電気料金はLooopでんきのほうが小さく、毎月1~2千円くらい安くなります。冬場はほぼトントンですが、21/12~22/3は圧倒的にLooopでんきが高くつき、最大7000円高い月がありました。

年度別に電気料金を比較したのが以下の表です。

年度 東京電力
スマートライフL
Looopでんき
スマートタイムONE
電気料金の差
2022 92,965 95,233 -2,269
2023 114,879 105,420 9,458
2024 94,079 82,344 11,735

2023-2024年度は1万円ほど年間トータルでLooopでんきが安価でしたが、2022年度は冬の市場価格高騰のせいで2,300円高くついてしまいました。

とはいえ、平年通りであればLooopでんきが年間トータルでは安価になりそうですし、高騰しても冬だけで1年通してみれば大きな差ではないので、乗り換えてもよさそうに思います。

6. 冬の電気料金を抑える方法

22年冬のように市場価格が高騰したときにも電気料金を抑えることはできるでしょうか。

Looopでんきなど各電力会社は、でんき予報という電気料金予測サービスを持っています。

looop-denki.com

これで単価が上がってしまうことが予想される場合、その時間の電力使用を抑えたり、蓄電池を他の時間に充電しておいて単価の高い時間に放電する、という方法がとれそうです。

例えば、22年冬で最も単価の高かった3/22とその前後2日を見てみると、以下のような料金単価と電力量でした。

2022/3/22付近のJEPXエリアプライス

2022/3/22付近の電力量

3/21の夕方、3/22の昼から3/23深夜にかけて、価格が80円に張り付いています。

3/21, 22は日中太陽光で発電・充電できるので充電し、夕方放電すれば何とかなるでしょう。3/24のように発電が昼になくても、価格が下がってくれればそこで充電して、単価が上がる夕方に放電することで料金は抑えられそうです。手動でやるのは手間ですが、予報の情報を取ってこれれば自動で行うこともできるでしょう。

ただ、3/23の常時80円という価格で昼間太陽光もないとなると手の出しようがありません。前日の太陽光でできる限り暖房・貯湯しておいてこの日は暖房止めるくらいでしょうか。まあそれも大変なので、この場合は諦めて高い電気を買うよりほかなさそうです。

まとめ

2023年度の買電量データを使って、東京電力オール電化プランと、新電力(Looopでんき)のプランを比較しました。

結果として、平年通りなら新電力のほうが年間1万円安くなりそうなこと、市場価格が高騰しても1日の中で高低があれば蓄電池で料金を抑える手段があること、がわかりました。

このため、電力会社を乗り換えても問題なさそうですので、乗り換えようかと思います。

今回はLooopでんきを対象にしましたが、蓄電池を増やす前提ならタダ電なんかもありかなあと思います。ただこれもシミュレーションしてみたほうがいいかもしれません。