Canyonland Technologies Inc.

Project 2 · Public workforce intelligence

Real public data. Stated rules. Every number traceable to its source.

Project 1 decodes a file we wrote ourselves, which proves technique and nothing else — a synthetic dataset cannot contradict you. This one runs the same lifecycle over 4.86 million payroll records the City of Chicago publishes, so you can re-issue our queries against the City's own API and either land on our numbers or catch us out.

Loading

Runs entirely in your browser against a cached snapshot. Nothing is uploaded, nothing is stored, and no language model is involved — the findings below are written prose whose numbers are computed from the data each time the page loads.

Loading the snapshot…

Source · before anything else

Where this came from, and what we did to it.

A dashboard that will not tell you its source is asking to be trusted rather than checked. This is the panel we would expect from anyone handing us a number.

Loading…

Stage 01 · Extract

Getting it out, and deciding what not to take.

The source is an API rather than a mainframe dataset, so the decoding problem of Project 1 disappears. A different one replaces it: the file contains more than we should publish, and the extract is where that gets decided.

Loading…

Stage 02 · Land

Landing it is not the same as trusting it.

Row counts and totals per period, checked before anything is charted. Two of the four findings on this page were caught here, and both would have produced a confident, wrong dashboard.

Loading…

Stage 03 · Model

Defining overtime, once, in the open.

There is no overtime column in this dataset. There are 127 pay elements and a judgement to make about which of them count. This is the stage where that judgement gets written down instead of being buried in a chart.

Loading…

Stage 04 · Build

The reports the model makes possible.

Aggregated by department, classification and time. Individual employees appear nowhere: the analysis needs to count people, not name them.

Loading…

Ask · across every stage

Six questions, answered with their working shown.

Each answer states the rule it depends on and the query that produced it. Where the honest answer is "it depends on how you define it", it says so and gives the range.

Loading…

If this is your problem

Your data is messier than this, and it is not public.

Everything above was done against a source we have no relationship with, no documentation for, and no ability to ask questions about. Inside an organisation we can ask — which is how the four findings on this page become four conversations instead of four guesses.

Tell us what's stuck — the first consultation is free, or book a time directly.