JPS Analytics Suite ⚡ Sales Platform 📊 FP&A 💧 Cashflow 🏗 Propel ↩ Back

kWh Sales Forecasting & Analysis

Jamaica Public Service Company · AOP 2025–2027

-- · MTD -- YoY ⚡ Sample Data FP&A ↗ ↻ Connecting…
--
--
Theme
📊 FP&A Platform ↗
📥 Download Template
🚪 Sign Out
Period Sales
--
-- vs Budget
YoY Comparison
--
-- YoY
vs Budget
--
Upload data
Defectors flagged
--
↓ <80% YoY avg
Forecast accuracy
--
Last month MAPE
Total Customers
--
vs budget
Monthly GWh Trend -- Actual vs Budget vs Prior Year Click bar to drill into customers
Click a bar or point to filter customer table below
-- Actual -- Budget -- Actual
Period Mix --
Residential
--
-- vs bud
Commercial
--
-- vs bud
Performance vs Last Year / Budget -- MTD & YTD
MTD · YTD · YoY Variance Summary All segments
✨ AI Commentary — Overview
Click Generate Analysis to produce a narrative summary of the current period.
MTD Commercial
--
-- vs budget
RT40 Gap
--
vs budget
RT50 Gap
--
vs budget
Top Industry
--
YTD leader
Commercial Defectors
--
flagged
Customers
--
commercial accounts
GWh by Rate Class Click bar → customer drilldown below
Click a bar to filter customers
Prior YearCurrent Year
✨ AI Commentary
Click Generate Analysis to produce a narrative summary of the current Commercial data.
Customer Detail -- All Commercial
MTD Residential
--
-- vs budget
YTD Residential
--
-- YoY
Residential Customers
--
vs budget
RT10 Bracket Distribution kWh by bracket vs prior year
Prior YearCurrent Year
RT20 Bracket Distribution kWh by bracket vs prior year
Prior YearCurrent Year
Parish × Consumption Bracket Performance
Defection Definition: A customer is flagged as a defector when their 3-month rolling average kWh drops below 80% of the same 3-month average from the prior year. Severity is graded: Critical <50% Severe 50–65% Moderate 65–80%. Requires validation before being confirmed as structural defection vs temporary disruption (hurricane, meter, closure).
Total flagged
--
This period
Critical (<50%)
--
Immediate action
Severe (50–65%)
--
Monitor closely
Moderate (65–80%)
--
Watch list
Validated
--
Rep confirmed cause
Defector Register 3-month rolling avg <80% of prior year · requires validation
Defection by Rate Class
Defection by Cause Category
Period
--
Current forecast month
On trend
--
Customers in line
Off trend
--
Explanation required
MAPE
--
Mean abs % error
Forecasts entered
--
This period
Awaiting forecast
--
Not yet submitted
6-Month Forecast Entry -- by Customer
Enter forecast kWh for each month. 🟢 = on trend with last 3 months & same period last year. 🔴 = off trend -- explanation required.
Macro & Trend Assumptions -- 4-Year Outlook Annual growth rate assumptions by segment
Forecast Accuracy History Actual vs Forecast by month
Total items
--
Pipeline
Opportunities
--
-- kWh
Risks
--
-- kWh
Net position
--
Net position
Defection-fed risks
--
Auto-flagged
Forecast-fed opps
--
Auto-flagged
Risk & Opportunity Register

📋 Monthly Review

Saved locally in browser
Account Reconciliation: Flags accounts where the same account number appears with different customer names, or where similar names exist across multiple account numbers. Review each flag and choose an action: Merge to one name, Keep Separate with a note, or Mark as Duplicate.
Name mismatches
--
Same acct, diff name
Possible duplicates
--
Same name, diff acct
Resolved
--
Actions taken
Pending review
--
Awaiting decision
Discrepancy Register Review and resolve each flag

📖 Glossary

📚 JPS Sales Analytics — User Guide

🚀 Getting Started

1. Connect to the database
Click the ○ Offline badge in the top-right toolbar. The app will sign in to Supabase using your JPS credentials and sync all tables. The badge turns ● Live when connected.

2. First-time setup (Admin only)
If the badge shows ⚠ Partial, the database tables need to be created. Go to Admin → DB Schema, copy the SQL block, and run it in Supabase Dashboard → SQL Editor → New Query. Then re-sync.

3. Upload your first data file
Go to Admin → Upload Data and click Choose Excel File. Your workbook must contain at minimum an Actuals sheet. Download the template from the same page to see the exact column format required.

4. Set the reporting period
Use the Period bar below the topbar to select MTD, QTD, YTD, or Annual. Use the Year and Month dropdowns to change the reference period. All charts and KPIs update immediately.

📤 Uploading Data — Sheet Reference
📊 Reading the Dashboard — Overview & KPIs
🏢 Commercial Section — Customers, KAM & Commentary, Defection, R&O
🏠 Residential Section
📈 LE Forecast & Forecast Accuracy
📰 Intelligence — Exec Summary, Variance Bridge, Revenue Recovery, Net Gen
📋 Monthly Review & Commentary
🔐 Roles & Permissions
🔍 How to Analyse — Key Questions & Workflows
🔍 Data Validation — Quality Checks After Upload
🔐 Admin — Data Management & Controls
Dropped Accounts
--
-- GWh lost
GWh Deflections
--
-- GWh at risk
No History Groups
--
accounts with no prior year
MoM Anomalies
--
events >25% swing
Last Validated
--
Sync DB to refresh
🚫 Dropped Accounts Accounts present in prior year actuals but missing from current year
These accounts had billed kWh in prior year but have zero rows in current year. Each could represent a business closure, transfer, or data gap.
Click Run Validation to analyse the data.
📉 GWh Deflections (YTD <80% of Prior Year) Accounts where current YTD kWh is less than 80% of same-period prior year
Click Run Validation to analyse the data.
⚡ Month-on-Month Anomalies (>25% Swing) Accounts with consecutive-month kWh changes exceeding 25%
Click Run Validation to analyse the data.
👥 Users & Role Management
Loading users… click Refresh or sync database.
🔐 Role & Permission Matrix What each role can do
Permission admin manager rep view
Forecast Management
Sync database to load forecast status.
Period
--
Reporting month
MTD vs Budget
--
-- vs -- GWh
YTD vs Prior Year
--
-- vs -- GWh
Revenue Recovery
--
vs Budget (sync DB)
Commercial Gap
--
-- GWh MTD
Defectors
--
Critical + Severe
Executive Narrative --
Manager narrative (editable)
Saved
Top 5 Movers vs Prior Year GWh impact
Top 5 Risks from R&O register
Defection Watch Critical & Severe flags
Forecast Accuracy Last 3 months by rep
Segment Scorecard MTD · YTD · vs Budget · vs Prior Year · Status
Total MTD gap vs Budget
--
-- vs -- GWh
Explained (known drivers)
-
From R&O register
Unexplained residual
-
Needs investigation
Explanation rate
-
% of gap explained
Positive drivers
-
Offsetting impacts
Negative drivers
-
Downward pressure
Variance Bridge
Sync data to compute gap. Green bars add to sales, red bars reduce. Grey = start/end total.
Known Drivers Quantified in GWh · linked to R&O register
Add / Edit Driver Quantify a known impact
Driver description
Segment
Impact (GWh, neg = reduction)
Category
Temporary or structural?
Segment Breakdown Contribution to total gap
Revenue Recovery Analysis: Decomposes the gap between Budget, Expected (based on actual volumes and prices), and Actual (including billing adjustments). Drivers: Quantity (kWh volume) · Mix (rate class and on-peak share) · FX (billing exchange rate) · Fuel (unit fuel price) · IPP (variable IPP cost). Upload a revenue data file or sync the jps_revenue Supabase table to populate.
Expected vs Budget
--
Sync revenue data
Actual vs Expected
--
Billing adjustments
Quantity driver
--
Volume vs budget
Mix driver
--
On-peak share
Fuel driver
--
Unit price vs budget
FX driver
--
Exchange rate
Revenue Bridge: Budget vs Expected vs Actual -- USD thousands
Driver Decomposition Budget to Expected variance
YTD Billed Revenue by Rate Class JMD Billions — Prior Year vs Current Year
Prior Year Current Year
YTD Revenue Breakdown by Rate Class & Component JMD Billions
Average Tariff Movement JMD/kWh — upload jps_rr_data to populate
Tariff note: Upload revenue recovery data (jps_rr_data) to populate tariff movement commentary.
Defection Response Workflow: For each validated defector, assign a response stage and owner. Expected kWh recovery feeds back into the forecast as a positive adjustment. Structural defections (Solar/CHP) trigger tariff review; temporary (hurricane) trigger restoration tracking.
Open actions
-
Awaiting response
In progress
-
Being actioned
Recovery expected
-
GWh recoverable
Structural losses
-
Accept & reforecast
Avg days open
-
Action items
Closed this period
-
Resolved
Defection Action Register
Recovery pipeline by stage Expected GWh
Structural vs Temporary split kWh at risk
Residential Customers
--
upload customer_count
Avg kWh (RT10)
--
per customer MTD
Consumption Bracket Trends 6-month rolling avg kWh · all parishes
Customer count by bracket -- vs -- YTD
Bracket x Parish Summary MoM variance heat map
Parish-level Residential Defection Signal 3-month rolling avg vs prior year same period
Weather Adjustment: Residential kWh is temperature-sensitive. A hotter-than-normal month inflates consumption; a cooler month deflates it. The adjusted variance strips out the weather effect to show the underlying demand trend. Adjustment based on Cooling Degree Days (CDD) vs 30-year average for Kingston.
Raw vs Weather-adjusted Variance RT10 monthly GWh
CDD vs Residential kWh Correlation Monthly
Total pipeline
-
Items tracked
Revenue at risk
-
JMD Billions
Revenue opportunity
-
JMD Billions
Prob-weighted net
-
JMD Billions
Ageing >90 days
-
Need escalation
Avg days open
-
Open items
Probability-weighted Pipeline JMD Billions at risk or opportunity
Pipeline by Status & Source Item count
Advanced R&O Register With revenue impact, probability & ageing
12-Month R&O History Were risks realised? Opportunities captured?
Report Builder: Select the sections you need, preview the content, then generate a formatted text export or print-ready HTML. The executive narrative, commentary and variance drivers you entered in other tabs are automatically pulled in.
Report sections
Report settings
Report period
Prepared by
Distribution
Confidentiality
No data — sync DB
Monthly Sales — All LE Versions vs Budget vs Actuals
RC Breakdown — Current LE vs Budget
FY Projection vs Prior Year vs Budget
Monthly kWh Trend
Monthly Data Table
Adjust LE — % Override by Dimension
By Rate Class
By Parish
By Industry
By Consumption Bucket
By Customer (search & override)
Adjusted LE Preview vs Current LE vs Budget
Compare LE Versions
RC-Level Comparison Table
Monthly kWh — Net Gen vs Sales vs Losses
Losses % — Actual vs Budget vs LE vs 12-Month Forecast
Monthly Losses Detail
Customer Risk Flags
% below budget · 2+ months
Variance Analysis — Actual vs Budget
Net Generation: Generation data from the JPS grid. Upload via the Net_Generation sheet (columns: year, month, rate_class, count, kwh). Data sourced from net_gen_historical.
Annual Net Generation kWh by year · teal = latest
No data — upload or sync DB
Monthly Trend Last 2 years comparison
YoY Growth Rate Annual % change
Net Generation Historical Data MWh by month · GWh column = annual total