Skip to content
English
  • There are no suggestions because the search field is empty.

Playbook: Destination Customized Inputs for Event Impact Report (Advisor)

What this produces: a per-event and portfolio projection of direct visitor spending and tax generation across the destination's event calendar, calculated with their own rates and assumptions rather than platform defaults. Optionally rolled up into a venue-level view.


Surface: Compass Advisor, used by a destination logged into their own Playeasy profile.

What this produces: a per-event and portfolio projection of direct visitor spending and tax generation across the destination's event calendar, calculated with their own rates and assumptions rather than platform defaults. Optionally rolled up into a venue-level view.

What it is not: an economic impact study. No multiplier, no indirect or induced effects. It is a conservative, preliminary projection of direct spending.

 

The model — read this before anything else

Three groups. Everyone at an event spends something — the questions are how much, and whether they paid for a hotel bed.

Group

Who they are

Rate

Basis

Local residents

Live in the destination

LocalResidentSpend — default $22 / day

Per person, per day

Overnight travelers

Non-local, staying in a hotel

OvernightTravelerDaily — default $150 / day

Per person, per day

Day travelers

Non-local, no hotel

DayTravelerDaily — default $79 / day

Per person, per day

The overnight rate covers lodging plus food, retail and everything else. The day rate covers everything a non-local spends except lodging. The local rate is deliberately smaller — a resident isn't traveling or lodging, but does spend on parking, concessions, retail and incidentals for each day they attend.

All three shares are derived from hotel rooms by default

This is the core mechanic of the whole model, and it needs no percentage typed in by anyone. Hotel rooms tell you how many people are staying overnight. What's left over splits between local residents and day travelers based on how big that leftover group is relative to the whole crowd — a large non-overnight group relative to attendance reads as mostly local; a small one reads as mostly day-trip.

OvernightTravelers = min(TotalAttendees, HotelRoomsPerNight × 2.5) (0 when Nights = 0)
OvernightShare = OvernightTravelers ÷ TotalAttendees
NonOvernight = TotalAttendees − OvernightTravelers

LocalResidents = NonOvernight × (1 − OvernightShare)
DayTravelers = NonOvernight × OvernightShare

