What to do next
GA is carrying the show and VIP is 45 points short of target. Push VIP in the final month.
Sat 14 Nov, 30 days to go
GA is carrying the show and VIP is 45 points short of target. Push VIP in the final month.
1,464216up 216, better
This week, of 2,400
61%9 ptsup 9 points, better
Target 85%
11212%up 12%, better
Similar shows = 100
$118.4k9%up 9%, better
On last week
61%9 ptsup 9 points, better
Ahead of similar shows. Forecast 96%
| Day | Sold | Forecast | Similar shows | Similar shows range |
|---|---|---|---|---|
| Sun 16 Aug | 14% | 14% | 7% to 22% | |
| Tue 18 Aug | 18% | 16% | 9.3% to 24% | |
| Thu 20 Aug | 21% | 19% | 12% to 27% | |
| Sat 22 Aug | 24% | 21% | 14% to 29% | |
| Mon 24 Aug | 27% | 22% | 15% to 30% | |
| Wed 26 Aug | 30% | 24% | 17% to 32% | |
| Fri 28 Aug | 32% | 26% | 19% to 34% | |
| Sun 30 Aug | 33% | 27% | 20% to 35% | |
| Tue 1 Sept | 35% | 29% | 22% to 37% | |
| Thu 3 Sept | 35% | 30% | 23% to 38% | |
| Sat 5 Sept | 36% | 32% | 25% to 40% | |
| Mon 7 Sept | 36% | 33% | 26% to 41% | |
| Wed 9 Sept | 36% | 34% | 27% to 42% | |
| Fri 11 Sept | 36% | 35% | 28% to 43% | |
| Sun 13 Sept | 36% | 36% | 29% to 44% | |
| Tue 15 Sept | 36% | 37% | 30% to 45% | |
| Thu 17 Sept | 37% | 38% | 31% to 46% | |
| Sat 19 Sept | 37% | 39% | 32% to 47% | |
| Mon 21 Sept | 38% | 40% | 33% to 48% | |
| Wed 23 Sept | 39% | 41% | 34% to 49% | |
| Fri 25 Sept | 40% | 42% | 35% to 50% | |
| Sun 27 Sept | 42% | 43% | 36% to 51% | |
| Tue 29 Sept | 43% | 44% | 37% to 52% | |
| Thu 1 Oct | 46% | 45% | 38% to 53% | |
| Sat 3 Oct | 48% | 46% | 39% to 54% | |
| Mon 5 Oct | 50% | 47% | 40% to 55% | |
| Wed 7 Oct | 53% | 48% | 41% to 56% | |
| Fri 9 Oct | 55% | 49% | 42% to 57% | |
| Sun 11 Oct | 57% | 50% | 43% to 58% | |
| Tue 13 Oct | 59% | 51% | 44% to 59% | |
| Thu 15 Oct | 61% | 53% | 46% to 61% | |
| Sat 17 Oct | 63% | 54% | 47% to 62% | |
| Mon 19 Oct | 64% | 56% | 49% to 64% | |
| Wed 21 Oct | 66% | 57% | 50% to 65% | |
| Fri 23 Oct | 68% | 59% | 52% to 67% | |
| Sun 25 Oct | 69% | 60% | 53% to 68% | |
| Tue 27 Oct | 71% | 62% | 55% to 70% | |
| Thu 29 Oct | 73% | 64% | 57% to 72% | |
| Sat 31 Oct | 76% | 67% | 60% to 75% | |
| Mon 2 Nov | 78% | 69% | 62% to 77% | |
| Wed 4 Nov | 80% | 71% | 64% to 79% | |
| Fri 6 Nov | 83% | 74% | 67% to 82% | |
| Sun 8 Nov | 86% | 77% | 70% to 85% | |
| Tue 10 Nov | 89% | 80% | 73% to 88% | |
| Thu 12 Nov | 92% | 83% | 76% to 91% | |
| Sat 14 Nov | 96% | 86% | 79% to 94% |
VIP is the one to push this month
| Ticket type | Sell-through |
|---|---|
| GA early bird300 of 300 | |
| GA1,004 of 1,700 | |
| VIP160 of 400 |
Most buyers are within 20km
| Suburb | Share |
|---|---|
| Fortitude Valley | 14% |
| West End | 11% |
| Paddington | 9% |
| Newstead | 7% |
Orders peak on Fridays and grow each week
| Day | Orders |
|---|---|
| Fri 25 Sept | 15 |
| Sat 26 Sept | 12 |
| Sun 27 Sept | 9 |
| Mon 28 Sept | 7 |
| Tue 29 Sept | 7 |
| Wed 30 Sept | 8 |
| Thu 1 Oct | 10 |
| Fri 2 Oct | 19 |
| Sat 3 Oct | 16 |
| Sun 4 Oct | 11 |
| Mon 5 Oct | 9 |
| Tue 6 Oct | 10 |
| Wed 7 Oct | 10 |
| Thu 8 Oct | 13 |
| Fri 9 Oct | 21 |
| Sat 10 Oct | 18 |
| Sun 11 Oct | 12 |
| Mon 12 Oct | 9 |
| Tue 13 Oct | 10 |
| Wed 14 Oct | 11 |
| Thu 15 Oct | 15 |
GA is carrying the show
| Month | GA | VIP | Early bird | Total |
|---|---|---|---|---|
| Aug | 414 | 60 | 300 | 774 |
| Sep | 213 | 40 | 0 | 253 |
| Oct | 377 | 60 | 0 | 437 |
Fans buy most on Friday evenings
| Weekday | 9am | 12pm | 3pm | 6pm | 9pm |
|---|---|---|---|---|---|
| Mon | 4 | 8 | 10 | 18 | 12 |
| Tue | 5 | 9 | 11 | 20 | 13 |
| Wed | 5 | 9 | 12 | 22 | 14 |
| Thu | 6 | 10 | 14 | 30 | 22 |
| Fri | 8 | 12 | 18 | 42 | 36 |
| Sat | 14 | 22 | 20 | 24 | 18 |
| Sun | 12 | 18 | 16 | 14 | 8 |
{"version": 1,"title": "Ball Park Music at The Lantern Room","sections": [{"title": "At a glance","description": "Sat 14 Nov, 30 days to go","cards": [{"id": "note","kind": "note","size": "full","label": "What to do next","body": "GA is carrying the show and VIP is 45 points short of target. Push VIP in the final month."},{"id": "sold","kind": "stat","size": "stat","label": "Tickets sold","value": 1464,"delta": {"value": 216},"context": "This week, of 2,400","trend": [27,21,15,16,19,22,43,37,24,20,24,22,29,48,40,27,21,22,25,33]},{"id": "sell-through","kind": "stat","size": "stat","label": "Sell-through","value": 0.61,"format": "percent","delta": {"value": 9,"format": "points"},"context": "Target 85%","trend": [0.4,0.41,0.41,0.42,0.43,0.44,0.46,0.47,0.48,0.49,0.5,0.51,0.52,0.54,0.56,0.57,0.58,0.59,0.6,0.61],"reference": {"value": 0.85,"label": "Target"}},{"id": "pace","kind": "stat","size": "stat","label": "Pace index","value": 112,"format": "index","delta": {"value": 0.12,"format": "percent"},"context": "Similar shows = 100","trend": [96,98,97,101,104,103,106,108,107,105,104,107,109,110,108,110,111,113,112,112],"reference": {"value": 100,"label": "Similar shows"}},{"id": "revenue","kind": "stat","size": "stat","label": "Gross revenue","value": 118400,"format": "compactCurrency","delta": {"value": 0.09,"format": "percent"},"context": "On last week","trend": [2200,1700,1200,1300,1500,1800,3500,3000,1900,1600,1900,1800,2300,3900,3200,2200,1700,1800,2000,2700]}]},{"title": "Sales","cards": [{"id": "sales-pace","kind": "chart","size": "full","label": "Sales pace","value": 0.61,"format": "percent","delta": {"value": 9,"format": "points"},"context": "Ahead of similar shows. Forecast 96%","plot": {"kind": "line","data": [{"day": "2026-08-16","sold": 0.14,"coneLow": null,"coneHigh": null,"low": 0.07,"high": 0.22,"median": 0.14},{"day": "2026-08-18","sold": 0.177,"coneLow": null,"coneHigh": null,"low": 0.093,"high": 0.243,"median": 0.163},{"day": "2026-08-20","sold": 0.212,"coneLow": null,"coneHigh": null,"low": 0.115,"high": 0.265,"median": 0.185},{"day": "2026-08-22","sold": 0.243,"coneLow": null,"coneHigh": null,"low": 0.135,"high": 0.285,"median": 0.205},{"day": "2026-08-24","sold": 0.272,"coneLow": null,"coneHigh": null,"low": 0.154,"high": 0.304,"median": 0.224},{"day": "2026-08-26","sold": 0.296,"coneLow": null,"coneHigh": null,"low": 0.172,"high": 0.322,"median": 0.242},{"day": "2026-08-28","sold": 0.317,"coneLow": null,"coneHigh": null,"low": 0.189,"high": 0.339,"median": 0.259},{"day": "2026-08-30","sold": 0.333,"coneLow": null,"coneHigh": null,"low": 0.204,"high": 0.354,"median": 0.274},{"day": "2026-09-01","sold": 0.345,"coneLow": null,"coneHigh": null,"low": 0.219,"high": 0.369,"median": 0.289},{"day": "2026-09-03","sold": 0.354,"coneLow": null,"coneHigh": null,"low": 0.233,"high": 0.383,"median": 0.303},{"day": "2026-09-05","sold": 0.359,"coneLow": null,"coneHigh": null,"low": 0.246,"high": 0.396,"median": 0.316},{"day": "2026-09-07","sold": 0.362,"coneLow": null,"coneHigh": null,"low": 0.258,"high": 0.408,"median": 0.328},{"day": "2026-09-09","sold": 0.362,"coneLow": null,"coneHigh": null,"low": 0.27,"high": 0.42,"median": 0.34},{"day": "2026-09-11","sold": 0.362,"coneLow": null,"coneHigh": null,"low": 0.281,"high": 0.431,"median": 0.351},{"day": "2026-09-13","sold": 0.362,"coneLow": null,"coneHigh": null,"low": 0.292,"high": 0.442,"median": 0.362},{"day": "2026-09-15","sold": 0.363,"coneLow": null,"coneHigh": null,"low": 0.302,"high": 0.452,"median": 0.372},{"day": "2026-09-17","sold": 0.365,"coneLow": null,"coneHigh": null,"low": 0.312,"high": 0.462,"median": 0.382},{"day": "2026-09-19","sold": 0.369,"coneLow": null,"coneHigh": null,"low": 0.322,"high": 0.472,"median": 0.392},{"day": "2026-09-21","sold": 0.376,"coneLow": null,"coneHigh": null,"low": 0.331,"high": 0.481,"median": 0.401},{"day": "2026-09-23","sold": 0.386,"coneLow": null,"coneHigh": null,"low": 0.341,"high": 0.491,"median": 0.411},{"day": "2026-09-25","sold": 0.399,"coneLow": null,"coneHigh": null,"low": 0.35,"high": 0.5,"median": 0.42},{"day": "2026-09-27","sold": 0.415,"coneLow": null,"coneHigh": null,"low": 0.359,"high": 0.509,"median": 0.429},{"day": "2026-09-29","sold": 0.434,"coneLow": null,"coneHigh": null,"low": 0.369,"high": 0.519,"median": 0.439},{"day": "2026-10-01","sold": 0.455,"coneLow": null,"coneHigh": null,"low": 0.378,"high": 0.528,"median": 0.448},{"day": "2026-10-03","sold": 0.478,"coneLow": null,"coneHigh": null,"low": 0.388,"high": 0.538,"median": 0.458},{"day": "2026-10-05","sold": 0.502,"coneLow": null,"coneHigh": null,"low": 0.398,"high": 0.548,"median": 0.468},{"day": "2026-10-07","sold": 0.526,"coneLow": null,"coneHigh": null,"low": 0.409,"high": 0.559,"median": 0.479},{"day": "2026-10-09","sold": 0.55,"coneLow": null,"coneHigh": null,"low": 0.42,"high": 0.57,"median": 0.49},{"day": "2026-10-11","sold": 0.573,"coneLow": null,"coneHigh": null,"low": 0.431,"high": 0.581,"median": 0.501},{"day": "2026-10-13","sold": 0.594,"coneLow": null,"coneHigh": null,"low": 0.443,"high": 0.593,"median": 0.513},{"day": "2026-10-15","sold": 0.614,"coneLow": 0.614,"coneHigh": 0.614,"low": 0.456,"high": 0.606,"median": 0.526},{"day": "2026-10-17","sold": 0.628,"coneLow": 0.623,"coneHigh": 0.632,"low": 0.47,"high": 0.62,"median": 0.54},{"day": "2026-10-19","sold": 0.643,"coneLow": 0.633,"coneHigh": 0.652,"low": 0.485,"high": 0.635,"median": 0.555},{"day": "2026-10-21","sold": 0.658,"coneLow": 0.644,"coneHigh": 0.672,"low": 0.5,"high": 0.65,"median": 0.57},{"day": "2026-10-23","sold": 0.675,"coneLow": 0.657,"coneHigh": 0.694,"low": 0.517,"high": 0.667,"median": 0.587},{"day": "2026-10-25","sold": 0.693,"coneLow": 0.67,"coneHigh": 0.717,"low": 0.534,"high": 0.684,"median": 0.604},{"day": "2026-10-27","sold": 0.712,"coneLow": 0.684,"coneHigh": 0.74,"low": 0.553,"high": 0.703,"median": 0.623},{"day": "2026-10-29","sold": 0.733,"coneLow": 0.7,"coneHigh": 0.766,"low": 0.573,"high": 0.723,"median": 0.643},{"day": "2026-10-31","sold": 0.755,"coneLow": 0.718,"coneHigh": 0.792,"low": 0.595,"high": 0.745,"median": 0.665},{"day": "2026-11-02","sold": 0.778,"coneLow": 0.736,"coneHigh": 0.82,"low": 0.618,"high": 0.768,"median": 0.688},{"day": "2026-11-04","sold": 0.803,"coneLow": 0.757,"coneHigh": 0.85,"low": 0.642,"high": 0.792,"median": 0.712},{"day": "2026-11-06","sold": 0.83,"coneLow": 0.779,"coneHigh": 0.882,"low": 0.668,"high": 0.818,"median": 0.738},{"day": "2026-11-08","sold": 0.859,"coneLow": 0.803,"coneHigh": 0.915,"low": 0.696,"high": 0.846,"median": 0.766},{"day": "2026-11-10","sold": 0.889,"coneLow": 0.829,"coneHigh": 0.95,"low": 0.726,"high": 0.876,"median": 0.796},{"day": "2026-11-12","sold": 0.922,"coneLow": 0.856,"coneHigh": 0.987,"low": 0.758,"high": 0.908,"median": 0.828},{"day": "2026-11-14","sold": 0.956,"coneLow": 0.886,"coneHigh": 1,"low": 0.792,"high": 0.942,"median": 0.862}],"x": "day","y": "sold","format": "percent","takeaway": "Tracking ahead of similar shows, forecast to reach 96%","band": {"low": "low","high": "high","median": "median","label": "Similar shows"},"forecast": {"from": "2026-10-15","low": "coneLow","high": "coneHigh"},"target": 0.85,"today": "2026-10-15","annotations": [{"at": "2026-09-05","label": "Line-up drop"}]},"source": "Oztix sales. 38 similar shows, last 3 years."},{"id": "ticket-types","kind": "table","size": "md","label": "Ticket types","takeaway": "VIP is the one to push this month","columns": [{"key": "type","header": "Ticket type","kind": "text","secondaryKey": "sold"},{"key": "sellThrough","header": "Sell-through","kind": "meter","target": 0.85}],"rows": [{"type": "GA early bird","sold": "300 of 300","sellThrough": 1},{"type": "GA","sold": "1,004 of 1,700","sellThrough": 0.59},{"type": "VIP","sold": "160 of 400","sellThrough": 0.4}],"source": "Oztix sales."},{"id": "buyers","kind": "table","size": "md","label": "Where buyers are from","takeaway": "Most buyers are within 20km","columns": [{"key": "suburb","header": "Suburb","kind": "text"},{"key": "share","header": "Share","kind": "number","format": "percent"}],"rows": [{"suburb": "Fortitude Valley","share": 0.14},{"suburb": "West End","share": 0.11},{"suburb": "Paddington","share": 0.09},{"suburb": "Newstead","share": 0.07}],"source": "Oztix sales, billing postcodes."}]},{"title": "Buyers","cards": [{"id": "daily-orders","kind": "chart","size": "md","label": "Daily orders","takeaway": "Orders peak on Fridays and grow each week","plot": {"kind": "bar","data": [{"day": "2026-09-25","orders": 15},{"day": "2026-09-26","orders": 12},{"day": "2026-09-27","orders": 9},{"day": "2026-09-28","orders": 7},{"day": "2026-09-29","orders": 7},{"day": "2026-09-30","orders": 8},{"day": "2026-10-01","orders": 10},{"day": "2026-10-02","orders": 19},{"day": "2026-10-03","orders": 16},{"day": "2026-10-04","orders": 11},{"day": "2026-10-05","orders": 9},{"day": "2026-10-06","orders": 10},{"day": "2026-10-07","orders": 10},{"day": "2026-10-08","orders": 13},{"day": "2026-10-09","orders": 21},{"day": "2026-10-10","orders": 18},{"day": "2026-10-11","orders": 12},{"day": "2026-10-12","orders": 9},{"day": "2026-10-13","orders": 10},{"day": "2026-10-14","orders": 11},{"day": "2026-10-15","orders": 15}],"x": "day","y": "orders","takeaway": "Orders peak on Fridays and grow each week"},"source": "Oztix sales."},{"id": "ticket-mix","kind": "chart","size": "md","label": "Ticket type mix","takeaway": "GA is carrying the show","plot": {"kind": "stacked-bars","data": [{"month": "Aug","type": "GA","sold": 414},{"month": "Aug","type": "VIP","sold": 60},{"month": "Aug","type": "Early bird","sold": 300},{"month": "Sep","type": "GA","sold": 213},{"month": "Sep","type": "VIP","sold": 40},{"month": "Sep","type": "Early bird","sold": 0},{"month": "Oct","type": "GA","sold": 377},{"month": "Oct","type": "VIP","sold": 60},{"month": "Oct","type": "Early bird","sold": 0}],"x": "month","y": "sold","series": "type","takeaway": "GA is carrying the show"},"source": "Oztix sales."},{"id": "when-fans-buy","kind": "chart","size": "full","label": "When fans buy","takeaway": "Fans buy most on Friday evenings","plot": {"kind": "heatmap","data": [{"weekday": "Mon","hour": "9am","orders": 4},{"weekday": "Mon","hour": "12pm","orders": 8},{"weekday": "Mon","hour": "3pm","orders": 10},{"weekday": "Mon","hour": "6pm","orders": 18},{"weekday": "Mon","hour": "9pm","orders": 12},{"weekday": "Tue","hour": "9am","orders": 5},{"weekday": "Tue","hour": "12pm","orders": 9},{"weekday": "Tue","hour": "3pm","orders": 11},{"weekday": "Tue","hour": "6pm","orders": 20},{"weekday": "Tue","hour": "9pm","orders": 13},{"weekday": "Wed","hour": "9am","orders": 5},{"weekday": "Wed","hour": "12pm","orders": 9},{"weekday": "Wed","hour": "3pm","orders": 12},{"weekday": "Wed","hour": "6pm","orders": 22},{"weekday": "Wed","hour": "9pm","orders": 14},{"weekday": "Thu","hour": "9am","orders": 6},{"weekday": "Thu","hour": "12pm","orders": 10},{"weekday": "Thu","hour": "3pm","orders": 14},{"weekday": "Thu","hour": "6pm","orders": 30},{"weekday": "Thu","hour": "9pm","orders": 22},{"weekday": "Fri","hour": "9am","orders": 8},{"weekday": "Fri","hour": "12pm","orders": 12},{"weekday": "Fri","hour": "3pm","orders": 18},{"weekday": "Fri","hour": "6pm","orders": 42},{"weekday": "Fri","hour": "9pm","orders": 36},{"weekday": "Sat","hour": "9am","orders": 14},{"weekday": "Sat","hour": "12pm","orders": 22},{"weekday": "Sat","hour": "3pm","orders": 20},{"weekday": "Sat","hour": "6pm","orders": 24},{"weekday": "Sat","hour": "9pm","orders": 18},{"weekday": "Sun","hour": "9am","orders": 12},{"weekday": "Sun","hour": "12pm","orders": 18},{"weekday": "Sun","hour": "3pm","orders": 16},{"weekday": "Sun","hour": "6pm","orders": 14},{"weekday": "Sun","hour": "9pm","orders": 8}],"rows": "weekday","columns": "hour","value": "orders","takeaway": "Fans buy most on Friday evenings"},"source": "Oztix sales, venue time."}]}]}
import { cardTable } from '@oztix/roadie-charts/tables'<DashboardViewspec={spec}cardActions={(card) => (<CardMenu label={card.label} table={cardTable(card)} />)}/>
<Dashboard><Dashboard.Section title='At a glance' description='Sat 14 Nov, 30 days to go'><DataCard size='full' label='What to do next'><p>GA is carrying the show and VIP is 45 points short of target. Push VIP in the final month.</p></DataCard><StatTile label='Tickets sold' value={1464} delta={{ value: 216 }} context='This week, of 2,400' trend={dailySold} /><StatTile label='Sell-through' value={0.61} format='percent' delta={{ value: 9, format: 'points' }} context='Target 85%' trend={sellThrough} reference={{ value: 0.85, label: 'Target' }} /><StatTile label='Pace index' value={112} format='index' delta={{ value: 0.12, format: 'percent' }} context='Similar shows = 100' trend={pace} reference={{ value: 100, label: 'Similar shows' }} /><StatTile label='Gross revenue' value={118400} format='compactCurrency' delta={{ value: 0.09, format: 'percent' }} context='On last week' trend={revenue} /></Dashboard.Section><Dashboard.Section title='Sales'><Chart size='full' label='Sales pace' value={0.61} format='percent' delta={{ value: 9, format: 'points' }} context='Ahead of similar shows. Forecast 96%' source='Oztix sales. 38 similar shows, last 3 years.'><LineChart data={salesPace} x='day' y='sold' format='percent' takeaway='Tracking ahead of similar shows, forecast to reach 96%' band={{ low: 'low', high: 'high', median: 'median', label: 'Similar shows' }} forecast={{ from: today, low: 'coneLow', high: 'coneHigh' }} target={0.85} today={today} annotations={[{ at: '2026-09-05', label: 'Line-up drop' }]} /></Chart><DataCard size='md' label='Ticket types' takeaway='VIP is the one to push this month' source='Oztix sales.'><DataTable columns={ticketTypeColumns} rows={ticketTypes} caption='Ticket types' /></DataCard><DataCard size='md' label='Where buyers are from' takeaway='Most buyers are within 20km' source='Oztix sales, billing postcodes.'><DataTable columns={suburbColumns} rows={suburbs} caption='Where buyers are from' /></DataCard></Dashboard.Section><Dashboard.Section title='Buyers'><Chart size='md' label='Daily orders' takeaway='Orders peak on Fridays and grow each week' source='Oztix sales.'><BarChart data={dailyOrders} x='day' y='orders' /></Chart><Chart size='md' label='Ticket type mix' takeaway='GA is carrying the show' source='Oztix sales.'><StackedBars data={salesByMonth} x='month' y='sold' series='type' /></Chart><Chart size='full' label='When fans buy' takeaway='Fans buy most on Friday evenings' source='Oztix sales, venue time.'><Heatmap data={ordersByHour} rows='weekday' columns='hour' value='orders' /></Chart></Dashboard.Section></Dashboard>