All projects

Case study · Cabify Spain · 2026

Events Intelligence

Forecasts learn from history, and history does not know that a stadium concert is on Saturday or that taxis strike on Thursday. Events Intelligence is a Claude skill that scans the week or month ahead for 13 Spanish regions and hands the contact centre and operations a workbook they can plan from, hour by hour.

13 regions · ~90 sourcesClaude automation
ClaudeClaudeGoogle SheetsGoogle SheetsGoogle DriveGoogle DriveSlackSlack
My roleDesigned the skill, the source list, the deduplication and the workbook format.
When2026 · weekly and monthly editions
Built withClaude with a custom skill and web research, Google Sheets, Drive, Slack
StatusRunning. The weekly edition covers Monday to the next Sunday; the monthly one covers the next calendar month.
13
regions, each with its own tab
~90
curated sources, grouped by type
15
tabs in every delivered workbook
394
events in the October monthly edition
events · week gridsynthetic data
Week grid of expected impact by day and hour for one region
The week grid for one region: 7 days by 24 hours, shaded by expected impact, with the events behind the busiest blocks. Synthetic events; the layout mirrors the delivered file.

Why it exists

The forecasting models in this portfolio learn from history. They do well on a normal Tuesday and badly on the day of a derby, a trade fair or a strike, which are exactly the days that matter for staffing and supply. A scheduled skill now collects them for all 13 regions, the same way every time.

How it works

~90 curated sourcesleague calendars,venues, city agendas,unions, ports, airportsCollect per region13 regions, weekly ormonthly windowDeduplicatestable ID per event,same event from manysourcesImpactattendance band, timewindow, demand or supplyside15-tab workbookmaster, day × hour grid,one tab per regionSlackthe file and a shortsummary
History cannot predict the exception. This is how the exception gets into the plan before it happens.
  • Sources. About 90 curated sources, grouped by type: league calendars, venue agendas, city event listings, trade fair calendars, union and transport notices, port and airport schedules. The list is part of the skill, so the output does not depend on what a search engine happens to return that day.
  • Windows. Weekly mode covers Monday to the next Sunday. Monthly mode covers the next calendar month and runs early enough for the contact centre to plan rosters.
  • Deduplication. The same concert appears in the venue, the ticketing site and the city agenda. Each event gets a stable ID, so it is counted once and later runs update it instead of adding a copy.
  • Impact. Each event carries an attendance band, a time window with the build-up and the exit, and whether it moves demand or supply. A strike or a closure is flagged separately from a concert.
  • Delivery. A 15-tab workbook: a master list, a day-by-hour grid and one tab per region, dropped in Drive and announced in Slack.
TypeWhat it covers
DemandFootball and basketball matches, concerts, festivals, trade fairs, cruise arrivals, airport peaks on bank holidays
SupplyTaxi or transport strikes, demonstrations, road closures, roadworks, marathons and parades
RulesLow-emission zones, election days and other one-off restrictions
events · listsynthetic data
Events table with filters
The events list: date, time window, region, category, venue type, attendance band, effect, impact, source type and confidence. Synthetic events.

What I learned

  • A curated source list beats open search. It is boring to maintain and it is the reason the output is stable from one week to the next.
  • The exit matters as much as the start. Demand peaks when a stadium empties, not when the match begins, so every event carries its time window.

The screenshots are a synthetic render: invented events and generic venue types, in the layout of the real workbook.