AB Entertainment logo
Ticketalay Proposal

Working Prototype

The Prototype

One Australian audience file, named at source and run end to end. Every figure is computed from the file, and every source opens to the page that proves it. Campaign segments, marketing materials, social uploads and Leadership Team reports are built from the same file. All currency figures AUD.

Each section below links to the duty it has to satisfy on the marketing compliance page, where the Spam Act, the Privacy Principles and the complaint response steps are set against the columns that evidence them.

End to End, In Motion

An Australian Consented Audience, Run End to End

Synthetic sampleCSVExcelJSON

Records

241

20 columns

May be sent to

193

84% of resolved people

Marathi at home

118

of the contactable audience

States covered

7

40 postcodes

  1. Sources
  2. The File
  3. Validate
  4. Resolve
  5. Consent
  6. Activate

Sources5 build · 7 set aside

Source codes

  • LANPLANP — ABS Census — language used at home
  • SALSAL — ABS QuickStats — suburb ancestry and birthplace
  • APAP — Australia Post postcode reference
  • ASGSASGS — ABS statistical areas and correspondences
  • 1P1P — First-party opted-in list
  • APP7APP7 — Australian Privacy Principle 7 — direct marketing
  • SPAMSPAM — Spam Act 2003 — channel consent

Trust ladder

  • Official statisticOfficial statistic — Enumerated or statutory figure
  • Reference standardReference standard — Authoritative geography or coding list
  • Primary record — first partyPrimary record — first party — Collected at opt-in by the operator
  • RegulatorRegulator — Law or guidance that constrains use
  • Licensed panelLicensed panel — Vendor panel — not a sendable list for ancestry
  • Modelled estimateModelled estimate — Assigned by model, not declared by the person

Marathi used at home: 22,263 nationally, 9,753 New South Wales, 7,170 Victoria — the counts the state mix follows

Validity
Official statistic
How to authenticate it
A national census, not a sample: enumerated August 2021 under the Census and Statistics Act 1905. The standard Community Profiles fold Marathi into “Other Indo-Aryan”, so these counts come from TableBuilder: cross-tabulate Language used at home against State and the three figures reproduce exactly
Cost
Free — TableBuilder Basic costs nothing; it asks for a registration
statemarathi_speaking
Verify at the source

Suburb-level ancestry and country of birth. Tarneit, for one: 56,370 people, Indian ancestry 15,199 (27.0%), India-born 16,231 (28.8%)

Validity
Official statistic
How to authenticate it
Each suburb has its own QuickStats page keyed by its SAL code, so any figure here can be re-read at the source in a few seconds
Cost
Free — the ABS publishes QuickStats at no charge
suburbethnicity_nationality
Verify at the source

The locality-to-postcode list every suburb and postcode in this file was resolved against

Validity
Reference standard
How to authenticate it
Australia Post sets Australian postcodes, so its own file is the authority. The Standard Postcode File is the CSV every suburb and postcode here was matched against
Cost
Quote on request — Australia Post publishes no price for the CSV files, and the free PDF booklet is licensed for non-commercial use only, so a commercial audience file needs the licensed productprice page
suburbpostcode
Verify at the source

The SA2 code each postcode resolves to, and the correspondence that makes postcode-to-SA2 many-to-many

Validity
Reference standard
How to authenticate it
The correspondence files themselves, under Creative Commons: CG_POSTCODE_2021_SA2_2021.xlsx is the postcode-to-SA2 table this file joins on, and it carries the ratio that makes the join many-to-many
Cost
Free — Creative Commons Attribution 4.0
sa2_code_2021sa2_name_2021
Verify at the source

Name, email, phone, mobile, age, the self-declared ancestry and language, the consent flag and the chosen channel — the only lawful route to person-level contact detail

Validity
Primary record — first party
How to authenticate it
Each record carries the consent timestamp, the form it came from and the purpose consented to, so any single person can be traced back to the moment they opted in
Cost
No fee for the data — the operator collects it. The platform that holds it publishes its price: Audience Republic Basic USD 98/mo billed annually at USD 1,028, Plus USD 163/mo billed annually at USD 1,713, entry tiers to 10,000 contacts; Enterprise on application
first_namelast_nameemailphonemobileageconsented_for_marketingcontact_preferenceconsent_timestampconsent_source
Verify at the source

Sensitive information, which includes racial or ethnic origin, may be used for direct marketing only with the individual’s consent

Validity
Regulator
How to authenticate it
The regulator’s own guidelines on the Australian Privacy Principles — the text a court would be pointed at
Cost
Free — guidance, not a data purchase
ethnicity_nationalityconsented_for_marketing
Verify at the source

Consent, sender identification and a working unsubscribe on every commercial email or SMS

Validity
Regulator
How to authenticate it
The consolidated text of the Act on the Federal Register of Legislation — the primary source, not a summary of it
Cost
Free — legislation, not a data purchase
contact_preferenceconsent_source
Verify at the source

Five million opted-in Australian profiles carrying name, email, phone, gender, date of birth and state — and no ethnicity, ancestry or language field at all

Validity
Licensed panel
How to authenticate it
A marketplace listing that states its own attribute set, so the absence of an ancestry field can be read off the page
Cost
Free sample on the listing, which carries no per-unit charge; the full data sets are quote on request
first_namelast_nameemailphoneagestate
Verify at the source

Over 20 million opted-in Australian consumers, filterable to postcode, suburb and state — with no ethnicity, language or country-of-birth filter offered

Validity
Licensed panel
How to authenticate it
The platform page lists its own filter set, which is where the missing ancestry dimension shows
Cost
A$0.43 a record plus GST, the vendor’s own published breakdown: base record 25.0c, phone 8.0c, email 10.0c
suburbpostcodestateage
Verify at the source

Consumer classification into 14 Groups and 52 Types, covering 99% of Australian households — a segment on the household, not an ethnicity on a named person

Validity
Modelled estimate
How to authenticate it
The vendor describes its own build and coverage; the classification is modelled, so it sits below an official statistic
Cost
Quote on request — no price, rate card or fee appears on the product page
ethnicity_nationality
Verify at the source

Over 5,000 behavioural, demographic, geographic and lifestyle attributes used to enrich an existing customer record

Validity
Modelled estimate
How to authenticate it
An enrichment product: it appends to a record the buyer already holds, and the appended values are modelled
Cost
Quote on request — the enrichment page carries an enquiry form in place of a price
ageethnicity_nationality
Verify at the source

Over 60,000 interviews a year, carrying language used at home among its variables — a survey panel that sizes a segment, never a list to send to

Validity
Licensed panel
How to authenticate it
A continuous survey with a published sample size and method; it measures a population, and carries no contactable record
Cost
A subscription is quote on request, but the online store publishes off-the-shelf profiles built from it: A$1,529 including GST standard, A$4,950 including GST premium
marathi_speakingage
Verify at the source

54 Personas in 6 Communities, geo-projected down to mesh block — again an area classification, not a person attribute

Validity
Modelled estimate
How to authenticate it
Personas are assigned to areas by model, so a person inherits an area’s label rather than declaring their own
Cost
Quote on request — the product page routes to an enquiry rather than a rate card
suburbpostcode
Verify at the source

The one identified national file of Australians — and s 91B of the Commonwealth Electoral Act 1918 shuts commercial use of it, which is a large part of why no lawful public person-level list exists

Validity
Official statistic
How to authenticate it
The AEC’s own electoral-roll access page sets out who may receive roll data and for what. A marketing organisation is not on that list
Cost
Not for sale — there is no commercial access path, at any price
first_namelast_namesuburbpostcode
Verify at the source

What this buys — named campaign segments, channel kits and Leadership Team report specs are built from the same contactable audience below. Open Campaign segments to see the live counts.

Legal footing. The consent gate is what answers a complaint: which duty, which column, which test. Consent duties and the columns that evidence them

Reference Geography

Where These People Sit

Geography vs people

  • Real referenceReal reference — Suburb, postcode, state and SA2 from ABS and Australia Post
  • Fictional peopleFictional people — Names, emails and phones are synthetic — never a live contact list

