Standings
| # | Predictor | Points | Correct | Predictions | Recent |
|---|---|---|---|---|---|
|
|
|||||
No scores yet this season. | |||||
| Fixture | Official |
|
|---|---|---|
|
|
| Role | Official |
|
|---|---|---|
Home
No games to tip in the next two weeks.
Deadline:
| Time | Match | Tip |
|---|---|---|
| Rescheduled |
$refs.tipInput.focus())"
@keydown.backspace.prevent="query=''; open=true; startEditTip(f.fixture_id,'referee'); $nextTick(() => $refs.tipInput.focus())"
@keydown.delete.prevent="query=''; open=true; startEditTip(f.fixture_id,'referee'); $nextTick(() => $refs.tipInput.focus())">
⚠
+ Add ""
|
|
|
There's intel on this official:
|
||
| hedge → |
$refs.tipInput.focus())"
@keydown.backspace.prevent="query=''; open=true; startEditTip(f.fixture_id,'referee_picket'); $nextTick(() => $refs.tipInput.focus())"
@keydown.delete.prevent="query=''; open=true; startEditTip(f.fixture_id,'referee_picket'); $nextTick(() => $refs.tipInput.focus())">
|
|
Appointments have been released, so tips for this game are locked.
No intel for this match week yet.
Insights for this match week
Facts to read alongside your own judgement. They are not predictions.
Everyone's picks and points for the match week.
| Fixture | Official | |
|---|---|---|
|
/
-
|
||
| Week total | ||
No results yet for this match week.
Picks stay hidden until the deadline.
| Fixture | |
|---|---|
| Games tipped |
All Predictions
| Time | Match | My tip |
|---|---|---|
| Rescheduled |
Official:
· Your tip:
locked
|
|
| Rescheduled |
$refs.tipInput.focus())"
@keydown.backspace.prevent="query=''; open=true; startEditTip(f.id,'referee'); $nextTick(() => $refs.tipInput.focus())"
@keydown.delete.prevent="query=''; open=true; startEditTip(f.id,'referee'); $nextTick(() => $refs.tipInput.focus())">
⚠
+ Add ""
|
|
|
There's intel on this official:
|
||
| hedge → |
$refs.tipInput.focus())"
@keydown.backspace.prevent="query=''; open=true; startEditTip(f.id,'referee_picket'); $nextTick(() => $refs.tipInput.focus())"
@keydown.delete.prevent="query=''; open=true; startEditTip(f.id,'referee_picket'); $nextTick(() => $refs.tipInput.focus())">
|
|
Appointments have been released, so tips for this game are locked.
| Fixture | Official | |
|---|---|---|
| Still open |
/
-
|
|
| Week total | ||
Aggregate totals (individual picks not recorded)
No data.
Report an issue
Report something broken or confusing, make a suggestion, or dob on a fellow predictor. Members are duty bound to dob on anything tantamount to an offence under the Laws of the Game. It goes straight to the CRAP administration.
Archive
| # | Predictor | Points | Correct | Predictions |
|---|---|---|---|---|
No scores recorded for this season. | ||||
Shop
One size, adjustable velcro closure. No postage: delivery is arranged in person.
Nothing in your cart yet.
Placing an order emails the CRAP administration, who will contact you to arrange payment and delivery.
Card payments are made on Stripe's secure page (card, Apple Pay or Google Pay).
Delivery is arranged in person.
| Order | Items | Total | Status |
|---|---|---|---|
Add CRAP to your Home Screen
Put the CRAP icon on your phone, next to your other apps. It opens full screen with one tap and keeps you signed in.
Tap the button, then 'Install' when your phone asks.
Follow these steps:
You will see the CRAP icon appear on your Home Screen. Open it from there from now on.
You are on a computer. This works on your phone: open craprefs.com there and follow the steps.
Insights
Appointment and referee statistics. The Model tab estimates each referee's chance of a game; the other tabs are facts only.
Loading...
No games are open for tips right now.
The model has not been run for this match week yet.
- The chance each referee gets each game, from the model (history only). It is a guide, not a promise: the model is right about one game in eight to ten.
- Play with it: mark referees unavailable, or lock a referee to a game, and every game's chances are recalculated and rescaled to 100%.
- A recalculation only removes or fixes referees. It does not recompute the other factors (such as recent workload) for the new situation.
These chances were worked out for a different set of games from the ones open for tips now, so treat them as out of date until the model is refreshed.
| Referee | Chance | Points if right | Expected points per tip |
|---|---|---|---|
| Likeliest |
- One referee per game, nobody used twice, chosen to maximise total expected points (chance times points).
- It changes as you mark referees unavailable or lock them in.
| Game | Referee | Chance | Points | Expected points |
|---|---|---|---|---|
| Total expected points for the week | ||||
Rank the referee list in the tip boxes on Home and All Predictions by the model's chance, with a percentage beside each name. Typing a name still searches the whole list. Uses the unavailable referees and locks you set above. Saved to your account, so it follows you to any device.
'Most likely' ranks by each referee's chance of getting that game. 'Counting points' ranks by that chance multiplied by what a correct tip scores (full-time 1, part-time 2, others 3), so a part-time referee can rank above a slightly likelier full-time one. 'Off' keeps the list alphabetical.
| Type of game (ladder at the time) | Games | Average referee caps | Under 30 caps | 100 or more caps |
|---|---|---|---|---|
| Ground | Games | Average referee caps | Under 30 caps | 100 or more caps |
|---|---|---|---|---|
| Kickoff day | Games | Average referee caps | Under 30 caps | 100 or more caps |
|---|---|---|---|---|
| Season | Grand final | Referee | Caps | Earlier final that season? |
|---|---|---|---|---|
| Season | Game | Referee | Caps | Caps rank in that week |
|---|---|---|---|---|
| Kind of information | How much it explains | What it measures |
|---|---|---|
Windows: last five seasons (2021/22 to 2025/26); under Moss (2024/25 to now, includes this season); this season so far (small sample). By luck: a referee picked at random from those available.
| Games | |||
| Right referee was its first choice | |||
| Right referee was in its top three | |||
| By luck, first choice |
| Signal | Last five seasons | Under Moss | This season |
|---|---|---|---|
| Kind of report | 2025/26 | 2026/27 so far |
|---|---|---|
Sources: 2025/26 league sheet notes; 2026/27 Intel board. Each report was checked against the appointment that came out.
- Value is the share of games a referee was appointed to, times the points a correct tip on them scores this season. Updated from the appointments each time the page loads.
- Only referees on this season's panel. Regular-season games only. Past appointments are not a forecast.
| Referee | Games | Share of games | Points | Value per tip |
|---|---|---|---|---|
- Questions this answers: does leaning on part-time referees pay, and what happens if you avoid full-time referees altogether?
- Figures are history, worked out from the database each time the page loads. They describe what happened, not what will.
| Kind of referee tipped | Share of tips | Tips right | Points per tip |
|---|---|---|---|
| Group | Members | Tips on part-time | Tips on full-time | Tips right | Points per tip |
|---|---|---|---|---|---|
| Mix | Five seasons: points per match week | No points in the week | Under Moss: points per match week | No points in the week |
|---|---|---|---|---|
Picked by the model's chances using 2026/27 points for every season, so the choice is made without knowing the result. Differences between mixes of a few hundredths of a point per match week are noise.
- Points for a correct tip: full-time referee 1, part-time 2, other 3 (2026/27).
- A referee can be tipped once per match week.
- Backtests use the 2026/27 points for every season, the statistical model (history only, no intel) and the same windows as above.
| Window | Kind of referee | Share of games | Referees available per game | Chance for one referee | Points | Expected points per tip |
|---|---|---|---|---|---|---|
| Tipping rule | Last five seasons | Under Moss | This season |
|---|---|---|---|
| Random referee from those available | |||
This season so far is 17 games, so one or two correct tips move every figure. Each rule picks one referee per game from the model's chances (history only).
| Games tested | Games | Right referee was its first choice | Right referee in its top three | By luck, first choice |
|---|---|---|---|---|
| about 5.5% |
- Statistics from past appointments, referee records and public information, updated as appointments come out.
- The Model tab gives estimated chances from history, as a guide only; everything else is facts. No one's tips are shown.
- Caps: games as referee, as reported by RefReflect. Under 30 caps counts as low-capped.
- Points: what a correct tip on that referee scores this season (full-time 1, part-time 2, others 3).
- Something looks wrong: use 'Report an issue'.
Export
A copy of your own tips, read from the database at the moment you ask and sent to the email address on your account. Nobody else sees it. You can ask for about 5 copies an hour.
The games still open for tips, with 'No tip saved' where you have not tipped yet.
Every tip you have saved this season, with the official referee and your points once they are known.
About
The Laws we play by, current and previous versions. Open one and use the button at the top to show the tracked changes.
Documents coming soon.
Since time immemorial (circa five years ago), referees in this country have sought to ameliorate the impenetrable boredom of life through predicting what appointments they may receive in a given match week. There are few less respectable pursuits in this world, however they took what few pleasures were available.
In more recent memory, disparate groups emerged: one, large in size, but containing largely primitive specimens (largely Queenslanders), and the other group, small but calculated (also demure, debonaire and sophisticated). One compares this as allegorical to the plight of the neanderthal and the human.
For some time, the two groups existed together in harmony but that all changed when the fire nation (the Queenslanders) attacked. The serving of a Bondi Junction in 2025 represented the height of tensions between the two groups. There were threats of denial of Dagwood Dogs, amongst other punitive actions, and it seemed peace would be never be seen again.
Despite their smaller size, the oppressed NSW group managed to recruit a few defector whistle-blowers in 2025. Simple changes, far beyond the minds of their lissencephalic counterparts, such as tiered points for different panels, bonus points and picketing capacity, allowed the NSW group to garner further support. The development of this state of the art system turned the tide in the war.
Eventually, the Queenslanders could no longer resist the onslaught and the smaller society annexed and acquired the larger on the 6th of October 2026.
Thanks must be extended to the man that brought the surrender, Adam Kersey, without the actions of whom, many more lives may have been lost.
And thus formed the Coalition of Referee Appointment Predictors.
This. Is. CRAP.
Documents from the founding years, kept for the record. They open as PDFs in a new tab.
The coalition acknowledges the traditional owners of the land on which its members work.
Intel board
Per , you must provide any known intelligence relating to appointments.
How intel emails work
- Intel about one game. Everyone who has tipped that game is emailed straight away, with their own pick, as long as the game has not been appointed or played.
- Intel about an official. Anyone who tipped that official (a hedge counts) in the match week, or on dates the intel covers, is emailed straight away that their tip may be affected. This needs the official named and a match week or dates filled in on the notice.
- The scheduled reminder. It goes out once per match week, a set number of hours before the deadline (the admins choose the number under Admin > Email; with a 4:00 pm Monday deadline, 4 hours means 12:00 noon Sydney time). Everyone gets at most ONE email. Members who have not tipped every game get the tip reminder with the new intel listed in it; members who have tipped everything get a short intel update if something new was posted since their last saved tip. Intel you were already emailed about when it was posted (it named an official or game you tipped) is not repeated, and general notices from the last 2 weeks are included.
- After the scheduled reminder. Until the deadline, any new intel that applies to the match week is emailed straight away to everyone, so nobody misses it. Intel with no match week, game or dates counts as being for the next match week to close. If an admin later edits a notice to give it a match week or dates, it is emailed then, but only for match weeks it did not already cover, so fixing a typo never emails anyone again.
- Earlier in the week. Intel posted before the scheduled reminder is not emailed to everyone on its own. It is on this board and on the Home tab, and it is included in the scheduled reminder email.
- Nobody gets two emails about the same notice, and the person who posts it is not emailed. If the email meant for someone who tipped an affected official or game fails to send, that person gets the general update instead.
- How to tell them apart. The subject says which it is. 'Intel on an official you tipped' and 'Intel on a game you tipped' are the targeted ones. 'New intel posted for Match Week 3' is the general update to everyone else. 'Tips due in 4 hours' is the scheduled reminder (with any new intel listed in it) and 'new intel for Match Week 3 since you tipped' is the same reminder for members who have already tipped everything. Each email ends with a grey line saying why you got it. Admins can see every email sent under Admin > Activity > Emails.
- Comments. When someone comments on a notice, everyone involved in it is emailed: whoever posted it, anyone who edited it, and anyone who has already commented. The admins are also emailed about every comment (it goes to the admin inbox).
- Archiving. Intel is archived on its own once the match week, game or dates it covers are over. Intel with no match week, game or end date (for example leave with no return date) stays until an admin archives it. Archived intel is not deleted, and an admin can unarchive it.
Tip: to reach the right people, name the official, and pick the game or the match week, or give the dates.
Details (optional)
Details (optional)
No intel posted yet.
Admin
| Name | Actions | |
|---|---|---|
|
|
These names were submitted during tip entry or appointment import. Confirm the correct tier to unlock full scoring.
| Name | Submitted by | Context | This is a new official | This is a misspelling / duplicate of... |
|---|---|---|---|---|
|
Not currently used in any prediction
|
|
|
Reallocating moves every prediction/appointment using this name onto the official you pick, deactivates the misspelled entry, and emails anyone whose prediction was affected.
Members have commented on intel notices. Visit the Intel board to read and respond.
Inbox is clear.
panel as it was scored. Read only: past seasons are not changed.
| Name | Role | Tier |
|---|---|---|
No referees recorded for this season.
| Name | Tier | |
|---|---|---|
| - | ||
|
|
||
| Name | Role | |
|---|---|---|
Everyone is on the panel.
The creator of this application is a little out of their depth and really cannot guarantee high level security. They recommend using a novel password for this site.
| Display name | First | Last | Mobile | Role | Delegated access | ||
|---|---|---|---|---|---|---|---|
|
|
|
| Created | Expires | Used by | Status | |
|---|---|---|---|---|
Not in the referee list yet
Tick the ones to add. Referees, 4th officials and VARs go on this season's panel as referees, assistants as ARs, both as Other (not full-time or part-time); people named only as assessor, VAR coach and so on are kept off the panel and out of the tip boxes. Change the choice here if it is wrong.
Paste the appointments table straight from RefReflect (select the rows, copy, paste here), or plain text with a fixture line (e.g. SFC v MCY) followed by role lines (Referee: Kersey, Adam). Press Parse and fill table: the names go straight into the boxes below, and anything not recognised is listed. Nothing is saved until you click Save changes.
| Match | ||
|---|---|---|
|
|
What time were the appointments released (Sydney time)? Any tip saved after that time is voided and the match week is re-scored. Tips an admin entered for a member are not voided.
Now: .
That time is after the match week deadline, so it would only void tips saved after the deadline.
No tips were saved after that time, so nothing is cut off.
will be voided:
- , , last saved
A cut-off is saved for this match week ().
Inside the 24 hour grace period (Sub-law 6.2.3) the change is honoured: the appointment is changed and the game is re-scored. After it, the published appointment stands and scoring does not change. Either way a flag with the details shows beside the official.
A match week normally closes at 4:00 pm Sydney time on the Monday of the week before its first game (so appointments are out when it closes). This lists any match week whose deadline is different.
| Match week | First game | Deadline now | Normal deadline | |
|---|---|---|---|---|
| Season | Status | |
|---|---|---|
| Active |
|
Each part of the series is a match week, added after the season's last one. Games are created as 'TBC v TBC'; rename them with Edit once the match-ups are known. Leave a deadline blank to use the usual one for the first game (4:00 pm Sydney time on the Monday of the week before). The finals panel has no kickoff; leave its deadline blank until Football Australia announce when the panel is released, then edit it here.
| Match week | Games | First kickoff (Sydney) | Deadline (Sydney) | |
|---|---|---|---|---|
| panel |
| Home | Away | Kickoff (Syd) | Move to match week | |
|---|---|---|---|---|
|
|
||||
|
|
||||
Use this once at the start of each season to load all match weeks and fixtures in bulk. Weekly referee appointments are entered via the Appointments tab in Admin.
Required columns: round, home, away (round is the match week number) ·
Optional: kickoff, referee
Kickoff format: DD/MM/YYYY HH:MM (Sydney time) or YYYY-MM-DD HH:MM (UTC).
Existing fixtures are updated, not duplicated. Unknown referees generate a warning.
Imported: match weeks, fixtures, appointments.
Download predictions and scores for the current season as CSV (Google Sheets compatible). Only games whose referee has been entered are included.
Download CSVEvery referee tip with the referee on record and its points, one row per tip, for games whose referee has been entered (open tips are never included). Save the files into docs/data/tips/ in the repository and the analysis workbook picks them up. Download the current season, and any other season you want kept.
Download tips and scores (current season)Every version of every tip is kept, with the time it was saved. This shows who changed their tip on games that have since been appointed, and whether the change was from the right official to a wrong one or the other way round. Picks of games still to be appointed are never shown here.
No tip history yet for appointed games.
| Member | Tips logged | Changed | Right to wrong | Wrong to right |
|---|---|---|---|---|
- , : to ()
A full database backup is emailed to every admin automatically every week. Use this to send one right now, e.g. to confirm it's working.
Sends a test notice to every admin account's email address and shows whether it was accepted, and the reason if not. Use this if new sign-ups, issue reports or backups are not arriving.
Sends three sample emails with made-up data (the tip reminder, a zero-points results email and a lowest-score results email) to your own address only, so you can see the GIFs as members will.
The automatic tip reminder goes out this many hours before each match week's deadline, so it means the same thing wherever members live and follows the deadline if it moves. For example, 7 hours before a 4:00 pm Sydney deadline is 9:00 am Sydney time. It goes out once per match week.
Customise the commentary in score and reminder emails. Changes take effect on the next email send.
Only sends if a match week's deadline falls within the next 7 days, so it won't fire during a bye week or the off-season even if clicked.
Sends a one-off email to the predictors you pick below.
Opens each email with this line. Put {name} where each person's first name should go, or leave it out for the same line to everyone (for example 'Hi all,').
Leave blank to skip the greeting line entirely.
Each new order also arrives by email. Contact the buyer to arrange payment, then mark the order paid, and delivered once it has been handed over.
No orders yet.
| Order | Date | Buyer | Items | Total | Payment | Status |
|---|---|---|---|---|---|---|
Kept for the appointment statistics. Only admins see this. The ladder is saved automatically once every game of a match week has a result.
Merged table: in the appointments and results spreadsheet, open the Games sheet, select everything including the header row, copy and paste it here. It brings in the games, officials, caps, assessors, scores and result notes in one go (scores are added only where a game has none). RefReflect: on RefReflect open A-League Men, Historical, choose the dates, show all entries, then select the whole table and paste it here (the columns must stay tab separated). The Current Season pages (Upcoming and Past, no Season column) can be pasted too, both tables together; the season is worked out from the dates. Each earlier season becomes a history-only season with its games (date only) and referee, AR1, AR2, 4th, VAR and AVAR. Members do not see these seasons. The current season and any season with tips are skipped. Safe to run again.
| Season | Games | Dates | Status | |
|---|---|---|---|---|
Officials not in the referee list yet: (they are added as inactive, hidden from tip boxes and from the referee list).
Names that look like an existing official (): not merged, check them
Finals numbered as rounds in the source, stored as finals ()
Dates corrected because day and month were swapped in the source ()
Games dated outside their season (kept in the season shown in the table)
Rows that could not be read ()
One game per line, home team first: 'Sydney FC 2-1 Western Sydney Wanderers FC' or 'SFC 2-1 WSW'. If a pairing was played more than once, start the line with the date (2025-10-18 or 18/10/2025). Check first; nothing is saved until you press Save.
| - | Saved |
Factual summaries with a source link. Admin only.
Every email the system sends, who it went to and whether the email service accepted it, newest first. Anything that could reveal a member's tips (intel emails about an official or game they tipped, and prediction corrections) is shown under a generic label, so this list cannot be used to work out anyone's picks. 'Sent' means the email service accepted it; the Resend dashboard shows whether it was then delivered.
The email log table does not exist yet. Run the migration migrate-email-log.sql (GitHub > Actions > Run migration).
| Time | Kind | Subject | To | Result |
|---|---|---|---|---|
Every create/update/delete across the app, newest first.
| Time | User | Action | IP | Status | Changes |
|---|---|---|---|---|---|