Greg Tyler

Weeknotes: 30th September 2019

Published on 6th October 2019

This week I moved to a new office ✨

The OPG Digital team in Birmingham had a slight office move this week, descending from the 8th floor of our building to the 2nd. The new space gives us more space and, importantly, more control. We’ve been excited about this move for a while, and it’s exciting to see it finally come to fruition.


I’ve spent a lot of the last couple of weeks setting up a new platform for reporting important metrics to do with the Complete the deputy report service. This will allow us to measure satisfaction, user registrations and report submissions, and interrogate that data ad hoc.

In the past we’ve surveyed this information by running queries on the database when asked. As well as being an annoyingly manual process, we’ve also variously lost track of the queries used, meaning the month-by-month numbers could be inconsistent.

We’re currently recording quite basic information but we know we’ll want to expand this in the future, so we’ve designed the whole system to be easily extendable and expandable.

To achieve this, we’ve adopted a system we copied from Google Analytics, but which I’m sure is more widely used, which consists of metrics and dimensions. Each metric is a measurement we make in the application (e.g. satisfaction, report submissions, errors, completion times). Each dimension is a way of slicing those metrics up (e.g. report type, browser, day of week).

Each metric only supports some dimensions, either because they don’t make sense or because the way the data is stored couldn’t support it.

Behind-the-scenes, we’re storing each metric in its own file which contains the SQL used to query the data and the dimensions which are supported. New metrics simply sit in their own file, and new dimensions can be added as-and-when we need them.

As well as expanding our custom analytics to cover more metrics, I want to eventually cross-integrate with Google Analytics. This should not only let us see all our analytics in one place but also use dimensions across both, so we can for example identify the hits on our most popular pages split by user type.