Suburbs

47

real localities

Postcodes

40

Australia Post reference

ABS SA2 areas

38

ASGS 2021 codes

States and territories

7

all eight are in scope

What this buys — suburb-level out-of-home and geo-targeted social use these localities; see Marketing materials and Social activation.

Suburb, postcode, state and SA2 are real reference geography; the people are fictional.

Legal footing. Targeting a suburb uses reference geography, not a personal attribute — but the send still sits under the Spam Act and APP 7. The instruments a locality-targeted campaign has to satisfy

The Columns

Every Field, and What Stands Behind It

Source codes on each column

  • LANPLANP — ABS Census — language used at home
  • SALSAL — ABS QuickStats — suburb ancestry and birthplace
  • APAP — Australia Post postcode reference
  • ASGSASGS — ABS statistical areas and correspondences
  • 1P1P — First-party opted-in list
  • APP7APP7 — Australian Privacy Principle 7 — direct marketing
  • SPAMSPAM — Spam Act 2003 — channel consent

Column types

  • texttext — Free-text or name field
  • numbernumber — Numeric measure such as age
  • flagflag — Controlled Y/N or E/M code
  • datedate — Calendar date on the consent event
  • codecode — Stable key or geographic code

Legal mark

  • §Scale icon — Sensitive information or a statutory obligation on the column
ColumnTypeSourceWhat it isWhere it comes from
record_idcodeStable key for the recordGenerated surrogate key — the natural key a warehouse hashes on
first_nametext1PGiven nameFictional. Marathi, wider Indian and general given-name pools
last_nametext1PFamily nameFictional. Marathi and wider Indian family-name pools
emailtext1PEmail addressFictional, on the reserved example.com domain (RFC 2606)
phonetext1PLandline numberFictional, inside the (0x) 5550 xxxx drama range
mobiletext1PMobile numberFictional, inside the 0491 57x xxx drama range
agenumber1PAge in yearsWeighted to the 25–44 band that dominates recent India-born arrivals
statecodeLANPState or territoryMix follows the ABS Census 2021 counts of Marathi used at home
suburbtextSALAPSuburb / localityReal locality, resolved against the Australia Post postcode reference
postcodecodeAPPostcodeReal postcode for that locality
sa2_code_2021codeASGSABS statistical area level 2Real ASGS 2021 code the postcode resolves to — the geography join key
sa2_name_2021textASGSSA2 nameReal ASGS 2021 name for that code
ethnicity_nationalitytextSALAPP7Ancestry, on ABS categoriesSelf-declared by the person at opt-in, on ABS Census ancestry categories. A bought-in ethnicity append cannot be used for marketing however it was collectedSensitive information — s 6, Privacy Act 1988 (Cth). APP 7.4 needs the person’s consent
marathi_speakingflagLANPMarathi used at homeSelf-declared at opt-in, on the ABS Census variable Language used at home (LANP)Travels with the same consent as the ancestry column
consented_for_marketingflag1PAPP7Current marketing consentDerived state — the current position of the consent event historyAPP 7.4 — sensitive information may be used for direct marketing only with consent
contact_preferenceflag1PSPAMChannel the person chose — E email, M mobileChannel consent, enforced at send time by the preference joinSpam Act 2003 (Cth) — consent, sender identification and a working unsubscribe
consent_timestampdate1PWhen the current consent state was setThe date the latest consent event was recorded
consent_sourcetext1PSPAMWhere the consent came fromCheckout opt-in, waitlist, newsletter, ballot, box office or a permission-based partner list
consent_purposetextWhat the person consented toThe stated purpose the consent was given for
data_statusflagReal extract or synthetic sampleRequired column — travels to every downstream table and tile

What this buys — every campaign segment and Leadership Team report below names the columns it consumes from this dictionary.

Legal footing. Two columns on this list carry a consent requirement that the others do not. Why ancestry and language are treated as sensitive information

Warehouse

Data Mart Tables and Their Joins

DimensionCorrespondenceFactServing view

Table kinds

  • DimensionDimension — Slowly changing descriptive attributes
  • CorrespondenceCorrespondence — Many-to-many geography bridge with a ratio
  • FactFact — Event at a point in time — consent, send, sale
  • Serving viewServing view — The only object a campaign may send from

Key badges

  • pkpk — Surrogate primary key
  • nknk — Natural business key
  • fkfk — Foreign key to another table

dim_person

dim

One row per person per change — history kept, one row current

  • pkperson_sk
  • nkrecord_id
  • first_name
  • last_name
  • age
  • ethnicity_nationality
  • marathi_speaking
  • fkgeo_sk
  • valid_from
  • valid_to
  • is_current

dim_geography

dim

One row per suburb and postcode

  • pkgeo_sk
  • nkpostcode
  • suburb
  • state
  • sa2_code_2021
  • sa2_name_2021

dim_contact_point

dim

One row per person per channel

  • pkcontact_sk
  • fkperson_sk
  • channel
  • address
  • is_preferred

dim_campaign

dim

One row per campaign

  • pkcampaign_sk
  • nkcampaign_id
  • name
  • market
  • channel

xref_postcode_sa2

xref

One row per postcode and SA2 pair, with its share

  • fkpostcode
  • fksa2_code_2021
  • ratio

fact_consent_event

fact

One row per consent event — granted or withdrawn

  • pkconsent_event_sk
  • fkperson_sk
  • fkdate_sk
  • channel
  • purpose
  • action
  • source

fact_campaign_send

fact

One row per person per send

  • pksend_sk
  • fkperson_sk
  • fkcampaign_sk
  • fkdate_sk
  • channel
  • delivered
  • opened
  • clicked

fact_ticket_sale

fact

One row per ticket transaction

  • pksale_sk
  • fkperson_sk
  • fkcampaign_sk
  • fkdate_sk
  • tickets
  • amount_aud

vw_marketable_audience

view

One row per contactable person, per channel they chose

  • fkperson_sk
  • channel
  • address
  • state
  • sa2_code_2021
  • marathi_speaking

The joins

Cardinality

  • 1:11:1 — One row maps to exactly one row
  • 1:M1:M — One parent, many children
  • M:MM:M — Many-to-many — needs a correspondence with a ratio
FromToOnCard.
dim_persondim_geographydim_person.geo_sk = dim_geography.geo_sk1:M
dim_geographyxref_postcode_sa2dim_geography.postcode = xref_postcode_sa2.postcodeA postcode can span several SA2s and an SA2 several postcodes, so the correspondence carries a ratio rather than a single codeM:M
dim_persondim_contact_pointdim_person.person_sk = dim_contact_point.person_sk1:M
dim_personfact_consent_eventdim_person.person_sk = fact_consent_event.person_skConsent is an event with a timestamp, a purpose and a source. The Y/N column on the file is the current position of this history, not the record of it1:M
dim_personfact_campaign_senddim_person.person_sk = fact_campaign_send.person_sk1:M
dim_campaignfact_campaign_senddim_campaign.campaign_sk = fact_campaign_send.campaign_sk1:M
dim_personfact_ticket_saledim_person.person_sk = fact_ticket_sale.person_sk1:M
dim_campaignfact_ticket_saledim_campaign.campaign_sk = fact_ticket_sale.campaign_sk1:M
fact_consent_eventvw_marketable_audiencelatest GRANT per person and channel, with no later WITHDRAWThe view is the only object a campaign may send from1:1
dim_contact_pointvw_marketable_audiencedim_contact_point.person_sk = vw_marketable_audience.person_sk and is_preferred1:1

The tests that guard it

Test types

  • uniqueunique — One row per key
  • not_nullnot_null — No orphan surrogate or foreign key
  • relationshipsrelationships — Referential integrity to the parent dimension
  • accepted_valuesaccepted_values — Controlled vocabulary only
  • expression_is_trueexpression_is_true — Business rule enforced by a test

unique

dim_person.person_sk, dim_geography.geo_sk

one row per key

not_null

every surrogate and foreign key

no orphan rows

relationships

fact_*.person_sk → dim_person.person_sk

referential integrity

accepted_values

channel in (E, M) · action in (GRANT, WITHDRAW) · state in the eight codes

no free text in a controlled column

expression_is_true

vw_marketable_audience has no person whose latest event is WITHDRAW

consent is enforced by a test, not by convention

Provenance chips used on this page

Provenance

  • Actual spendActual spend — Money already spent on this programme
  • Published pricePublished price — The price the vendor lists
  • QuotedQuoted — A written quote held on file
  • CalculatedCalculated — Worked out from the figures beside it
  • Official statisticOfficial statistic — An official statistic or statutory record
  • Illustrative — from sample dataIllustrative — from sample data — Computed from the downloadable sample files
Illustrative — from sample dataOfficial statisticCalculated

What this buys — Leadership Team reports read from these tables. Campaign send and ticket sale facts fill once the pilot transacts; audience size and reach resolve from today's file.

Legal footing. The consent event table is the record a regulator asks for; the tests keep the serving view honest. Where the consent evidence lives, and the tests that hold it

Commercial Activation

Campaigns, Materials, Social and Leadership Reports

Named segments, asset kits, ad-platform uploads and Leadership Team report specs — each figure below is computed from the same consented file as the walkthrough above. Revenue and engagement figures resolve once the pilot transacts; audience size and reach resolve today. See also the data ecosystem and investment pages for the wider monetisation sequence.

Named segments

6

Material kits

5

Social destinations

3

Leadership reports

4

Campaign segments

Named Audiences Ready to Send

Channel

  • EE — Email preferred
  • MM — Mobile preferred
  • BothBoth — Either channel, respecting preference at send

Filter: marketable AND marathi_speaking = 'Y' AND contact_preference = 'E'

marathi_speakingcontact_preferenceemailstateconsented_for_marketing

Breakdown

NSW29
VIC29
QLD6
SA6
WA5
ACT2

Filter: marketable AND age between 25 and 44 AND state in (VIC, NSW)

agestatesuburbpostcodeemailmobile

Breakdown

Doncaster East 31095
Schofields 27625
Craigieburn 30644
Epping 21214
Kellyville 21554
Tarneit 30294
Berwick 38063
Blacktown 21483

Filter: marketable AND contact_preference = 'M'

contact_preferencemobileconsented_for_marketingconsent_timestamp

Filter: marketable AND consent_source contains 'box office'

consent_sourceemailmobilecontact_preference

Filter: marketable AND consent_source contains 'ballot'

consent_sourceemailcontact_preference

Filter: marketable AND consent_source contains 'waitlist'

consent_sourceemailmobilecontact_preference

Legal footing. A segment is a filter over the serving view, so a withdrawal removes a person from every segment at once. Each segment sends only from the consented view

Marketing materials

Asset Kit Per Channel

Channel kit

  • EmailEmail — Nurture and on-sale templates
  • SMSSMS — Short-window mobile creative
  • Out-of-homeOut-of-home — Suburb-keyed poster and transit
  • PartnerPartner — Co-brand with venues and promoters
  • WebWeb — Event landing variants

Subject, preview and body personalised to ancestry and language flags, with unsubscribe and sender identity

Outcome: Repeat opens and click-to-purchase on language-led tours

Segment: Marathi at home — email preferred · 77 people

first_nameemailmarathi_speakingethnicity_nationalityconsent_source

160-character on-sale alert with stop path; mobile only where preference is M

Outcome: Same-day ticket conversion on release windows

Segment: SMS — on-sale day · 66 people

first_namemobilecontact_preference

Poster and transit creative keyed to real suburbs and postcodes in the file

Outcome: Awareness in high-density India-origin localities ahead of on-sale

Segment: 25–44 metro Victoria and New South Wales · 86 people

suburbpostcodestatesa2_code_2021

Co-branded landing and email for permission-based partner lists

Outcome: Trusted introduction through venues and community promoters

Segment: Box-office re-engagement · 25 people

consent_sourceemailfirst_name

Geo and language variants of the event page, fed by SA2 and language flags

