Project 1

I Me Mine

Project due at 11:59pm Monday 9/20/10 Chicago time

Project 1 will be an individual project to give people practice with writing an application in processing and get everyone ready to contribute to the group projects to come.

The project will focus on looking at household utility data - which could either be used to decrease waste or to cyber-stalk someone.

Below you will find a link to a table containing 11 years of data on:
The data is available here:

In this case the data is already pre-processed to be an appropriate size and in an easily readable form. That won't hold true for the later assignments.

Electricity is typically billed once a month, but typically every other meter reading is an estimate. Water is typically billed every 2 to 3 months, and natural gas every 1 to 2 months. This makes it harder to see short term trends, but longer term trends should still be visible.

The temperature data in the file comes from the electricity company. The data seems reasonable but you might want to get temperature data from another source, and probably in addition to the average also look at the minimum and maximum.

You should start by looking at data itself and do some simple plots in your favourite spreadsheet / plotting program. There will be some obvious cyclical patterns such as air conditioning driving up electricity usage dramatically in the summer and the furnace driving up natural gas usage dramatically in the winter.

Your job is to look beyond the cyclical patterns for longer term trends and aberrations that are hiding there, and see what changes in the real world could have caused them. Some of these changes are related to how hot a summer was or how cold a winter was, others are related to human behavior. This is where the cyber-stalking / privacy issues part of the project comes in. If you have access to this utility data and can filter out the repeating patterns, and the general environmental changes, can you find interesting events or trends that tell you about the people?

The goal here is to create an interactive visualization tool to aid in your analysis and to back up any conclusions you draw.

Here is some more data that will help you with this:

- The house stayed basically the same throughout the 10 years of data collection.
- The house uses electricity to run the air conditioner for cooling, and to run the blower on the furnace for heating
- The house uses gas for heating and cooking, and drying laundry

I did some roough measurements of my electricity usage recently:

In a common house:
This data should allow you to break up the daily usage of two people into components that can vary over the months and years.

Here are some of the dates things that might affect the utility usage
You will very likely need to look up some other reference material on the web about water, gas, and electricity usage. I did. I also found that some sites over-inflate the usage numbers by 50 to 100% compared to the numbers that I was able to measure. Those numbers also depend quite a bit on where you live and the size of your home. I would recommend looking at a few different sites to get a better feeling about what good average numbers might be. Be sure to cite the websites that you use.

Your visualization and analysis tool should be written in processing. The Milk / Tea / Coffee example should give you a nice head start on this. You should start by getting processing installed and doing some initial tests to load in the data and start displaying it. You should then start to draw some sketches of what the interface might  look like and how you want to arrange and display the data. How are you going to make use of the screen real-estate?

You can use other software to generate statistics about the data if you find that useful. The data here is the kind of thing you would typically see in a graph which is probably a good way to visualize it, and this will give you a chance to write a set of graphing code that you can reuse in future assignments since graphs are so useful.

The application you create should help the user perform the following tasks:

Task #1 - document the repeating seasonal utility usage patterns and what affects those patterns (e.g. temperature)

Task #2 - given the results from task #1, document the long term trends and short term variations in those patterns (e.g. given temperature readings you should be able to work out expected values for gas and electricity usage, and then any variation you see might suggest a human cause).

Task #3 - given the results from task #2, try to see if the events listed above had an obvious affect. Also look for other possible affects on the data. Are there other dates where interesting things happen?

Bonus Task #4 - predict Andy's average daily electricity, natural gas, and water usage for the next 4 months of the table. The table of data ends at July 2010. Predict the values for the next four rows: August, September, October, November. At the end of the course we will see who was the best predictor.

For a C you need ...

For a B you need to add ...

For an A you need to add ...

You should create a web page that describes your work on the project including an embedded processing window (with a max size of 1280 by 700) and a link to a gzipped file containing the source code and all other necessary files to make it run locally. This well organized page should function as a README file and describe the featues that you implemented along with any special features that you added. It should include screenshots of all the major features.

I will be linking this web page to the course notes so please send me a nice 1024 x 768 jpg image of your visualization for the web. This should be named p1.<your_last_name>.<your_first_name>.jpg.

Web pages like this can be very helpful later on in helping you build up a portfolio of your work when you start looking for a job so please put some effort into it.

We will take one class period to look through these visualizations so everyone can see a variety of solutions to the problem, and a variety of implementations. You will be expected to talk about your work.

last revision 9/14/10 - clarified due date and time