Week 6: Project Measurement Dashboard User Interface Tour

Last week I discussed the database that powers my project measurement dashboard but since I was still working on the frontend style, I didn’t actually show what it looks like. This week I’m ready to give a tour!

A Guided Tour

Let’s pretend we’re the owners of The Cat Ranch and we want to forecast our profit for the next three months.

Create Measurements

First we need to make a project for The Cat Ranch. Projects are just groups of measurements.

Then let’s add a measurement that represents our daily cat population of 100 cats. By using the repeated measurement type we can set our project to have a measurement of 100 cats every day between 8/8/2022 and 1/1/2023.

We can also add a fixed value measurement of the daily cost to feed our cats.

Let’s pretend The Cat Ranch has anywhere between 15 and 100 visitors a day. Our peak busy season is September and we get close to 100 visitors a day (those fall colors really make the cats pop). To represent this we’ll create a scaled measurement. The distribution tool allows us to draw a scaling profile of the measurement. This will cause the database to scale the value between 0-100% of the value according to the profile we draw.

Ok now here’s where it really starts to get good. To create a measurement of our cost we’ll make a measurement using the related measurement type. A related measurement is a measurement where the value is the result of a computed expression that can depend on other measurements in the database. So we’ll create a related measurement and use the picker to select the number of cats at The Cat Ranch and multiply it by the cost of feeding each cat. The expression is a special syntax string the database understands and multiplication, division, addition, subtraction, and parenthesis are supported.

The related parameters can also include lag- for example let us say 25% of all visitors sign up for a membership after we email them a link 30 days after their visit. We’ll add a lag by 30 days selection to the daily visitors measurement and multiply it by .25.

I won’t show it here but using these concepts I created a ticket cost of $5 and a revenue measurement by multiplying the ticket cost by the number of visitors. I then created a profit measurement which is revenue minus the cost measurement.


Now that we defined measurements (and the database behind the scenes has been calculating results as we entered measurements) we can create visualizations to view the state of the project. First a visualization has to be intialized:

Once we have a visualization started we can add what measurements we want to display.

Here is a chart of our three populations: cats, visitors and members. The optional date range picker in each measurement allows us to only view data for a set date range, but this case, we’re just viewing all data available. There are some basic statistics about each dataset below the plot and a button to export the data to excel format.

Visualizations can also aggregate data. For example, by setting the “monthly” option in each dataset and switching to a bar chart, we can go from plot of daily profit to a monthly summary of profit.

Pie chart visualizations are also provided. Pie charts compare the sum or average of the measurements selected.

More Cat food-for-thought

Hopefully you understand the basic workflow at this point. Not only can we create measurements and measurements that depend on measurements, those measurements can depend on other dependent measurements! Measurements can have a sense of time, or just be fixed quantities. Visualizations can display time in a 1-to-1 manner, or they can summarize across time. And since everything is linked, updates to the measurements are automatically updated and reflected in the visualizations!