Outcome: Higher landing-to-checkout rate for the right city and language cut

Segment: 25–44 metro Victoria and New South Wales · 86 people

statesa2_code_2021marathi_speakingage

Legal footing. Three duties live in the creative rather than the data, and every template has to carry them. Sender identity, the unsubscribe and the SMS sender ID

Social and platform activation

Hashed Uploads to Ad Platforms

Email matchable

127

Mobile matchable

66

Match keys

  • EmailEmail — Hashed email from the preferred channel
  • MobileMobile — Hashed mobile from the preferred channel

Uploadable records from this file: 193 (email 127 + mobile 66, respecting preference).

APP 7.4 consent required for ancestry-derived targeting; Spam Act unsubscribe must remain available on owned channels; Meta policy limits apply to sensitive attributes.

Ancestry and language stay on owned sends. The match file carries only hashed contact points with current marketing consent.

Uploadable records from this file: 193 (email 127 + mobile 66, respecting preference).

Upload only records with current marketing consent. Ancestry and language fields stay off the match file — they segment owned sends, not the ad platform upload.

Ancestry and language stay on owned sends. The match file carries only hashed contact points with current marketing consent.

Uploadable records from this file: 193 (email 127 + mobile 66, respecting preference).

Same consent gate as Meta and Google. Platform sensitive-category rules further restrict ethnicity-based lookalikes.

Ancestry and language stay on owned sends. The match file carries only hashed contact points with current marketing consent.

Legal footing. Hashed contact points with current consent go up. Ancestry and language stay on owned sends. What may be uploaded to an ad platform, and what may not

Leadership Team reports

Report Specs the Warehouse Already Supports

Figure status

  • Available nowAvailable now — Computed from today’s consented file
  • Resolves laterResolves later — Needs campaign send and ticket sale facts from the pilot
Grain
One row per contactable person per preferred channel
Cadence
Weekly during the pilot; monthly thereafter
Decision it drives
Whether the Australian proof market has enough consented reach to proceed past gate G1
Tables
vw_marketable_audiencedim_persondim_geography
Columns
person_skchannelstatesa2_code_2021marathi_speaking

Available now

Marketable people

193

Email reachable

127

Mobile reachable

66

States covered

7

Marathi at home

118

Resolves once the pilot transacts

  • Campaign open and click rates
  • Ticket sell-through by segment
Grain
One row per person per send, joined to ticket sales
Cadence
Per campaign within 72 hours of send; weekly roll-up for Leadership
Decision it drives
Which segments to scale, pause or redesign before the next on-sale
Tables
dim_campaignfact_campaign_sendfact_ticket_salevw_marketable_audience
Columns
campaign_idchanneldeliveredopenedclickedticketsamount_aud

Available now

Named segments ready

6

Largest segment

25–44 metro Victoria and New South Wales (86)

Resolves once the pilot transacts

  • Delivered / opened / clicked
  • Tickets and amount_aud per campaign
  • Cost per ticket by channel
Grain
One row per consent event; serving view is the sendable cut
Cadence
Daily automated test; weekly Leadership summary
Decision it drives
Go / no-go on each send; remediation if WITHDRAW events are not suppressed
Tables
fact_consent_eventdim_personvw_marketable_audience
Columns
actionpurposesourcechannelperson_sk

Available now

Consent rate

84%

Suppressed

38

Consent sources

6

Resolves once the pilot transacts

  • Grant / withdraw event volume over time
  • Unsubscribe rate after each send
Grain
One row per suburb / SA2 with audience and, later, sales
Cadence
Monthly; before each venue commitment
Decision it drives
Where to book the next three to five pilot events
Tables
dim_geographyxref_postcode_sa2vw_marketable_audiencefact_ticket_sale
Columns
suburbpostcodesa2_code_2021ratioticketsamount_aud

Available now

Suburbs

47

Postcodes

40

SA2 areas

38

Resolves once the pilot transacts

  • Tickets and revenue by suburb and SA2
  • Sell-through versus audience density

Legal footing. Consent health is a Leadership Team report because the downside is measured in penalty units. The exposure these reports keep visible