A Friendly BC Hydro Electricity Consumption Analysis using Tableau

If there is something to appreciate about the Canadian West Coast, it is definitely in the way that it leads by example through environmentally friendly practices. One of the ways that British Columbia takes on this initiative is through administering electrical energy in the cleanest and most cost-efficient way.  This is all made possible through BC Hydro, a Canadian-controlled crown corporation responsible for providing British Columbia residences reliable and affordable electricity. British Columbia prides itself in delivering electrical energy and is known to have one of the lowest electricity consumer prices in Canada. One way to show appreciation for natural resource consumption is to, of course, take a look at our very own personal electricity consumption. Before diving into any analysis, first it might be useful to provide some context into how BC Hydro prices electricity consumption.

Electricity Pricing

BC Hydro uses a two-stage pricing algorithm where consumers are required to pay $0.0858 per kWh up to a max consumption threshold of 1350 kWh within a two-month period. This rate increases to the second stage at $0.1287 per kWh if the consumer uses over 1350 kWh within the two months. In addition to the two-stage pricing algorithm, consumers are required to pay a base rate of $0.1899 times the number of days in their billing period, and pay a rider-rate which is a buffer cost to consumers to cover unpredictable economic circumstances such as abnormal market prices or inaccurate water level forecasts. The entire cost becomes subject to GST and the total is the payable amount during every billing period.  If you want to read for knowledge’s sake, BC Hydro thoroughly explains the pricing of electricity consumption on their website.


The motivation behind this post is to analyze a very special electricity consumption data set (special because I was given permission by my great friend Skye to analyze his electricity consumption data!) I will be analyzing Skye’s personal electricity consumption in the full calendar years of 2015 and 2016.

Data, Set, Go!

It is amazing how accessible BC Hydro makes personal electricity consumption data to its paying customers. Skye has revealed that to obtain your personalized data set, you would simply login to your MyHydro account, and request an exported .csv file. Within 24 hours of submitting a request, you will receive an e-mail with a personalized .csv file.

The file contains two data columns, the first column containing the Start Interval Time/Date representing the time stamp at the beginning of each hour of every day of the year, and the second column containing Net Consumption (kWh) representing the amount of electricity used up until the end of the hour measured in kilowatts per hour!

One thing I noticed within Skye’s data set is that there were some missing Net Consumption values.  Missing values were indicated with N/A attached to some time stamps. Further looking into this data and without any prior knowledge to Skye’s electricity consumption behavior, there is no way to really know for certain why the data was missing. To rectify this situation, I simply replaced missing values with the most recent level of net consumption. For example, if there was a missing value on September 13, 2016 at 10:00am, I would assume a forward-looking value such that this missing value would be replaced with the net consumption value from 9:00am. If there was trailing missing values, or consecutive missing values, I would replace them all with the most recent available net consumption value.

Without further ado, I shall begin reporting what I found from Skye’s electricity consumption data using Tableau Public. Pokemon Fans, please take notice in the Venusaur colour palette!

There was an increase of about 3% in net consumption expenditure from 2015 to 2016. Skye exhibits typical seasonal trends in electricity consumption.

Electricity Consumption Seasonal

Net Expenditure is what Skye is charged during the two-stage pricing algorithm on a per month basis. He does not actually ever step into stage-two of pricing as he is well below the 1350 kWh threshold every two months (which is amazing, save energy and save money!)

Visually, it seems that Skye exhibits a typical consumption behavior, where his expenditure in the first three quarters of each year has a decreasing trend, he hits a minimum in September, then scales back up in the Fall and Winter months. Is it possible that what we see visually is not verified statistically? We can validate this theory that Skye is behaving typically or the way he should be. Consider the following R code:

table2015 <- c(42.87, 39.01, 33.9, 29.25, 22.5, 26.68, 33.06, 24.45, 15.57,
 27.11, 49.37, 49.39)
table2016 <- c(44.46, 31.57, 32.68, 29, 25.53, 25.43, 24.53, 29.42, 20.43,
 32.03, 43.96, 67.62)
chisq.test(table2015, 2016)

Behavior Distribution

Here, I perform a simple chi-square test to validate that these data-points are in fact Skye’s typical behavior. The null hypothesis is that the expenditures in 2015 and 2016 are independent, or in simpler terms, we hypothesize the possibility that Skye’s behavior has changed and therefore has significantly changed his electrical consumption. Since the result presents a p-value of 0.2329 (much greater than 0.05,  a benchmark value to consider this null hypothesis), we reject the null hypothesis and conclude that there is evidence to suggest that Skye is behaving how he should be!

Although we have statistical evidence regarding his typical behavior, one still needs to question what happened in December 2016, where Skye’s expenditure increased by almost 37% from 2015! Could this probably be a result of one of the coldest winters that Lower Mainland has experienced in years?

Skye has more expenditure control in 2016. His net daily expenditures are more sporadic in 2015 with monthly averages between $0.80 and $1.40 per day, whereas 2016 was less sporadic with monthly averages between $0.70 and $1.20 (exception, December 2016 at average of $2.20).


Daily Expenditure 2015


Daily Expenditure 2016

Here, I use the term sporadic to describe the range in distributions of net daily expenditures per month.  For example, the box-plot ranges in the first quarter of 2015 are much wider than the box-plots in the first quarter of 2016. This is especially evident in the summer months. To put it simply, Skye has more consistency and better control of his electricity consumption and expenditures in 2016.

We have seen that Skye’s expenditure has increased by 3.42% from 2015 to 2016. One would think that with more controlled electricity consumption in 2016, his expenditure would be lower. By taking a look at December 2016, we can see that his expenditure is abnormally higher (by almost an additional $0.70 per day!) It is interesting to see that electricity consumption behavior was definitely more different in 2016 and kept at all-time low until the winter season.

Another thing to point out is that outlying value of about $4.00 in December 2016. Anecdotally, Skye says it is most likely because he forgot to turn off the stove that day!

Skye’s favourite days of electricity consumption are Tuesdays, Wednesdays, Saturdays and Sundays. Net hourly expenditure is seasonally and consistently higher (more expenditures are greater than $0.04 per hour) during these days.

Net Hourly Expenditure 2015 ($)

Monthly Daily Expenditure 2015

Net Hourly Expenditure 2016 ($)

Monthly Daily Expenditure 2016

Consistent with what we have been seeing, the winter months continue to observe the highest expenditure per hour. In addition, it seems that Skye has more of a liking to use higher levels of electricity on Tuesdays, Wednesdays and on the weekends with expenditures ranging between $0.03 to $0.09 per hour.

To account for a smaller difference, we could see that in 2015, Skye used more electricity throughout November everyday in 2015, but has decreased his hourly expenditure over November weekends in 2016.

Skye exhibits behavioral change in 2016 mornings and mid-evenings with higher net hourly expenditures compared to 2015.

Net Hourly Expenditure 2015 ($)

Daily Hour Charge 2015

Net Hourly Expenditure 2016 ($)

Daily Hour Charge 2016

It seems that Skye is consuming more electricity in the morning in 2016, evidently with an additional $0.01 to $0.02 per hour from 2015 rates. A behavioral change is signaled by the 7AM to 8AM mark in the morning and by the 6PM to 7PM mark in the evening. Even times like Mondays in 2016 at 11PM in the late night exhibit increase in electricity consumption.

Skye spends about 57% less than the average British Columbian household.

Compare Rates

According to BC Hydro, the average BC household consumes an average of about 900 kWh of electricity per month (not including seasonality). If we apply the exact same logic by taking the average consumption of Skye’s past 2 years, we see that he actually consumes way less than the average household.

Watt to Consider for the Future

This analysis was a great way to continue displaying fun data in Tableau. With just a two-column personalized electricity consumption data set, I was able to dig a little deeper on the spending behavior of Skye. Some things came to mind as I was conducting this analysis which could be used as motivation for further analysis posts.

This analysis serves as a perfect transition into utilizing machine learning methods to forecast future expenditures. We can definitely come to understand what exactly our forecasting machine learning models intend to capture and how these behaviors will help us predict future behavior. In this analysis, 2015 and 2016 data was used but in reality, data up to the current date and data before 2015 can be obtained. This gives more opportunity to build and test forecasting models accordingly.

In addition to the amazing visualizations produced by Tableau, a perfect consideration for future time-series modelling is to plot the data using ggplot2 in R. Interchangeably using these two visualization tools can serve as good practice and could provide more insights when used in conjunction with one another.

A special thanks to Skye for letting me use his data, it was fun!


One comment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s