5 min readJan 16, 2018


Reviewing 2017 marks my 8th “Personal Annual Report” covering a span of 10 years. There was no report covering 2015 or 2016 and I want to explain why and share a little of the process and goals that shape each annual report.

Transit Expenses over the past seven years

Personal Goals

Data analysis and Data Visualization have always been passions of mine. To me, Personal Annual Reports are a beautiful domain where you get to explore curiosity, flex creativity and benefit from a variety of technical skill sets.

Each year I have set out with a few goals:

  • Learn about myself
  • Develop new visualizations (never the same thing twice)
  • Experiment with new web technologies (CDN, WebP, scalable SVG, mobile layouts, tree-shaking, etc)
  • Provide an engaging experience that encourage the viewer to interact, and explore
  • Publish a report in early January
  • Develop unique datasets (keystroke logger, daily photos, etc)

What happened to 2015 and 2016?

As I began working on my 2015 Personal Annual Report, I set out a personal goal to build a “scroll based” visualization. While I have used d3 (version 3) for several years, I wanted to stay ahead of the curve and switch to d3 v4 while simultaneously adopting a “modern” approach to a javascript project with a build pipeline (eventually attempting to use rollup, babel and ES6 modules).

Ultimately, I stacked the deck against myself completing in any reasonable timeframe. d3 v4 wasn’t polished enough (It would ultimately exit out of alpha six months later) leading to too much time debugging and too few functioning examples to reference. I couldn’t master the fundamentals of a scroll based visualization fast enough to build the d3 framework I wanted from the ground up, and existing scroll based libraries didn’t solve my needs or were incomplete. The state-of-the-art for javascript projects also changes too rapidly for it’s own good leading to a lack of good consensus around how to ideally setup a project.

In the middle of February, a month after my normal target, I declared defeat at producing an annual report. I still learned a lot, so I still got something out of it personally, there was just no report to share.

When 2016 came to an end, I felt I needed to give myself a break. After 7 years I had pushed the bar too high trying to invent new visualizations each year. The steady growth in year-end-review information, and data-collection focused services has watered down some of the excitement in pushing the envelope in careful analysis of personal data. You get a lot these days from data collection services like Foursquare, Strava, Moves, and Fitbit. Each is designed to help you learn from your data, to collect it seamlessly, and many provide users with their own annual report.

Wholistic Personal Annual Reports are also accessible now. Services like Gyroscope give you 95% of the data analysis output that you’d get from spending a month processing data like it do, but you get it with literally zero effort. @aprilzero has done an amazing job with that service.

2017 Annual Report from Gyroscope

The only downside for a data nerd, is that you aren’t in control and things might not be correct. Does the visualization take into effect Daylight Savings Time? How do you visualize something consistently when half of the transactions are in Foursquare, and the other half are in Mint or on a scrap of paper? How do you measure something new or look at it in a new way?

A New Approach In 2017

Over the years a few categories have been bell-weathers of my reports. In one aspect or another, I continue to be fascinated by (yes, probably even obsessed with):

  • Transportation related Expenses
  • When, Where and How much coffee I drink
  • Aspects of computer use (Time of Day, Applications, Battery, Keyboard, etc)
  • Developer related data (i.e. Code Commits, Google Searches, etc)
  • Cycling data (Which routes, Ride duration, etc)

As time has passed, I’m now interested equally in how data relates to different stages of my life and my growing family as well as how data relates to events and choices from a singular year. In my 2014 review I made a first attempt at including Year over Year data by comparing 2014 transportation expenses with 2013 expenses in the same categories.

I’m want to embrace this new interest more directly and visualize multi-year trends, starting with my 2017 transportation expenses. This is interesting as some data shows the effects of day to day life.

The amount I spend on NYC MTA has gone down steadily as I commute via bike more and more (I have commuted exclusively by bike for the past three years), and as it’s also less convenient to travel via MTA with four little kids in tow (too many subway stations continue to fail ADA accessibility and don’t accommodate parents with strollers). You can also see the total impact from two bike purchases so I can ride with my kids (yay for bikes being stolen in NYC).

It’s also visible that trips between NY and DC have flip flopped multiple times between Amtrak and the low cost bus lines (MegaBus and BoltBus primarily). This reflects different choices between the cost/comfort/convenience and family-friendliness tradeoffs that each modes provides. These mode choices also heavily compete with car rentals for this trip on convenience.

I hope you’ve enjoyed a peek behind my 2017 Personal Annual Report. Hopefully time permitting, I’ll be able to release some additional sections covering my cycling and 311 reports.




Ever stop and wonder what would make streets safe to walk on? I ❤️ Data & 🚲.