I calculated the average face of a UK Member of Parliament and here’s what I found

The UK Parliament Digital Service has recently released an archive of official portraits of MPs shot by photographer Chris McAndrew (under a CC BY licence! Open Data, yay!) As I’m playing with image manipulation and Machine Learning to train a cohort of medical researchers, I thought the portraits would make an excellent test of what’s possible in the wild.

Using Machine Learning on faces has recently been subject of controversy, when researchers at Stanford University developed an algorithm that detects whether the face in a photo belongs to a gay person. Steering away from controversy, I thought that it would be interesting to find out what the average MP looks like. There has been a good deal of research on this concept, some of which is rather catchy. In 2015 the Guardian reported that we tend to find average faces the most attractive. I’m not sure this applies to MPs (and let’s avoid all jokes about average, i.e. centrist, faces), but here we go.

This is the average face of a British Member of Parliament. So angelic that it borders the uncanny valley.
The average Member of Parliament

So, what does the average MP look like then?

The average male MP

Well, the first thing that pops to my mind is: white, male. Blue eyed. A slightly feminine version of Nick Clegg. Vaguely David Cameronish or Tony Blairish. Maybe a young Harold Wilson. But most definitely this face depicts a white male. This is not surprising, given than only 208 out of 650 MPs are women, less than a third of the total. In fact, if we look at the average face of male MPs, we get a face that is not very different. For comparison, look at the average female MP:

The average female MP

The representation of ethnic minorities is also very low in Westminster, and the whiteness of the average face tells a lot about it: despite the 2017 intake being the most diverse, there are only 52 ethnic minority MPs, less than 10% of the total, resulting in both male and female average faces being distinctly white.

What if we look at political parties?

There are some slight differences if we run the same analysis by political party. For example, comparing Conservative and Labour MP it is apparent that the average face of a Labour MP has some more feminine features — this is obvious, as the ratio of female MPs is higher within the Labour party: 119 out of 262 (45%), against 67 out of 317 (21%). It would seem that more Conservative female MPs wear glasses, and that grey hair are more common among Labour male MPs.

The average Conservative MP: all, male only, female only
The average Labour MP: all, male only, female only

There is simply not enough data for the Liberal Democrats and the Scottish National Party, but here are their averages:

SNP on the left, Lib Dems on the right.


I reused some of the code available here. Please read this tutorial to understand exactly what is involved, but in summary each average face is built based on two steps:

  1. with dlib I extract the facial features for each image in the pool
  2. using the facial features extracted at step one in conjunction with the image itself, I use OpenCV to calculate the average of those features.

This is made simple because OpenCV allows to manipulate the pictures at an algebraic level by splitting the image in Delaunay Triangles.

Some caveats:

  • not all MPs agreed to be photographed or found the time to do so; as things stand, we have portraits for 553 out of 650 MPs (there are photos of 266 out of 317 Conservative MPs and 229 out of 262 Labour MPs)
  • the code I’ve used draws heavily on “stuff I’ve found online”; I understand how the technology works, but I’m still learning it, so I cannot guarantee this is not complete bollocks ;-)
  • the goal of this post is to offer opportunity for reflection rather than a scientific statement.

This is just a basic view, but there will be a follow-up post soon.

I hope you enjoyed this blog post. If you are curious about geeky stuff, data, and visualization, please subscribe to my newsletter: