NOTEBOOK: How we use Twitter to keep track of thousands of federal government spending announcements

These days, your federal government is spending about $310 billion a year and you may wonder, where on earth does all that money go?

The answer is: Most of it is transferred to provinces and territories; a big chunk is transferred to individuals in the form of old age benefits, child benefits, EI payments and the like; a sizeable chunk is used to pay down the debt; a lot is used to pay 250,000 civil servants, 80,000 or so Canadian Forces members, and around 30,000 members of the RCMP.

WATCH: Conservatives urge Trudeau to ‘try to try’ to balance the budget

Believe it or not, that still leaves lots left over for politicians to hand out. And whenever a politician hands out some money, you can bet there will be a press release so that one and often several politicians can be seen taking some credit (or blame) for handing out the money.

Here’s an MP, Dan Ruimy from B.C., who proudly tweeted a picture of himself handing out a novelty cheque drawn on the federal government’s bank account:

I’ve been told by PMO sources, by the way, that MPs are largely discouraged from using novelty cheques in funding announcements.

In any event, since March, 2009 whenever a spending announcement is made, I’ve been tracking key details from each spending announcement in a database I maintain. I use that database from time to time to  pull summary information about spending announcement patterns.

For example: As of this writing, the Ontario riding of Algoma–Manitoulin–Kapuskasing, held by New Democrat MP Carol Hughes, has had more projects funded during the life of this Parliament than any other riding in the country. Our database has logged 97 different projects in Hughes’ riding worth a combined $54.5 million.

READ MORE: Registered to lobby Justin Trudeau? You can still make it into his ‘cash-for-access’ events

By contrast, just two projects worth a combined $787,669 were approved in which all the money would be spent in Prime Minister Justin Trudeau‘s Montreal riding of Papineau.

Thanks to this database, we can tell you that nearly two years into the 42nd Parliament, the Trudeau government has made about 6,800 different funding announcements letting MPs take credit for a combined $31-billion in spending on everything from a new sewer line to a new roof on a curling club to new research labs to new affordable housing projects.

By contrast, the Harper government, over the entire length of the 41st Parliament, made 7,308 spending announcements for a combined $45 billion.

And every single one of those 13,000-plus spending announcements in the last Parliament and the current one is in my database.

This picture was distributed with the press release on Sept. 1, 2016 from the Atlantic Canada Opportunities Agency — the federal government regional economic development agency — when it announced funding for the picnic shelter in this photo. That’s Liberal MP TJ Harvey in the middle.

Courtesy: Atlantic Canada Opportunities Agency

And just about all of those are also on Twitter via a special Twitter account I’ve set up called @OttawaSpends.

Every time I put a spending announcement in my database, I also tweet it out. If you follow @OttawaSpends, you too can track every federal government spending announcement. For example, that photo of the gazebo, er, picnic shelter, pictured above with Liberal MP TJ Harvey was tweeted out like this:

The photo at the top of this post is from an event in which Trudeau announced federal funding for a light rail project in Montreal. Here’s what the @OttawaSpends tweet from that announcement looked like:

Now if you want to follow along you’re probably going to need to know how to read the syntax of an @OttawaSpends tweet. That’s what this notebook post is about.

So to help you understand the syntax of an @OttawaSpends tweet, let’s take a look at a typical spending announcement and how that turns into a tweet (and database entry).

We almost always start with a press release issued by the federal government department or agency that is handing out the money.

Here’s one of those press releases, issued on June 16, in which the federal government announced that dozens of events,  activities and projects across Vancouver Island had received federal funding to celebrate Canada’s 150th birthday.

Remember: The @OttawaSpends project is less interested in the merits of the project being funded than it is about the politics of the funding announcement itself. Which minister or MP got their name on a press release? What riding is each project located in?

WATCH: Does Canada really need to increase its defense spending?

We’ll start by identifying the responsible minister. A cabinet minister is responsible to Parliament for every penny handed out in loans and grants. In this case, the responsible minister is Heritage Minister Melanie Joly.

So we begin our @OttawaSpends tweet with the name of that responsible minister.  Whenever possible in our tweet, we will use the Twitter handles of the politicians and their departments. We will follow that with the department responsible for handling the funding announcement. So in this case, the tweet starts:


You’ll note there is a comma between [Minister] and [Department]. For those into serious database design, this is the “delimiter” in each tweet and separates each “field” in our “record.”

As a result, you could use a service like All My Tweets to download all my @OttawaSpends tweets and pretty easily dump them into a database program for your own analysis. Alternately, you could subscribe to my @OttawaSpends feed using an RSS reader and pull each @OttawaSpends tweet into a database.

Why is there a dot – “.” – before the Minister’s name? Answer here . I realize Twitter has apparently changed that rule about the dot but I’m just not clear the rule change applies to all Tweet creation tools/platforms so I do it to be safe and make everyone can see my tweets.

Let’s continue with construction of the rest of the tweet.

The press release indicates that a Liberal MP “made this announcement on behalf of the Honourable Melanie Joly, Minister of Canadian Heritage.” This happens all the time — a government MP will make the funding announcement, hand out the cheque, etc. on behalf of the minister responsible to Parliament for the spending.

Notably: Only government MPs get to hand out cheques. A non-government/opposition MP never gets any credit for the funding even if that MP may have helped a local group with a funding application or helped a group navigate through a federal program to qualify for funding. Again, this is the politics of a funding announcement. Only ministers and government MPs will get any credit for handing out money.

Handing out cheques gets an MP on the front page of the local paper, as it did in July, 2016, when Liberal MP Terry Sheehan made a funding announcement in his riding.


In this case, Dan Ruimy, the (Liberal) MP for Pitt Meadows—Maple Ridge  – who we met at the top of this post — got the honours of making the good news to all these community groups that they were getting federal cash for Canada 150 events. So the tweet construction continues:


A note here: Sometimes, it’s just the minister handing out the money and no everyday MP is involved. In that case, I just repeat the name of the minister again in the slot where the MP’s name would go. The tweet construction would be [Minister],[Department],[Announcing MP which could be the minister]..

Next up is a brief description of the funded project or group. Now this particular spending announcement actually contains a couple of dozen funding projects so we want break out each one. I’ve chosen this one:

Celebrate Canada Day

The first thing I’m going to note is that this is a project coming out of one of the government’s programs set up to mark the 150th anniversary of Confederation and I’ll do that with the hashtag #Canada150.

TIP: You could use the Advanced Search function at to filter the tweets from @Ottawaspends. You might want to follow your own MP, for example. By putting a #Canada150 hashtag on funding for Canada 150 projects, I’ve created the opportunity for a filter of Canada150 projects.

After that, I’m going to note that this money is being spent in the Vancouver Island community of Lantzville, and then, remembering I’ve only got 144 characters in a tweet, I’ll really shorten up the rest. So now my tweet reads:

.@MelanieJoly,@CdnHeritage,@DanRuimyMP,#Canada150 Lantzville Legion celebrates,

Next up is the municipality where the announcement was made. Note: This is not necessarily where the money will be spent. Usually, this information is taken from the placeline on the press release. In this case, the announcement that the government was giving money to the Legion in Lantzville was made in Victoria. Next up is the province in which the funding announcement was made and after that, the actual amount of federal funds approved for the project. The Tweet continues:

.@MelanieJoly,@CdnHeritage,@DanRuimyMP,#Canada150 Lantzville Legion celebrates,Victoria,BC,$ 0 600,

Remember again: We’re separating each bit of information in the tweet with a comma.

Now, up until that point, all the information for the tweet is in the press release. In the final bit of the tweet, we’re going to try to figure out what riding the funded project is in. That can sometimes take a bit of sleuthing but in this case, all it’s going to take is a quick trip to Elections Canada’s “Riding Finder” page. At the Elections Canada site, we simply type in ‘Lantzville’, hit return, and — presto! — we learn that Lantzville is in the riding of Nanaimo—Ladysmith. You could click through on the word “Lantzville” to learn that the MP for Nanaimo—Ladysmith is Sheila Malcolmson.

Now, as I spend all of my professional time worrying what our 338 MPs are up to, I’m pretty sure I could tell you the party affiliation of any MP off the top of my head but in case I’d forgotten which party Malcolmson represents I could click on “See the list of candidates for the last election” link at the bottom of the Elections Canada page we’re at now or I could look up Malcolmson’s profile at the Parliament of Canada Web site to find out that she is a New Democrat.

So now we can finish the rest of our tweet by noting the province or region the money will be spent in followed by another comma followed by the #OttawaSpends hashtag followed by the two or three-character acronym for the party that holds the riding where the money will be spent, followed by name of the MP that holds the riding (using Twitter handles again where applicable).

Now we’re ready to tweet:

So here’s that syntax once again with more notes about some of the variables:

[Minister that approved funding]

  • The Twitter handle of the cabinet minister who is responsible to Parliament for the funds spent on the project.

[Government Department from which funding is drawn]

  • The federal department or agency that administers the program from which the funding is drawn.

[MP announcing the funding]

  • Sometimes it is the minister who also is the MP announcing the funding. If that is the case, the minister’s name will be repeated twice in the tweet.
  • Sometimes a minister makes a funding announcement on behalf of another minister. The first minister in the tweet is the minister that approves the funding; the second minister’s name, then, is the announcing minister.

[Description of funded project]

  • The #Canada150 hashtag is used to note a project funded from any federal government Canada 150 program.
  • Where applicable, the name of the municipality where the money will be spent is inserted in this field.

[Municipality where funding announcement was made]

  • This is not necessarily the municipality where the money will be spent. It is the name of the municipality where announcement is made, often drawn from the place-line in press release announcing the funding.
[Province where funding announcement was made]
  • The two-letter code for the province or territory where the funding announcement was made. This is not necessarily the province or territory where the money will be spent.
  • An XC in this field means the funding announcement was made outside the country.
[Federal funds awarded]
  • The amount of the loan or grant.
  • Note: In cases where a project is receiving federal, provincial and/or municipal funding, only the federal portion of the funding is noted here
[Province where the money will be spent]
  • A judgement call (by me) of the province or territory where the money will be spent. This is not necessarily the same as the province where the announcement was made.
  • An XC in this field means the project receiving funding is outside the country.
  • NATIONAL means the money will be spent in at least two provinces.
  • ATLANTIC, WEST, or NORTH means the money will be spent, respectively, in the four Atlantic Canada provinces, in the four Western provinces, or across the three northern territories.
[Party and MP that holds the riding where the money will be spent]
  • M in this field means “Multiple”. So you could have “LPC M” which means the money will be spent in two or more ridings and all of those ridings are held by Liberal MPs. If you had “M riding M”, that means the money will be spent in multiple ridings and those ridings are held by two or more parties.

Go to Source