Skip to content

Repository files navigation

🎯 Aston Clearing Tracker

Automated competitor intelligence for Aston University's Clearing 2026 cycle. Tracks entry requirements for every course Aston itself offers, across six competitor universities, and flags exactly what changed and when.

Aston Clearing Tracker

Tracked universities: Birmingham City University · University of Birmingham · University of Nottingham · Nottingham Trent University · University of Leicester · University of Sheffield

Results: Clearing Tracker 2026 — Google Sheet


▶️ Run it

One-off check right now: Go to the Actions tab → 🎯 Aston Clearing TrackerRun workflow.

Automatic tracking on a schedule: Go to the Actions tab → ⚙️ Configure AutomationRun workflow → choose start and an interval (e.g. every 1 hour) → it keeps running unattended until you come back and choose stop.

cron-job.org setup (the actual precise trigger): point it at POST /repos/KeyanEnayati/clearing-tracker/dispatches with event_type: hourly-check, scheduled as 0-4,30-34 * * * * — fires once a minute for the 5 minutes right after each :00/:30 mark, then stays quiet until the next one. Every interval this repo offers is a multiple of 30 minutes, so every possible boundary always falls on :00 or :30 — this catches it within ~1 minute instead of the ~5 minutes a flat "every 5 min, all hour" schedule allows, and it's actually fewer total requests/hour (10 vs. 12) since it's not firing during the stretches nothing could ever be due. GitHub's own schedule: trigger in track.yml is a redundant fallback in case cron-job.org itself has an outage — it doesn't need separate setup.

Reset for a fresh test run: Go to the Actions tab → 🗑️ Delete All Requirement ColumnsRun workflow → type DELETE in the confirm box. This wipes every historical requirement column on every tab — Award/Course/UCAS Code, and 2027/28 Requirements wherever that university has one, are kept — so the next run starts a clean first column — no manual column-deleting in Sheets needed.

If runs go missing: the 🛎️ Tracker Watchdog checks every 15 minutes whether a run is significantly overdue and emails you (via NOTIFY_EMAILS) if so, so a stall gets noticed within minutes instead of showing up later as a gap in the sheet. It's a safety net, not the fix — if you see repeated stalls, check that whatever's calling the repository_dispatch endpoint (e.g. cron-job.org) is actually firing on the interval you configured and not more often, since over-firing it can congest GitHub's runner queue and cause real runs to fail or get cancelled instead of cleanly skipping.

Refresh the 2027/28 Requirements column: go to the Actions tab → 📋 Backfill 2027/28 RequirementsRun workflow. Unlike every column to its right, this one (and Award/Course/UCAS Code before it) is fixed once set — not tracked over time. 2027/28 entry requirements aren't part of the live Clearing cycle this tracker otherwise watches, so track.yml's regular 30-minute runs never touch any of columns A–D; only the historical requirement columns from E onward update on a schedule. Run this workflow manually whenever you actually want the 2027/28 column refreshed (e.g. a new course shows up in Clearing, or a university corrects a published figure) — safe to re-run any time, since it only ever fills in what it can newly resolve rather than overwriting what's already there. Covers BCU, UoB, Nottingham, NTU, Leicester, Sheffield, and Coventry. Wolverhampton has no 2027/28 column at all (no confirmed data source exists — see the comment at the top of scripts/backfill-2027-28.js), rather than carrying a column that would only ever be blank.

Reading the sheet: a historical requirement cell is tinted light red when its value — including a blank cell, which just means "unchanged since the last real value in that row" — matches that course's 2027/28 figure. That's the "the clearing offer has caught up to what standard entry will require" signal, worth a second look before an offer's made.


📊 Live Status

Last run: Sat, 15 Aug 2026 00:00  ·  Changes detected: 0

University Courses tracked Changed this run Time
🟢 Birmingham City University 135 0 100s
🔴 University of Birmingham failed: zero courses survived filtering
🟢 University of Nottingham 137 0 1s
🟢 Nottingham Trent University 263 0 4s
🔴 University of Leicester failed: list page HTTP 403 (rate-limited)
🔴 University of Sheffield failed: zero courses survived filtering
🟢 University of Wolverhampton 74 0 30s
🟢 Coventry University 94 0 6s

How it works

Each run visits every university's clearing course listing, matches courses against Aston's own course list (so it only tracks courses Aston actually competes on), normalizes each entry requirement (grade-format requirements are canonicalized, e.g. "A*BB"; UCAS points-based requirements are kept as UCAS points, e.g. "112 UCAS points"), and writes one row per matched course into that university's tab in the Google Sheet. A new column is only added to a course's row when its requirement actually changes — unchanged cells stay blank, and changed rows are pinned to the top so drift is easy to spot at a glance.

About

Automated UK university clearing entry-requirement tracker

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages