I concluded by mentioning that I had followed on with a formal data access request, under the provisions of the Canadian Personal Information Protection and Electronic Documents Act.
Yesterday I received a thorough response by email to that access request, a response that included everything I had requested.
Here’s what I learned.
Personal Information About Me
The letter I received (a PDF attached to the email) summarized the “personal information” about me that Air Miles holds. This is described as:
In accordance with Principle 9 — Individual Access, as outlined in the AIR MILES® Privacy Commitment, the following is personal information on record with the AIR MILES® Program.It is important to note that the demographic information listed below represents what was provided at the time of enrollment, unless updated by you during subsequent contacts with our company, as well as any information you or your household may have provided to us through your participation in optional surveys. This is a summary of the personal information currently held about you and your household.
The information Air Miles holds on me is:
- My date of birth.
- My gender.
- My language preference.
- My “enrollment source” (how I originally signed up for Air Miles).
- My enrollment date.
- The total miles I’ve earned to date.
- The total number of “partners” where I’ve earned miles.
- My account type (business).
The information Air Miles could record about me but had no data:
- My household size.
- My income range.
A summary was included of the single redemption I’d ever made of Air Miles for a travel reward, 4090 miles in March of 2016 for a room in Halifax at the Best Western Chocolate Lake.
A list of 46 third party “partners, agents and research organizations” that Air Miles has shared my contact information with “in order to fulfill the stated purposes of the AIR MILES® Reward Program” was provided:
- Alamo Canada
- American Express
- Bank of Montreal
- Boston Pizza
- Budget Rent a Car
- Canadian Springs
- CarStar Automotive Canada
- Century 21
- Club Voyages
- Global Pet Foods
- Goodyear Canada
- HBC Rewards
- Holiday Inn
- Homecare Building Centres
- Intercontinental Hotels
- Johnson Inc.
- La-Z-Boy Furniture Galleries
- Manulife Financial
- Maritime Life
- Marlin Travel
- National Tilden
- Pharma Plus
- Pharma Save
- Primus Canada
- Rogers Media
- Royal & Sun Alliance
- Sport Chek
- Sports Experts
- the Shoe Company
- Tim-BR Mart
- Travel Plus
- VHQ Video Headquarters
Air Miles Earned
Confronting the PDF File
Finally, in a separate PDF file were the “transactional details” of every Air Mile earned from 1999 onward, sorted by the partner’s name:
PDF files are where data goes to die, and while providing me with this information in this format technically meets the provisions of my request for a “CSV, Excel or other machine-readable file,” it would have been nicer to receive it in something more portable.
By running the PDF file through pdftotext, using the “-raw” flag, I was able to get something more useful:
pdftotext -raw airmiles.pdf
This produced airmiles.txt that looks, in part, like this:
CENTURY 21 Thank You From CENTURY 21 7/12/2000 192 1 BMO M/C BUSINESS CARD AIR MILES BUSINESSCARD ACCOUNT 6/28/2002 75 1 BMO M/C BUSINESS CARD AIR MILES BUSINESSCARD ACCOUNT 5/28/2002 45 1 BMO M/C BUSINESS CARD AIR MILES BUSINESSCARD ACCOUNT 4/26/2002 13 1 BMO M/C BUSINESS CARD AIR MILES BUSINESSCARD ACCOUNT 3/28/2002 6 1 BMO M/C BUSINESS CARD AIR MILES BUSINESSCARD ACCOUNT 2/28/2002 49 1 BMO M/C BUSINESS CARD AIR MILES BUSINESSCARD ACCOUNT 1/28/2002 47 1
Somewhat inconveniently, this file is neither fixed-width nor helpfully delimited, but there’s enough structure, working from the end of the lines back toward the beginning, to split components into individual fields.
To save myself the trouble of hacking the data out this way, I deployed the excellent open source Tabula tool for the job; it “a tool for liberating data tables locked inside PDF files.” Or, in other words, exactly what I need.
It was shockingly easy to install Tabula, have it auto-identify the tables on the Air Miles PDF, and spit out a CSV file that looks, in part, like this:
CENTURY 21,Thank You From CENTURY 21,7/12/2000,192,1 BMO M/C BUSINESS CARD,AIR MILES BUSINESSCARD ACCOUNT,6/28/2002,75,1 BMO M/C BUSINESS CARD,AIR MILES BUSINESSCARD ACCOUNT,5/28/2002,45,1 BMO M/C BUSINESS CARD,AIR MILES BUSINESSCARD ACCOUNT,4/26/2002,13,1 BMO M/C BUSINESS CARD,AIR MILES BUSINESSCARD ACCOUNT,3/28/2002,6,1 BMO M/C BUSINESS CARD,AIR MILES BUSINESSCARD ACCOUNT,2/28/2002,49,1 BMO M/C BUSINESS CARD,AIR MILES BUSINESSCARD ACCOUNT,1/28/2002,47,1
Now that is useful data.
What did I learn?
Some of the things that I was able to learn from the CSV, after loading it into LibreOffice for analysis, were:
- My first Air Mile came from buying gasoline at Shell on August 21, 1999.
- I’ve earned 7,021 Air Miles in 434 transactions from that date until my most recent transaction at Sobeys on January 13, 2018.
- I’ve earned Air Miles from 26 partners in total.
- Most of my Air Miles–2,729, or 39%–have come from Sobeys.
Other insights to follow.
How did Air Miles do?
- Quick turnaround on the request, within the timelines laid out in the Personal Information Protection and Electronic Documents Act.
- Provided everything I asked for.
- Data provided locked in a PDF file that I had to work to liberate; I’ve asked if they can give me a CSV, TSV or even an Excel file instead.
- Summary letter total Air Miles earned (7,168) doesn’t add up to the aggregate of the Air Miles reported in the transaction report (7,021). I’ve asked for an explanation of the difference.
- Summary letter total partners (20) doesn’t match the partners listed in the transaction report (25). I’ve asked for an explanation of the difference.
In general terms I think Air Miles lived up to the letter and spirit of the Personal Information Protection and Electronic Documents Act, which is not surprising given its profile and that it is essentially only in the data management business. If Air Miles wasn’t good at this, what hope would we have for others?
How to Request Your Own Data
To get your own data from Air Miles, refer to the Protecting Your Privacy page on its website, which provides the email address firstname.lastname@example.org for making access requests. Feel free to copy and paste the language I used in my request as a starting point.