Percentage of First Time Buyers

Hello! I know there are a lot of questions about analyzing first-time buyers... what I'm trying to figure out is how I would build a dashboard to analyze the makeup of a particular performance or season: how many first-time buyers vs. returning visitors. Does anyone currently do something like this? And if so could you share your dashboard or setup? Thank you!!

Edited to add I'm hoping there's a non-SQL way to get there :)

  • I have a bar chart for this that operates as follows (screenshot below) with these formulas – I hope this helps!
     
    NTF:
    COUNT ( [Constituent ID] ,
      IF (
        MIN( DDIFF ( [Days in Date] , [Days in First Performance Date] ) ) = 0
        , MAX ( [Constituent ID] )
        , NULL
        )
    )
     
    Returning:
    COUNT ( [Constituent ID] ) -
    COUNT ( [Constituent ID] ,
      IF (
        MIN( DDIFF ( [Days in Date] , [Days in First Performance Date] ) ) = 0
        , MAX ( [Constituent ID] )
        , NULL
        )
    )
     
    Chart, bar chart

Description automatically generated
     
    Anh Le (she/hers/hers)
    Director of Marketing & PR
    OPERA THEATRE OF SAINT LOUIS
    email: ale@opera-stl.org
    phone: 314.963.4294 | mobile: 760.834.5926
    210 Hazel Ave St. Louis, MO 63119
     
     
  • I was curious if anyone might have a formula for lapsed buyers that are returning?  An example would be patrons who were active through 2019, skipped over a few years with no purchases, but came back and purchased this year.

     helped me get going with a formula going like below where it was dependent on the fiscal year offset (where in the fiscal year offsets you need to change the filters).  

    SUM ( [Constituent ID] ,
    IF (
    (
    ISNULL( ( [Total Ticket Count] , [Season Fiscal Current Year Offset between -4 and -1] ))
    OR ( [Total Ticket Count] , [Season Fiscal Current Year Offset between -4 and -1]) = 0
    )
    AND ( [Total Ticket Count] , [Season Fiscal Current Year Offset < -4]) > 0
    , 1
    , NULL
    )
    )

    I am wondering if anyone uses something similar for re-engaged buyers or something different from the above.  I've noticed this doesn't always work in returning data for me.

    Thanks

  • Hi all --

    Anh Le -- I created this same dashboard, however, if I'm understanding the formula correctly there's nothing to limit the returning buyers in the same year they first purchased, correct? For example someone could have came for the first time in the 2019 Spring Season, but then returned for the first time in the 2022 Spring season, they would be flagged as a 22 returning buyer, correct? 

  • Hi Hannah,
     
    I could be wrong, but my understanding is that in your proposed scenario, someone who attended first in 2019 would not show up as a new household within the 2022 season. I think this just looks at the first record of attendance, regardless of lapsed history in between seasons.
     
    Anh Le (she/hers/hers)
    Director of Marketing & PR
    OPERA THEATRE OF SAINT LOUIS
    email: ale@opera-stl.org
    phone: 314.963.4294 | mobile: 760.834.5926
    210 Hazel Ave St. Louis, MO 63119
     
     
  • I initially thought so too, however our 22 season is pulling more returning buyers than the NTF within one season. 

    Formulas are as follows

    # NTF

    COUNT ( [Constituent ID] ,
    IF (
    MIN( DDIFF ( [Days in Date] , [Days in First Performance Date] ) ) = 0
    , MAX ( [Constituent ID] )
    , NULL
    )

    # of Returning

    COUNT ([Constituent ID]) -
    COUNT([Constituent ID] ,
    IF(
    Min (DDIFF ([Days in Date] , [Days in First Performance Date]) ) = 0
    , MAX ([Constituent ID])
    , NULL
    )
    )

  • Hi Hanna,

    The best way to audit this might be to create a pivot widget filtered to that season, with Constituent ID on rows, and a value for:

    IF (
    MIN( DDIFF ( [Days in Date] , [Days in First Performance Date] ) ) = 0
    , 1
    , 0
    )

    Then from that value, hover and filter the widget to just the 1s and see how many rows (constituents) you have. Spot check some constituents in Tessitura. Then flip the filter to just the 0s and see how many rows you have, and spot check again.

  • I've just used your formulas which are great to get a season by season breakdown of new/ returning bookers, thank you!  If I wanted to then convert this into number of tickets bought by these cohorts / amount of ticket income from these cohorts, how would I do this?

  • Hi Melanie,

    I tried to set that up but I'm way far from an expert in complicated formulas...I'll share what I use below, but if anyone sees errors in this, please help correct me!

    Ticket Count from NTF audiences:

    SUM ( [Constituent ID] ,
    IF (
    MIN( DDIFF ( [Days in Date] , [Days in First Performance Date] ) ) = 0
    , [Total Ticket Count]
    , NULL
    )
    )

    Revenue from NTF audiences:

    same as above, I believe, but replacing ticket count with paid amount

    Again, this might be way off! I'm enthusiastic about Analytics but still learning a lot.

  • Thanks , I'll give that a try!  Ditto enthusiastic about what Analytics can do but still learning on the go!