🦆 community notices

🎲 a game about Quality for data ✨

Author
Affiliation

✒️ Joe Leach

🏛️ LB Tower Hamlets

In this game we’ll begin to forge a data contract; a brilliant way of achieving consensus in data management (see Andrew Jones 2024; Joe Leach 2024).

📜 A data contract is “an api for data” and we’re going to craft one for the sleepy village of Lower Hamlets so their community notice board features posts that are high quality and friction free!

1 🔰 setup

You are a member of the Lower Hamlets Village Green Preservation Society. the society’s mission is to promote harmony and mutual aid with the help of the community notice board. the society sets information standards upfront, helping prevent the kind of muddles that might lead to squabbles later.

Preserving the old ways from being abused.
Protecting the new ways for me and for you.
What more can we do?
We are the Village Green Preservation Society (see The Kinks 1968).

1.1 ✨ Quality

🤭 Sometimes the villagers make mistakes in the notices, and sometimes mistakes are made when the notices are recorded to the official book of records! your role is to set expectations of a reliable notice, so you can catch mistakes before they are published, avoiding the potential for confusion and disharmony in the village!

💡 Think about what a good clear noticeboard dataset looks like; use this to check incoming notices against the “big six” dimensions of quality expectations (see Askham et al. 2013)1.

Completeness
missing values
Uniqueness
duplications
Timeliness
unpunctuality
Validity
extremities
Accuracy
imprecisions
Consistency
inconsistencies

CUTVAC a handy mnemonic for remembering the dama dimensions of quality showing a picture of some scissors and a vacuum cleaner

2 🏁 let’s go

Assemble the society to assess the data schema; everyone has a part to play.

                    -- schema produced with sqlite
  [DATE] TEXT,      -- 1. date of notice [ISO 8601]
  [NAME] TEXT,      -- 2. name of sender [identifier]
  [UPRN] INTEGER,   -- 3. machine readable location [identifier]
  [ADDRESS] TEXT,   -- 4. human readable location
  [D.O.B] TEXT,     -- 5. date of birth [identifier]
  [CATEGORY] TEXT,  -- 6. category (service offered, service required, item for sale, general announcement)
  [NOTICE] TEXT     -- 7. text of notice

…and here is how an example notice might arrive:

[
  {
    "date": "2025-01-30",
    "name": "Worzel Gummidge",
    "UPRN": "6733852",
    "ADDRESS": "Worzel's Wheatfield, Lower Hamlets, LH1 1WW",
    "D.O.B": "2001-01-01",
    "category": ["Service offered"],
    "notice": "To all villagers of Lower Hamlets, I respectfully offer scarecrow services so you can keep your prize pumpkins, your tasty turnips, and your beautiful blackcurrants safe from our feathered friends."
  }
]

3 🎲 gameplay

to play you roll two dice, one with seven sides (D7) and one with six (D6); the value of this roll determines the field and dimension you play respectively.

along with your fellow villagers, decide how best to set expectations of the six quality dimensions on the seven datafields.

flowchart LR

    D7{🎲 D7}
    D6Q{🎲 D6}
    p{play}

    subgraph field
    dda[date]
    dna[name]
    dup[uprn]
    dad[address]
    ddo[d.o.b]
    dcl[category]
    dno[notice]
    end

    D7 .->|1| dda
    D7 .->|2| dna
    D7 .->|3| dup
    D7 .->|4| dad
    D7 .->|5| ddo
    D7 .->|6| dcl
    D7 .->|7| dno

    dda .-> D6Q
    dna .-> D6Q
    dup .-> D6Q
    dad .-> D6Q
    ddo .-> D6Q
    dcl .-> D6Q
    dno .-> D6Q

    subgraph "quality dimension"
    qc[completeness]
    qu[uniqueness]
    qt[timeliness]
    qv[validity]
    qa[accuracy]
    qco[consistency]
    end

    D6Q .->|1| qc
    D6Q .->|2| qu
    D6Q .->|3| qt
    D6Q .->|4| qv
    D6Q .->|5| qa
    D6Q .->|6| qco

    qc .-> p
    qu .-> p
    qt .-> p
    qv .-> p
    qa .-> p
    qco .-> p

4 🃏 make your move

🎲 roll the dice!
D7
-
-
D6
-
-

jot down your solutions below. if you think a field doesn’t need quality control please write NA2

4.1 date

4.2 name

4.3 uprn

4.4 address

4.5 dob

4.6 category

4.7 notice

Caution

your entries on this page will be saved in your browser and available on reload.

4.8 🌊 rinse and repeat

🌊 go again!

5 🧪 associated schema

any unfilled form fields will be replaced with boilerplate content

view downloaded schema

References

Andrew Jones. 2024. Data Contracts 101 — Andrew-Jones.com.” https://andrew-jones.com/data-contracts-101/.
Askham, Nicola, Denise Cook, Martin Doyle, Helen Fereday, Mike Gibson, Ulrich Landbeck, Rob Lee, Chris Maynard, Gary Palmer, and Julian Schwarzenbach. 2013. “The Six Primary Dimensions for Data Quality Assessment.”
Joe Leach. 2024. Data Contracts — joelbth.codeberg.page/data-contracts.” https://joelbth.codeberg.page/data-contracts/.
The Kinks. 1968. The Village Green Preservation Society.” https://en.wikipedia.org/wiki/The_Village_Green_Preservation_Society.

Footnotes

  1. download a copy of the original dama dimensions pdf↩︎

  2. A pdf version of the game is also available: https://joelbth.codeberg.page/community-notices/index.pdf↩︎

Reuse

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License (View License)