This report was generated with a test API key, so every member, order and number below is invented sandbox data. Nobody named here is a real customer and nothing here is a real problem. Re-run with a live key to see the actual club.
Generated June 15, 2026 at 09:00. Read from the sandbox (test API key) — invented data.
7 members, most urgent first.
The last charge was declined. These are the calls worth making today: a card updated this week keeps the member, and one more failed retry usually doesn't.
from club_status == "past_due"
| Member | What's happening | |
|---|---|---|
| Dana Whitfield | dana@example.test | The last dues charge did not go through, on the card ending 4242. |
Active members with nothing to charge — usually somebody migrated from an older system who never re-authorised. They look healthy in every other report you have.
from club_status is active and club_card_last4 is empty
| Member | What's happening | |
|---|---|---|
| Priya Raman | priya@example.test | Active in the club with no card on file (club_card_last4 is empty). This is where a member imported from another system waits until they re-authorize payment here, so the next charge will fail. |
| Ravi Mehta | ravi@example.test | Active in the club with no card on file (club_card_last4 is empty). This is where a member imported from another system waits until they re-authorize payment here, so the next charge will fail. |
Still members, not being shipped. A note shortly before the resume date is what keeps a pause from quietly becoming a cancellation.
from club_paused (with club_resume_on when it is set)
| Member | What's happening | |
|---|---|---|
| Ines Okafor | ines@example.test | The membership is paused (club_paused), due to resume on 2026-09-01. |
One skip is ordinary. A skip from a member who also appears in next month's list is somebody telling you something before they cancel.
from club_skip_next
| Member | What's happening | |
|---|---|---|
| Tomas Lindqvist | tomas@example.test | They have chosen to skip the next shipment (club_skip_next). |
Paying, current, and hasn't bought anything inside the window — at the cellar door or in the shop. The earliest signal available here, and the cheapest one to act on.
from no sale and no order in the window, joined on customer_id
| Member | What's happening | |
|---|---|---|
| Aiko Tanaka | aiko@example.test | Nothing bought since 2026-02-15 (the last 120 days) — no cellar-door sale and no online order. Paying dues, buying nothing else. They joined on 2026-03-03, so this may simply be a new member whose first shipment has not gone out yet. |
| Nadia Haddad | nadia@example.test | Nothing bought since 2026-02-15 (the last 120 days) — no cellar-door sale and no online order. Paying dues, buying nothing else. They joined on 2026-03-03, so this may simply be a new member whose first shipment has not gone out yet. |
Members grouped by the month they joined, and how many of them are still in the club.
from club_since and is_club_member
| Joined in | Joined | Still active | Retained |
|---|---|---|---|
| January 2026 | 4 | 3 | 75% |
| February 2026 | 4 | 3 | 75% |
| March 2026 | 3 | 3 | 100% |
from club_tier_id joined on /v1/club/tiers
| Tier | Members | Monthly value |
|---|---|---|
| Estate Twelve | 3 | CA$320.00 |
| Cellar Reserve | 2 | CA$190.00 |
| Bench Six | 3 | CA$180.00 |
| Unknown tier | 1 | 0.00 |
from club_status == "none" with a club_since
| Member | Club since | |
|---|---|---|
| Frank Osei | frank@example.test | 2026-02-12 |
| Kit Alvarez | kit@example.test | 2026-01-08 |