Observer Ranch Command Center

Observer Ranch — Command Center

Loading…

Daily Master Review

What needs attention

Data-derived flags, recomputed on every open/refresh from the same reads as the freshness chips above — exactly as current as they say. Not a stored list.

    Domains at a glance

    One-line rollup per domain — click to open its tab. All nine domains are wired live; a dash just means that source has not finished loading, or its fetch failed — the card says which.

    Planned

    Cross-funnel strip

    Impressions → clicks → checkout-started → bookings, in one in-range view tying Ads + web + bookings together.

    Metric: full-funnel volume & step conversion · Source: composes ADS domain + web analytics + SNAPSHOT bookings (no new collector) · Decides: where the funnel leaks — spend, landing page, or checkout.

    Planned

    Durable Revenue Scoreboard (earned basis)

    Same durable-vs-owner split as the Revenue tab, but on NewBook EARNED (P&L) basis instead of placed.

    Metric: earned revenue durable vs owner-dependent · Source: NewBook Earned collector + Shopify store domain · Decides: is the reset year on track. The placed-basis v1 is live on the Revenue tab.

    All revenue streams — last 30 days

    One directional rollup across every system. Bases differ by stream and are labeled on each card (lodging = placed/tax-incl, online store = net, events = gross tickets, ranch store = gross incl. tax). NewBook Earned stays the P&L truth.

    Lodging detail — NewBook (placed basis)

    ⚠ Bookings-PLACED basis, not P&L earned. Every dollar here is revenue attached to bookings by the date they were placed (the SNAPSHOT feed) — not NewBook Earned (the P&L source of truth). The earned-basis scoreboard is PLANNED (needs a NewBook earned collector).

    Revenue per day — all streams

    Stream mix

    Lodging channel share

    Placed basis; colors match the Sources tab. Unattributed folds into Direct. Hover for bookings + share.

    Durable Revenue Scoreboard v1

    draws a dashed reference line on the chart (not a stored figure)

    Channel share — revenue & bookings

    Placed basis. The Unattributed share is surfaced explicitly (headline KPI) and never redistributed into other channels.

    By revenue
    By bookings

    Monthly by source — the OTA shift over time

    Calendar months since Jan 2026, placed basis, all lodging bookings — a fixed view that ignores the 30/60/90 toggle, so old months never intermingle with the live windows. Same channel groups and colors as above. Replaces the derived discrete-30-day periods: calendar months compare cleanly month over month, and YoY columns light up automatically once Jan 2027 data exists.

    Channel groups — share of bookings & revenue

    Bookings-feed channels rolled into strategic groups: OTA (Airbnb+Booking.com+VRBO/Expedia+Hipcamp) · Direct (direct/phone+online+returning) · Paid — Google · Owner/SWN (Space Weather News+Founder) · Membership · Other. Placed basis.

    Channels by revenue

    Each channel: bookings, gross revenue, and average per booking. Placed basis.

    Planned

    Channel economics (net of commission)

    Net revenue per channel after commission. Not shown yet — requires real per-channel commission rates (Airbnb / Booking.com / VRBO / Hipcamp all differ). No commission rate is fabricated here.

    Source: per-channel commission schedule + bookings feed · Decides: true net contribution by channel.

    Planned

    Paid channel detail

    ~16 paid bookings/mo shown as counts and dollars (not share ratios), joined from the ads engine.

    Metric: paid bookings + spend + net · Source: ADS domain joined to bookings · Decides: which OTAs to feed vs wean toward direct.

    Bookings & revenue placed per day

    When reservations were booked (not stay dates). Bars = revenue, line = booking count.

    Channel mix by revenue

    Booking value distribution

    Count of bookings by total (tax-excl).

    Revenue by unit type

    Bars = total revenue.

    Length of stay

    $/night by unit type (top 12)

    The margin signal: cabins earn multiples of camper/RV per night.

    What the data says

    Channels & OTA

    Next 7 nights — open to sell

    Where are the gaps — past 30 days → next 30

    Each cell = % of that category's units booked on that night. Green = open (sell it), red = full. The dark line marks today — left of it is what actually happened, right of it is the forward book. Weekend columns (Fri–Sun) are outlined. Occupancy = booked units ÷ capacity — plain arithmetic, no modelling.

    Occupancy timeline — past 60 days vs next 45

    Weekday vs weekend occupancy & open unit-nights

    Average booked % across the next 45 days, split Mon–Thu vs Fri–Sun. "Open unit-nights" = empty unit × nights over the next 30 days — the raw sellable inventory.

    Fill the gaps — recommended actions

    Derived straight from the occupancy numbers above. Recommendations only — change rates in the NewBook UI, never automated.

      Spend & results — window

      🧠 AI Insight — Google Ads

      On-demand model read of the latest ad data. Advisory only — nothing is changed automatically.

      Click Refresh AI Insight for a fresh read of trends, recommendations, and proposed changes from the current data.

      OR-Bookings-Search — last 30 days (the engine)

      Purchases & return — last 30 days

      Funnel — last 30 days

      Search terms — last 30 days

      Ad groups — yesterday

      Campaigns

      Top converting keywords

      Clicks, but no bookings

      A funnel / landing-page problem — not a bidding one.

      Online Store — Shopify & Members

      Shopify commerce + membership (membership = a Shopify customer tag; its money flows through Shopify). Reads Shopify live at load (cached; Refresh re-fetches). Membership · Book · Merch = durable-ish OR revenue; Donations = variable; Events/Tickets = owner-dependent (ticket detail also lands on the Events tab). Top-line net sales/orders honor the 30/60/90/120 toggle; the family split & membership purchases are trailing 90d; member count is point-in-time.

      Net sales by product family

      Observer Review membership — monthly revenue

      The Observer Review Vol. 1 — presale opened Aug 27 · closes Sep 20

      Member video engagement — Bunny library "Observer Ranch" · daily 6:20 AM MT pull

      Community — Suspicious0bservers (Tevello)

      Planned

      Member vs non-member purchase behavior

      Basket size & repeat rate; MEMBERSHIP discount usage as a "members actually transacting" proxy.

      Source: Shopify MCP (orders + segment) · Decides: is membership driving commerce.

      Planned

      Per-video watch breakdown

      Watch minutes and engagement score per talk (Bunny exposes engagementScore per video GUID).

      Source: Bunny Stream per-video statistics · Decides: which talks members actually finish.

      Operational surface — "are committed events selling?" — not a growth scoreboard. Event revenue is labelled owner-dependent everywhere it rolls up, so a good ticket month cannot masquerade as durable progress. Sale-date windows follow the global 30/60/90/120 toggle, same as every other tab; the last-7-days pulse (plus all-time) sits below. Source: TicketSpice rows in customer_events, rolled up daily by [OR] Events Rollup (cancel/refund/void excluded; paid vs free split by amount).

      State of the Earth Tour — all time fixed view · ignores the window toggle

      All seven stops, first sale to now — never mixed with the windowed list below. GA / VIP are real TicketSpice levels. VIP closes 10 days before each event for catering counts.

      Ticket revenue by event

      Every event in the window

      Tickets are counts of valid sales in the window; paid vs free split by amount. Revenue is gross ticket revenue.

      Last 7 days — always-on pulse

      Fixed trailing-7-day view (independent of the toggle above), plus the all-time total for scale.

      Planned

      Days-to-event vs %-sold curve

      Sell-through pacing as each event approaches.

      Source: TicketSpice puller + event-date registry · Decides: does an event need a marketing push.

      Planned

      Links out to each event page

      Direct links to each event's NewBook Activity / TicketSpice / Shopify page.

      Source: event registry · Decides: fast operational jump to manage a live event.

      Email

      Two lists, side by side, both windowed by the global toggle (1 yr included): the Observer Review — the SWN-side newsletter, running on Kit — and Flodesk, the OR campground list. Clicks are the headline everywhere — Apple MPP inflates opens, so opens are muted and labelled.

      Observer Review — attributed revenue / day Kit Commerce · $5.99/mo · follows the toggle

      Observer Review — Kit (SWN side)

      Broadcast performance

      Flodesk — OR campground list

      Flodesk — recent sends

      Planned

      Email-attributed income

      Flodesk Checkout is $0 — verified live, not in use, so no income exists inside the email platforms themselves. Email-driven bookings/store sales need the GA4 email channel slice (UTM-tagged links in sends) added to the funnel collector.

      Source when built: GA4 via the funnel collector · Decides: what revenue email actually drives.

      Ranch Store — POS (Square)

      One continuous revenue series: Firefly history (Jan 1 – Aug 30, frozen import) + Square live (go-live Aug 30) — the top row follows the global 30/60/90/120 toggle and always shows the Firefly/Square split. Square is the source of record going forward; Firefly daily detail is archived in pos_history. Square catalog fully categorized Sep 2 using this data.

      Loading POS data from Square…

      Firefly history — retired POS one-time import · Sep 2, 2026

      What sold — revenue by category

      Monthly gross — Jan–Aug 2026

      Top products by revenue

      Top products by quantity

      SEO & Web

      Two live feeds: the GSC collector (clicks/impressions, Mondays 6:30 AM MT, ~250d history — the 30/60/90/120 toggle drives its scoreboard and charts) and, new in v1.29, the rank tracker (real Google positions for 18 target keywords vs 6 competitors, Serper · Colorado · Mondays 6:15 AM MT). The Actions panel turns both into a ranked list of site changes and blog targets — recommendations only; a human writes and publishes. Both chips turn amber past 8 days.

      Waiting for the SEO domain from the data layer…