Skip to content
SA Gaming Machine Statistics

Guided tour

The site in three short walkthroughs

Each video follows one workflow from start to finish, with the step shown on screen, as captions and in the list beside it. A Playwright script recorded them from this site and checked every step on the way (the published figures, the interval it quotes, the drafted query passing the allow-list), so a broken feature would fail the recording rather than appear in it.

Walkthrough 1 of 3 · /statewide

A decade of pokies revenue

Statewide net gambling revenue from FY 2009/10 to FY 2024/25: the missing FY 2014/15 release and the 2020 COVID-19 closures marked and explained, nominal against real dollars, then the interrupted time series that estimates the break at reopening with its interval.

Setup: No input: the published CBS figures. Real dollars use the ABS Adelaide CPI (FY 2024/25 dollars); the interrupted time series is the primary specification (116 months, Newey–West intervals).Open the MP4

Steps (transcript)

  1. 1Statewide: net gambling revenue for every financial year, FY 2009/10 to FY 2024/25
  2. 2FY 2014/15 has no statewide release: the hollow marker is the total from the LGA release
  3. 3FY 2019/20 is shaded: gaming rooms closed for COVID-19 from late March 2020
  4. 4By month: NGR falls to almost nothing from April to June 2020, then the series resumes
  5. 5Real dollars: deflated by the Adelaide CPI to FY 2024/25 dollars, nominal dashed alongside
  6. 6Both breaks are explained beside the chart rather than smoothed over
  7. 7Analysis: the interrupted time series puts the jump at reopening at +$9.3m a month, 95% CI +$5.8m to +$12.8m
  8. 8Paired months compare like-for-like years, with t and bootstrap intervals and effect sizes
Try it yourself

Walkthrough 2 of 3 · /councils

Where the machines are

The council map and ranking by financial year, combined council groups kept whole, one area's history, then the funnel plot that asks which areas really differ from the state rate once their size is allowed for.

Setup: No input: the published CBS LGA releases, FY 2013/14 to FY 2024/25, on ABS 2024 council boundaries. Funnel limits use the pooled year-to-year scale; intervals are 95%.Open the MP4

Steps (transcript)

  1. 1Councils: every area CBS published, on a map and in a ranked table
  2. 2Switch the measure to gaming machines in each council area
  3. 3Drag the year slider: the map and the ranking follow each year from FY 2013/14
  4. 4Small councils stay in their combined groups, outlined as one area and never split
  5. 5Select an area: it is highlighted on the map, with its history across the years
  6. 6Analysis: a funnel plot of NGR per machine against the state rate, by number of machines
  7. 7Change the year, then use limits that also allow for the spread between councils
  8. 8Each area's typical ratio to the state rate, with a 95% interval across its years
Try it yourself

Walkthrough 3 of 3 · /ask

Ask the data

Read-only SQL over the eight tidy tables in the browser, then the optional bring-your-own-key text-to-SQL with the generated query shown before it runs (a mocked reply; no real key is used), the AI audit log, and the data-quality checks behind every figure.

Setup: SQL runs on sql.js in the browser. The AI steps use a placeholder key, and every request to the provider is intercepted and answered by a labelled mock.Open the MP4

Mocked AI response for illustration.

Steps 4 to 7 use a placeholder key. Requests to the provider are intercepted in the browser and answered by a mock, so no model was called: the reply shows how the feature labels, shows, runs and logs a drafted query, not what a real model would write.

Steps (transcript)

  1. 1Ask the data: the eight tidy tables load into a read-only SQLite database in your browser
  2. 2No key is needed for SQL: run the starter query over the annual figures
  3. 3AI settings: bring your own Anthropic or OpenAI key; it stays in this browser
  4. 4For this demo: a placeholder key, never a real one; calls to the provider are interceptedMocked AI response for illustration
  5. 5Pick an example question and draft SQL: the reply is labelled AI-generatedMocked AI response for illustration
  6. 6Check the drafted SQL, then run it yourself: the result is labelled AI-assistedMocked AI response for illustration
  7. 7The AI log records the call, the model and your decision, with JSON and CSV exportMocked AI response for illustration
  8. 8Forget key: the placeholder is removed from this browser
  9. 9Data quality: 4,406 of 4,409 figures found in the CBS PDFs, with the exceptions listed
  10. 10The Power BI totals summed monthly snapshots; the site uses means and June values instead
Try it yourself

Screenshots

Every key feature at a glance

Captured by the same script, in light mode at 1440 × 900 (the landing page also in dark mode) and on a 390 px phone. Select one to enlarge it; the arrow keys step through the set.

Desktop · 1440 × 900

Mobile · 390 × 844

How these were made

pnpm showcase runs web/e2e/showcase.spec.ts in the repository on the system Chrome: it plays each journey at a human pace with an on-screen caption and cursor, asserts what it shows, and records it at 1280 × 800. ffmpeg then encodes the H.264 videos on this page and the GIFs in the README. The captions and the step lists here are the same text as the on-screen steps.

No real API key is used anywhere in these recordings. Where the AI feature appears, the key is a placeholder, every request to the provider is intercepted in the browser, and the reply is a labelled mock whose explanation starts with “Mocked response for illustration.”