このプロジェクトについて
ConEd Rate Optimizerは、ある世帯の実際の電力使用量において、Con EdisonのResidential Time-of-UseプランがStandard (SC1)プランよりも安くなるかという限定的な問いに答える、シングルページの完全クライアントサイド計算機です。ユーザーがCon Edisonの「Download my data」Green Buttonエクスポート(15分間隔の使用量のCSV/TSV)をアップロードすると、データをどこにも送信することなく、Standardのままにするか切り替えるべきかという判定と、その金額差を報告します。
機能
- ブラウザ内でConEdの15分間隔Green Button CSV/TSVを完全に解析します。
- アップロードされた使用量に基づき、Standard (SC1)とResidential Time-of-Useの料金を月別に算出します。
- 判定(維持/切り替えおよび金額)、プラン別の比較表、ピーク時/オフピーク時の負荷形状、および月次棒グラフを表示します。
- READMEでは、このツールは意図的に保守的に設計されており、ピーク時の使用量が多いほとんどのニューヨーク市の家庭では「Standardを維持」と報告されると説明されています。
- 匿名化されたサンプルが含まれていますが、これは月次集計データのみであるため、インタラクティブな体験には実際のエクスポートデータを使用することが想定されています。
構造と再利用
- public/ はデプロイ可能なディレクトリです(index.html、styles.css、DOM連携用のapp.js、純粋な計算コアであるcalc.js、sample.js、およびライブ料金上書き用のオプションのrates.jsonが含まれます)。
- calc.jsはNode環境でも動作するように記述されており、ブラウザ外で料金ロジックをテストすることが可能です。
- verify.jsはNode検証スクリプトであり、test/には計算コア用の自動テストスイートとCSVフィクスチャが格納されています。
- READMEでは、このプロトタイプから有料分析サービスへの移行パスについて記載されたdocs/product-strategy.mdを参照しており、価格設定、Green Button Connect、Meta買収の想定、精度ゲート、および月々の請求体験についてカバーしています。
ローカルでの実行と検証
- python3 -m http.server -d public 8000などで静的に配信し、http://localhost:8000を開いて利用します。
- node test/test.jsを実行すると、自動テストスイートが動作し、ステータスコードを返して終了します。
- node verify.jsを実行すると、デフォルトでは同梱のテストフィクスチャに対して、またはパスが指定された場合はユーザー提供のエクスポートに対して計算を再実行します。
料金モデルと注意点
- Standardの構成要素は、ConEdが公開している2025年のSC1 NYC平均に基づき、GRTおよび売上税を加算し、固定顧客料金を除いたものです。TOU供給料金は、現在公開されている住宅用TOU供給料金を使用しています。
- 月次の市場供給料金(Market Supply Charge)が変動し、2026年の月は2025年の料金で計算されるため、絶対的な合計額には概ね±5%の誤差が生じるとされています。
- このモデルでは、配送費、MAC、RDM、および追加料金は両プランで同一であると想定し、スーパーピークはピークに統合しています。
- 著者は出力を「見積もり」としてラベル付けし、Con Edisonとの提携関係はないことを明記しています。public/calc.js内の料金定数(RATES)は、ConEdの料金変更時に更新する必要があります。
プライバシー
- 使用量データがアップロードまたは保存されることはありません。すべての解析と料金計算はブラウザ内で行われます。
- ライブサイトではCloudflare Web Analyticsを使用しています。READMEによると、これはクッキーレスでプライバシーに配慮したものであり、ページビューや、ボタンクリック、解析成功、解析エラーなどのサンプルインタラクションイベントをカウントするために使用されます。
要約すると、これは世帯の意思決定のための小規模で検証可能なユーティリティです。自身のインターバルデータをアップロードして2つのプランの料金を並べて比較し、同梱のNodeスクリプトで計算内容を自ら確認することができます。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.