Read what this does at the extremes:

  • Zero hotel rooms → 100% local residents. OvernightTravelers = 0, OvernightShare = 0, so every non-overnight attendee defaults to local. A single-day 5K with no room block is a neighborhood event by default, not a tourism draw.
  • Rooms cover the whole crowd → close to 100% overnight. OvernightShare approaches 1, so almost nothing is left to split between local and day-trip.
  • A modest room block relative to a big crowd → weighted toward local. A 1,000-person event with 50 rooms/night has an OvernightShare of 12.5%, so most of the non-overnight 875 people default to local rather than day-trip.
  • A. Provide it event by event — list the events with gaps and type in participants, spectators and rooms for each.
  • B. Provide one set of figures for all events — one participants/spectators/rooms figure applied uniformly across every gapped event.
  • C. Let Advisor assume — rooms default to (0.40 × Participants) + (0.10 × Spectators) wherever participants and spectators are known; where those are also missing, default to the median among this pull's events that do have real figures, named explicitly as a borrowed median.
  • A. Provide the split yourselves — % Local Residents, % Day Travelers, % Overnight Travelers, either per event or one blended split applied across all of them.
  • B. Let Advisor derive it from the rooms already gathered — the default mechanic above: hotel rooms decide the overnight count, and the leftover splits toward local or day-trip based on how large that leftover is relative to the crowd.
  • Any event whose PeoplePerRoom falls outside roughly 1.5–4 — name the two figures in tension.
  • Any single-day event with a sizeable estimated room demand (say, over 50 rooms/night) that is defaulting to 100% local because Nights = 0. That's the model working as designed, but confirm with one question: do teams for this event typically travel in the night before? If yes, that changes Nights to 1 and reopens the room-derived split for that event — recompute it, don't just override the percentages by hand while leaving Nights = 0.
  • A. Room Rate / ADR — default $116. Keep it, or provide your own?
  • B. Lodging Tax % (TDT or bed tax) — default 6%. Keep it, or provide your own?
  • C. Sales Tax % (state + any local surtax) — default 6%. Keep it, or provide your own?
  • D. Other Tax % and Flat Tax Per Room Night, if any — both default to $0.
  • E. Any change to the default spending rates — Day Traveler $79 / Overnight Traveler $150 / Local Resident $22?
  • Full impact — the whole event credited to each venue it ran at. Columns sum to more than the portfolio total, by design.
  • Adjusted impact — the event split evenly across its venues. Columns sum to the portfolio total.

        Every one of these is a default, not a fact, and every one is editable per event. A destination that knows a specific event draws heavily from out of state even with few hotel rooms booked should override it — the room-derived split is a reasonable starting point, not a claim about who actually showed up.

        People per room is the other half of the mechanism

        PeoplePerRoom = OvernightTravelers ÷ HotelRoomsPerNight (n/a when Nights = 0)

        This runs forward, to produce the default above at a target of 2.5 people per room. It also runs backward as a check: if the destination overrides any of the three shares, recompute occupancy from the resulting overnight count and flag anything outside roughly 1.5 to 4. Outside that band, the override and the room count disagree — name which two figures are in tension and ask.

         

        Defaults — apply these, then let the destination change any of them

        Present every table with these already applied. The destination edits what they disagree with, per event or across the board. Nothing on this list is a required question.

        Input

        Default

        Overnight Traveler Daily Spending

        $150 / person / day

        Day Traveler Daily Spending

        $79 / person / day

        Local Resident Spending

        $22 / person / day

        % Local Residents / % Day Travelers / % Overnight Travelers

        derived per event from that event's rooms — see above

        Hotel Rooms Per Night

        from event_impact_estimate if present; otherwise (0.40 × Participants) + (0.10 × Spectators)

        People Per Room

        2.5

        Room Rate / ADR

        $116

        Lodging Tax %

        6%

        Sales Tax %

        6%

        Other Tax %, Flat Tax Per Room Night

        0

        Days

        event date span, inclusive

        Nights

        Days − 1

        Say the defaults are defaults, once, plainly:

        These are default assumptions, not fixed values — change any of them and I will re-run. Right now every event is using $150/day for overnight travelers, $79/day for day travelers, and $22/day for local residents, a $116 average room rate, and 6% for both lodging tax and sales tax, with the local/day/overnight split worked back from each event's hotel rooms.

        There is no input on this list that should ever fall back to $0 for lack of a stated default. Room Rate, Lodging Tax and Sales Tax all have real defaults now specifically so that "use default assumptions" has something to apply — treating an unspecified rate as $0 understates every event and is never the right fallback.

        Never present a defaulted figure as though it came from the event record. Asterisk it, and name what was defaulted in one line under the table it appears in.

         

        How to run this

        The destination is already resolved. The user is inside Advisor, on their own profile. Do not ask which destination, do not run a destination search, do not ask for a destinationId. Start at Step 1.

        Do not open with caveats about missing data. Playeasy supplies event names, venues, dates, participants and spectators, and sometimes hotel rooms. It does not supply spending rates, ADR, or tax rates — but all three now have stated defaults, so this is never a reason to ask before showing something. That is the expected design of this workflow, not a limitation to flag.

        Do not tell the user that data is missing from Playeasy, that figures will be "calculated by the AI," or any variation. Pull what the tools have, apply the defaults, and ask only for what the destination might reasonably want to change.

        Ask questions as a stacked, lettered list. Every question goes on its own line, as its own bullet, prefixed with a letter:

        A. First question
        B. Second question
        C. Third question

        Each item starts on a new line. Never run lettered items together in a paragraph.

        Do flag internal contradictions. If an override makes overnight travelers exceed total attendees, if the resulting people-per-room falls outside 1.5–4, or if an event would compute to an unexpectedly small or large number, say so and ask — before running the numbers, not after.

        Four content steps, each building on the last, and each with its own grid: attendance and rooms first; who those attendees are second; the money last. Don't collapse them — asking for tax rates before the destination has seen the visitor-mix grid means they're approving numbers they haven't seen yet.

         

        Step 1 — Get the timeframe

        Ask for the date range first. Recommend one month or less per run — a longer window returns too many events to review carefully and produces a total nobody can audit.

         

        Step 2 — Pull attendance and rooms, and close the gaps

        This takes two calls, and both are required.

        2a. Get the event list — names, types, venues, dates.

        profile_search Event mode: Audit
        eventFilter: { startDate, endDate, timeframe: "Any" }

        Set timeframe: "Any" explicitly. The default is Upcoming, which silently drops past events and returns a short list that looks perfectly reasonable.

        2b. Get participants, spectators and hotel rooms — from the impact tool, not the event search.

        event_impact_estimate
        searchFilter: { startDate, endDate }

        profile_search does not return participant counts, spectator counts, or hotel room blocks. Those fields are private on the event record and the search tool will never surface them, no matter which mode is used. event_impact_estimate is the only path to them: it returns them for the events it can price, and lists whatever is missing under incompleteEvents with an incompleteFields array naming the gaps.

        Never fall back to estimating attendance because the event search came back empty on those fields. That is not missing data; it is the wrong tool. Call event_impact_estimate and take the real numbers before defaulting anything.

        Match the two responses on event id, then merge.

        Combine multi-venue events

        Playeasy publishes one page per venue. A tournament across three facilities appears as three rows carrying the same totals on each row — the organizer entered the whole event's figures on every venue page.

        Group rows sharing a name and date range into one event. Take participants, spectators and hotel rooms per night once. Never sum across duplicate rows.

        Keep every venue name — needed for the venue rollup.

        Derive days and nights

        Days = event date span, inclusive (Oct 3–4 = 2 days)
        Nights = Days − 1 (Oct 3–4 = 1 night)

        Present the attendance grid

        Event

        Type

        Venues

        Participants

        Spectators

        Rooms/Night

        Nights

        Type is the event's category and level from Playeasy — tournament, championship, game, race, and so on, plus amateur/youth/professional where available.

        Any gap in Participants, Spectators, or Rooms/Night is filled before moving on. Show the grid with gaps visibly blank or asterisked, then offer, as a lettered list:

              Update the grid with whatever they choose. Nothing here writes back to Playeasy.

               

              Step 3 — Get the visitor mix

              With attendance and rooms settled, the next question is who these attendees are — not the destination's tax rates, not ADR. Keep this step entirely about people, and don't let ADR or tax questions creep in here.

              Ask, as a lettered list:

                  If B, or if the destination doesn't answer this step at all, apply the default and present the result. If A, take their percentages, confirm they sum to 100%, and recompute PeoplePerRoom as a check.

                  Present the derived (or provided) mix as its own grid, separate from the attendance grid:

                  Event

                  Total Attendees

                  % Local

                  % Day

                  % Overnight

                  Local

                  Day

                  Overnight

                  Ppl/Room

                  Asterisk anything defaulted rather than supplied.

                  Flag contradictions here, before moving on:

                       

                      Step 4 — Get ADR and tax rates

                      Everything about who the attendees are is settled. This step is only about money. Ask as a lettered list:

                                Offer the same shapes as earlier steps where they apply: one set of figures for all events, individually per event, or keep the defaults shown — and if the destination says nothing more specific than "use the defaults," that means $116 / 6% / 6% / $79 / $150 / $22, never $0 for anything on this list.

                                 

                                Step 5 — Calculate and present

                                The formula

                                TotalAttendees = Participants + Spectators

                                HotelRoomsPerNight = on file, else defaulted per Step 2
                                TotalRooms = HotelRoomsPerNight × Nights

                                # Default three-way split, derived from this event's own rooms (Step 3):
                                OvernightTravelers = min(TotalAttendees, HotelRoomsPerNight × 2.5) (0 when Nights = 0)
                                OvernightShare = OvernightTravelers ÷ TotalAttendees
                                NonOvernight = TotalAttendees − OvernightTravelers
                                LocalResidents = NonOvernight × (1 − OvernightShare)
                                DayTravelers = NonOvernight × OvernightShare

                                # If the destination overrides any share directly, take their numbers and re-check occupancy:
                                PeoplePerRoom = OvernightTravelers ÷ HotelRoomsPerNight (flag outside 1.5–4)

                                LocalSpending = LocalResidents × Days × LocalResidentSpend
                                DaySpending = DayTravelers × Days × DayTravelerDaily
                                OvernightSpending = OvernightTravelers × Days × OvernightTravelerDaily

                                VisitorSpending = LocalSpending + DaySpending + OvernightSpending

                                LodgingRevenue = TotalRooms × ADR
                                LodgingTaxGenerated = (LodgingRevenue × LodgingTaxPct) + (TotalRooms × FlatRoomTax)
                                SalesTaxGenerated = VisitorSpending × SalesTaxPct
                                OtherTaxGenerated = VisitorSpending × OtherTaxPct

                                TotalEstimatedSpending = VisitorSpending
                                + LodgingTaxGenerated
                                + SalesTaxGenerated
                                + OtherTaxGenerated

                                # The three-way spend breakout shown in the report — reporting only, changes nothing above:
                                HotelSpend = LodgingRevenue
                                LocalSpend = LocalSpending
                                TravelerSpend = VisitorSpending − HotelSpend − LocalSpend (day + overnight, non-lodging)

                                HotelSpend + LocalSpend + TravelerSpend = VisitorSpending, always, exactly. LodgingRevenue was already being calculated as the tax base; it's also the one figure in this model that is unambiguously money paid to a hotel for a room, so it becomes Hotel Spend without further adjustment.

                                If HotelSpend alone exceeds VisitorSpending, TravelerSpend would go negative. That's a contradiction — flag it and ask which input is off.

                                Seven errors the formula is built to prevent

                                The rate is chosen by residency first, then by whether the attendee books a hotel. Nothing else selects a rate — not event reach, not sport, not event size.

                                All three shares default from the room count, never from a flat guess. Zero rooms defaults an event to 100% local. A thin room block relative to attendance defaults heavily local, not evenly split.

                                Zero nights means zero overnight travelers, full stop. A large estimated room demand on a single-day event does not create overnight travelers; it's a signal to ask whether the night count itself is wrong.

                                People per room is calculated, never assumed. Outside roughly 1.5–4, the room count and the split disagree — flag it.

                                Lodging revenue is never added on top of Visitor Spending. TotalRooms × ADR is the tax base and, for reporting, the Hotel Spend piece of Visitor Spending already computed. Adding it again double-counts every room.

                                Days drive spending, nights drive lodging. A one-day event has 0 nights but a full day of attendee spending.

                                ADR and both tax rates have real defaults, so none of them silently becomes $0. "Use default assumptions" means $116 ADR and 6%/6% tax, never a rate that was never actually specified defaulting to nothing.

                                Verification case

                                Day $79 · Overnight $150 · Local $22 · ADR $116 · Lodging 6% · Sales 6% · 4 days · 4 nights · 156 participants · 234 spectators · 125 rooms/night · 2.5 people/room

                                Step

                                Calculation

                                Result

                                Total attendees

                                156 + 234

                                390

                                Overnight travelers

                                min(390, 125 × 2.5)

                                312.5

                                Overnight share

                                312.5 ÷ 390

                                80.1%

                                Non-overnight

                                390 − 312.5

                                77.5

                                Local residents (derived)

                                77.5 × (1 − 80.1%)

                                15.4

                                Day travelers (derived)

                                77.5 × 80.1%

                                62.1

                                People per room (check)

                                312.5 ÷ 125

                                2.5 ✓ in range

                                Local spending

                                15.4 × 4 × $22

                                $1,355.26

                                Day spending

                                62.1 × 4 × $79

                                $19,623.40

                                Overnight spending

                                312.5 × 4 × $150

                                $187,500.00

                                Visitor Spending

                                 

                                $208,478.65

                                Lodging revenue

                                500 × $116

                                $58,000.00

                                Lodging Tax Generated

                                $58,000 × 6%

                                $3,480.00

                                Sales Tax Generated

                                $208,478.65 × 6%

                                $12,508.72

                                Total Estimated Spending

                                 

                                $224,467.37

                                 

                                 

                                Hotel Spend

                                = Lodging revenue

                                $58,000.00

                                Local Spend

                                = Local spending

                                $1,355.26

                                Traveler Spend

                                $208,478.65 − $58,000 − $1,355.26

                                $149,123.40

                                The report

                                Two tables, same events, same order.

                                The full record:

                                Event

                                Type

                                Venues

                                Days

                                Nights

                                Participants

                                Spectators

                                Local

                                Day

                                Overnight

                                Ppl/Room

                                Total Rooms

                                Visitor Spending

                                Lodging Tax

                                Sales Tax

                                Total Impact

                                Asterisk any figure that came from a default rather than the event record or the destination's own input.

                                The spend breakout:

                                Event

                                Hotel Spend

                                Local Spend

                                Traveler Spend

                                Total Estimated Spending

                                Hotel Spend + Local Spend + Traveler Spend = Total Estimated Spending − taxes on every row.

                                Then the portfolio total for both tables, stated with the destination name, date range, and pull date.

                                 

                                Step 6 — Offer the venue rollup

                                After presenting the event report, ask:

                                Would you like this rolled up into a venue impact report — the same figures organized by the venues hosting them?

                                If yes, attribute each event's impact to its venues. Multi-venue events need two figures:

                                    Venue

                                    Events

                                    Full Impact

                                    Adjusted Impact

                                    Show both and say plainly which one sums to the portfolio total. A venue where the two diverge sharply hosts shared tournaments — that gap is information, not a discrepancy to reconcile away.

                                     

                                    Rules that do not bend
                                    1. Attendance and room figures come from event_impact_estimate, never from profile_search. Pull them before defaulting anything.
                                    2. Never sum duplicate venue rows. Take the event's figures once.
                                    3. Attendance and rooms, then visitor mix, then money — in that order, in separate steps. Don't ask about tax rates before the destination has seen the visitor-mix grid.
                                    4. Local, day, and overnight are the only three groups, and they sum to 100% of attendees. All three default from the room count.
                                    5. Zero hotel rooms defaults an event to 100% local residents. Zero nights means zero overnight travelers regardless of estimated room demand.
                                    6. A thin room block relative to attendance defaults heavily local, not evenly split.
                                    7. ADR and both tax rates have real defaults — $116, 6%, 6%. Nothing on the defaults list ever falls back to $0 for lack of a stated figure.
                                    8. Hotel Spend is TotalRooms × ADR, exactly, every time. Local Spend and Traveler Spend are read off the same calculation as Visitor Spending, never re-derived separately.
                                    9. People per room is calculated, never assumed. Outside roughly 1.5–4, flag the two figures in tension.
                                    10. Days for spending, nights for lodging.
                                    11. Absent is not zero. A field with no value means no value exists.
                                    12. Participants and spectators are organizer estimates, not verified attendance.
                                    13. Nothing writes back to Playeasy.
                                    14. Date every figure. Re-run rather than reusing an old pull.
                                    15. Defaulted figures are asterisked on their own row, not explained in a preamble.
                                    16. Questions are always a stacked, lettered list — one item per line.
                                    17. This is a conservative, preliminary projection of direct spending — never an economic impact study.

                                                                       

                                                                      Tool reference

                                                                      Need

                                                                      Call

                                                                      Event names, types, venues, dates

                                                                      profile_search Event mode: Audit eventFilter: { startDate, endDate, timeframe: "Any" }

                                                                      Participants, spectators, hotel rooms

                                                                      event_impact_estimate searchFilter: { startDate, endDate } — the only source; profile_search never returns these

                                                                      One event in detail

                                                                      profile_details Event id

                                                                      Rooms actually booked through Playeasy

                                                                      profile_report Destination Hotels startDate endDate

                                                                      On measured bookings. profile_report Hotels returns rooms booked through Playeasy — a verified floor, not total pickup.

                                                                      On event_impact_estimate. Playeasy's own calculator, built on the Sports Facilities Companies methodology. It is the right tool when a destination wants the platform's modeling as given. This playbook is for the other case — a destination running its own coefficients.