C
Crown NBO Console
Enter the password to continue
{{ screenEyebrow }} {{ screenTitle }}
Melbourne Sydney Perth
BACKTEST DATA · WEEK 10 BUILD
Program value waterfall theo at risk → saved → costs → net EBITDA
{{ vtWaterfall }}
projected (hatched) backtested (solid) net protected EBITDA Finance-auditable by construction
Cumulative lift · treated vs stratified holdout net revenue / guest · rolling 12 wk
{{ vtLift }}
Response latency: sustained change is judged quarterly, not next-day. Vertical markers = campaign waves.
Top considerations this period auto-generated · each bullet links to its evidence
{{ n.n }} {{ n.text }} Drill to evidence →
Value claim sign-off
{{ c.claim }}
{{ c.owner }} · {{ c.date }}
Pilot decision ask
{{ pilotText }}
{{ pilotOwner }} · {{ pilotDate }}
Open pilot decision pack
sorted by expected incremental value (uplift-ranked)
No rows match these filters.
Awaiting weekly scoring run — next batch: Mon 05:00.
Sleeping dogs (8–12% of the cohort) never enter this queue — they are visible only in the Guardrails Console with a suppression reason. No bulk actioning: per-guest craft workflow is the compliance posture.
{{ selId }} {{ selMeta }}
Why now — each sentence is clickable, revealing the underlying feature
{{ w.text }}
{{ whySpark }}
Feature: {{ w.feature }}
Governed feature mart · weekly batch · SHAP-traceable
What to do
{{ selAction }}
Anchoring: {{ selAnchor }}
What to avoid
{{ selAvoid }}
Negative guidance from the models — the sleeping-dog signal expressed at channel level.
{{ selSparkTitle }}
{{ briefP }}
Visit cadence
{{ briefCadence }}
Top drivers · SHAP, signed
{{ d.label }}
{{ d.w }}
Assign to host Log outcome View full 360 Suppress… Every click is recorded in the append-only audit trail · “Assign” is SIMULATED until pilot
Guest
Theo trajectory · 24 months · changepoints + event context
{{ theoChart }}
Dashed verticals = structural changepoints (Dec tax change, net-ADT restructure). Shaded = AFL / school holidays / Crown Live — a footy spike is never misread as organic growth.
Game mix
{{ mixDonut }}
EGM {{ mixEgm }}% Tables {{ mixTables }}% Digital {{ mixDigital }}%
Visit day × daypart
rows = daypart (AM→late) · cols = Mon→Sun
Cross-property footprint
Hotel nights · 90d{{ fpNights }}
ADR{{ fpAdr }}
Lodger flag
F&B (category level){{ fpFnb }}
Entertainment · 12mo{{ fpEnt }}
{{ fpCue }}
Offer history ledger · P&L after tax — select a row for its waterfall
OfferTypeCostStateNet contrib
No offer history in the POC window for this guest.
{{ o.name }}{{ o.type }}{{ o.cost }}{{ o.state }}{{ o.net }}
{{ ledgerWf }}
Elasticity & context · modeled reinvestment response
{{ elastChart }}
{{ bundleRec }}
A A$1,000/day guest in Brighton (30 km) needs a A$10 bundle or a meal; the same value in Ballarat (120 km) needs a room — they pass thirty pokie venues on the way in.
{{ r.name }}
{{ r.detail }}
Adopt Edit Dismiss
RFM × ADT explorer
0–7d8–14d15–30d31–60d60d+
{{ row.label }}
{{ c.n }} A${{ c.theo }}k
cell color = total theo · label = guest count · recency (cols) × frequency (rows). Click a cell to inspect the cohort.
{{ rfmCohortTitle }}
{{ rfmCohortText }}
Propose cohort for queue (RG screen applies)
Headroom scatter · predicted worth vs observed play
{{ headScatter }}
Segment B — above the line 6+ weeks rest of cohort
Lasso above-line cloud → queue
Premium definition workspace · tier-based vs ADT-based
Tier-based (today)
Gold tier and above, offers set by tier averages against ADT.
Revenue coverage · 71%
2,150 guests
ADT-based (proposed)
Premium at ADT 500+, plus the A$300–500 growth belt watched separately.
Revenue coverage · 84%
1,680 guests
{{ o.name }}
{{ o.face }} {{ o.eff }}
{{ o.meta }}
{{ c }}
Review with panel →
Constraint engine · {{ ceName }}
Face value{{ ceFace }}
Tax treatment{{ ceTax }}
Post-tax effective cost{{ ceEff }}
Eligibility{{ ceElig }}
Validity · frequency{{ ceValid }}
The engine prices every candidate offer post-tax — Melbourne slots breached into the 61.67% bracket in December, and free play itself is taxable there (the double whammy). Tables ~21% · Perth free play deductible · program play near zero.
Objective by market — visible, never silently changed; changes are logged
{{ ob.market }}
Reinvestment caps · monthly, per property
{{ b.property }} {{ b.text }}
{{ b.note }}
Consent & reachability funnel · premium cohort
{{ f.label }}{{ f.pct }}
{{ f.note }}
Pre-October, unmarketable guests show “member hub only (from Oct 1)” — parked, never silently dropped. Offers no one can see were named a huge waste.
Layering & conflict calendar — offers, promotions, events and holdout freezes; collisions flagged
{{ w }}
{{ row.property }}
{{ itm.label }}
{{ collisionText }} Shift send to wk of Aug 10
Send shifted to wk of Aug 10 — no collisions remain. Holdout freeze protected; change logged.
Cumulative incremental net revenue · treated vs stratified holdout
{{ measLift }}
Response windows drawn as lag fans, not day-one deltas · headline = rolling 12 wk · regime legend: post-Dec-tax training window
Wasted spend saved · before vs after uplift targeting
{{ w.seg }} {{ w.saved }} saved · revenue held {{ w.held }}
before
{{ w.before }}
after
{{ w.after }}
Reference engagements saved ~60% of spend for the same outcome — “stop paying uninfluencibles.”
Offer P&L waterfall
{{ campWf }}
{{ campNote }} · mirrors the P&L view the CRM team already trusts in Power BI, deliberately, for adoption.
Holdout integrity
Holdout size
10%
52 guests · auto-reserved per wave
Contamination
0
legacy-channel leaks flagged automatically
Stratification: ADT band × lifecycle stage × locality ring. A holdout guest who receives an offer through a legacy channel is flagged and excluded from the claim.
Rendered recommendations passing the filter chain
100% 2,847 evaluations · wk of 19 Jul
Self-exclusion, pre-commitment, consent and frequency caps are applied before a recommendation is rendered — compliance is architectural, not asserted.
{{ evalBtnLabel }}
rec_id rec_2026wk29_04471_001
evaluated_at 2026-07-19 05:02:14 AEST
rule_versions rg v3.2 · austrac v2.7 · consent v18 · freq v9
lists_checked self_excl v41 · precommit v37 · mindway 04:10 · ecdd v12
result PASS — rendered to host.lmarsh queue
Demo scene 3 — the system refuses, on screen
Guest #7719 is RG-suppressed (Mindway band escalation). Attempt an action to watch the filter chain refuse and write the audit record.
Attempt host assign on #7719 Open #7719 in Guest 360
{{ s.n }}
{{ s.reason }}
Today’s conflated stop code is decomposed here as far as source data allows — reason metadata lands with the stop-code rebuild (paper pending).
Refusal log — every attempted action on a suppressed guest
Export for audit
TimestampAttempted byGuestActionRefusal rule
{{ r.ts }} {{ r.actor }} {{ r.guest }} {{ r.action }} {{ r.rule }}
Mindway Game Scanner integration
{{ b.band }}
{{ b.n }}
{{ mindwayPolicy }} Displayed as bands — raw scores are role-restricted.
Language governance — centrally managed copy library
APPROVED FRAMING
{{ t }}
BANNED — never rendered
{{ t }}
Translation slots: {{ langTrans }}. Every word rendered assumes a future regulator will read it.
SYNTHETIC PANEL · ILLUSTRATIVE PERSONAS · SIMULATED Design-time wind tunnel — directional only. It never replaces holdout measurement: no holdout, no claim. Zero real guest records on display. Persona library v3 · calibrated on cohort stats to 12 Jul · Compliance-reviewed.
Draft offer
Offer type
DepthA${{ simDepth }}
Validity window
Channel
{{ pinLabel }} Export review summary Promote to Offer Bank Reset panel
Nothing in the simulator schedules or sends anything. Promoting attaches the panel summary as design evidence; scheduling runs through the normal flow with a holdout auto-reserved.
{{ s.label }}
{{ s.value }}
{{ s.sub }}
Layering check: this validity window on EDM overlaps the frozen Sunday with Drop Shot scheduled. Open conflict calendar →
Last adjustment {{ f.label }} changed verdicts are flagged on the cards below
{{ grp.label }} {{ grp.count }} of 16 {{ grp.hint }}
{{ p.name }} {{ p.bio }}
“{{ p.rationale }}” {{ p.flipLabel }} {{ p.chev }}
Attribute sheet · synthetic composite
{{ dr.k }}{{ dr.v }}
Not a real guest — generated from cohort statistics in the feature mart (calibrated to 12 Jul). Fit radar in the panel below.
Verdict-flip tornado — which lever matters
one change at a time vs the current draft · flips out of 16 personas
{{ t.label }}
{{ t.flips }}
Persona vs offer fit · {{ personaName }}
{{ personaRadar }}
persona affinity profile draft offer profilethe gap area is the misfit explanation
Offer × persona fit matrix
draft + pinned variants (rows) × 16 personas · click any persona card for its radar
{{ r.label }}
{{ r.score }}
redeem ignore negative blocked
{{ m.name }}
{{ m.chart }}
AUC on holdout, weekly · dashed = POC gate ({{ m.gate }}) · published gaming benchmarks run 0.85–0.93
Drift, changepoints & retraining timeline
{{ e.w }} {{ e.label }}
Stated, on-screen behavior — never silent degradation: after the net-ADT restructure, the decline model temporarily widens its uncertainty and the queue shows fewer, higher-confidence flags for ~2 weeks. The changelog posts to the Value Tracker narrative card in plain language.
Identity resolution quality · POC gate metrics
{{ i.label }} {{ i.value }}
{{ cardingNote }}
Run cost & cadence
ScoringWeekly batch · BigQuery (AU, segregated project)
Run cost≈ A$310 / week
Retrain cadenceQuarterly + post-structural-change
DataDe-identified patron-week extracts
Feature mart lineage · freshness & completeness per source
{{ s.name }} STALE {{ s.stale }}
freshness {{ s.fresh }}%
completeness {{ s.complete }}%
2
Roster Planner · POC 2
Shares this shell, filters and export patterns — dealer demand forecasting and roster optimization. Out of scope for the NBA/NBO specification; scene 4 of the week-10 demo switches to the floor here.
Log outcome · {{ logGuestId }}
Outcome data flows back to retrain the models — the test-and-learn loop.
Contact
Response
Notes
Next check
Cancel Save outcome
ACTION REFUSED
RG/AUSTRAC filter · upstream of anything rendered
{{ refusalText }}
timestamp {{ refusalTs }}
attempted_by {{ refusalActor }}
action {{ refusalAction }}
refusal_rule {{ refusalRule }}
Written to the append-only audit trail · visible in Guardrails Console → Refusal log
Open Guardrails Console Acknowledge
{{ toastMsg }}