How the Avena Terminal is built, run, and held to account.
This document is the canonical reference for institutional procurement, compliance, and risk review. It lists every upstream data source, every refresh cadence, the service levels we commit to, the security posture in production, and the license under which the open dataset is published.
Every dataset, named at the upstream provider.
No proprietary scraping that bypasses terms of service. Every feed is either publicly available, licensed through partnership, or federated by a verified counterparty.
| Layer | Provider | Cadence | Format | Coverage |
|---|---|---|---|---|
| Property listings | RedSP / MLS Costa (Spain), Casa Sapo (Portugal), Immobiliare.it (Italy) | Daily 03:00 UTC | XML / JSON | ES, PT, IT live · 24 EU markets in partner pipeline |
| Cadastral references | Catastro Spain (OVCCoordenadas) | On listing ingest | SOAP/XML | ES coastal regions; Navarra + País Vasco use foral cadastres (not covered) |
| Building footprints | OpenStreetMap (Overpass API) | On listing ingest | Overpass JSON | EU-wide |
| Macro indicators (rates) | European Central Bank Statistical Data Warehouse | Daily 06:00 UTC | SDMX-ML / JSON | Policy rate, Euribor 3M/12M, EUR/GBP/NOK/SEK/USD reference rates |
| Macro indicators (real) | Eurostat (JSON-stat 2.0) | Daily 06:00 UTC | JSON-stat | HICP, unemployment, GDP — all 27 EU member states |
| Climate risk | Copernicus Climate Data Store | Monthly | NetCDF / JSON | EU coastal — flood, wildfire, heat stress |
| French transactions | DVF (Demandes de Valeurs Foncières) — Open Data France | Quarterly | CSV | FR transaction microdata |
| Federated partners | Apply at /data-partners | Continuous | APIP v1.0 JSON | Open intake — partner submissions enter via signed key |
Update schedule for every persisted surface.
All scheduled jobs run on Vercel Cron. Each run writes a row to cron_logs; aggregate health is exposed at /api/v1/swarm/status.
| Feed | Schedule | SLA | Persisted to |
|---|---|---|---|
| Property feed sync | 03:00 UTC daily | 99% completion within 30 min | public/data-{cc}.json + Supabase |
| Property augmentation | Every 4h | 12 properties enriched per tick | properties_registry, property_geo, property_climate, property_market |
| Macro indicators | 06:00 UTC daily | All ECB + Eurostat series refreshed | macro_indicators |
| Counterpart developer scan | 04:00 UTC daily | All developers re-scored on drift | counterpart_developers |
| Counterpart discovery | 03:30 UTC daily | New developers ingested from listings | counterpart_developers |
| Precursor signal scan | 05:00 UTC daily | Up to 5 new signals per theme | precursor_signals |
| AVENA Index close | 23:50 UTC daily | One row written per UTC day | avena_history |
| Price snapshot capture | 4× daily (every 6h) | Per-ref per-day capture | price_snapshots |
How every number is computed.
Avena Score
Composite 0–100. Weights: 40% value (vs hedonic OLS market-reference), 25% yield (bottom-up ADR vs Airbnb/Booking), 20% location (beach/golf/amenity weighting), 10% quality (energy, build year, developer rating), 5% risk (completion + market regime).
Market-reference price (mm²)
Hedonic OLS regression with town dummies (≥8 obs threshold), log-area, beach distance, sea view, beds, villa indicator, pool, energy rating, frontline category. Tier-segmented (Budget <€200k, Mid €200–500k, Premium €500k–1M, Luxury €1M+) with global model fallback. Reported R² and RMSE published per run.
AVENA Index
Daily composite of median €/m², mean Avena Score, and inventory depth. Base period 2024-Q1 = 100. Quarterly aggregates published at /api/v1/sovereign-export in ECB/Eurostat/World Bank/IMF envelopes.
Counterpart Score
Developer creditworthiness 0–100. Starting score derived from listing volume, market concentration, and stale-listing rate. Daily drift driven by payment-delay signals, legal disputes, court judgements, delayed projects, financial stress. Six grades: AAV / AV / ABV / BBV / CV / DV.
Regime classification
Twenty macro indicators (ECB SDW + Eurostat + computed primitives). Score 0–10 from ten bull conditions and two bear deductions. Six regimes: SUPER_BULL / BULL / GROWTH / NEUTRAL / CAUTION / BEAR. Confidence derived from indicator dominance.
Yield estimate
Bottom-up nightly-ADR model calibrated against AirDNA Costa Blanca sample. Net of platform fees (15%), property management (20%), maintenance reserve (5%), local taxes. Occupancy seasonally adjusted by costa.
Full mathematical specification at /methodology. Any methodology change is announced 30 days in advance at /changelog with a version bump.
What we commit to, measurably.
| Metric | Target | Basis |
|---|---|---|
| API uptime | 99.9% | Vercel platform SLA; 30-day rolling. Status at /api/cron-logs-health. |
| Data freshness — listings | ≤24h | Daily sync at 03:00 UTC. |
| Data freshness — macro | ≤24h | ECB SDW + Eurostat ingest at 06:00 UTC. |
| AVM accuracy (Spain) | MAPE ≤7% on ≥5 comp sample | Published at /track-record. Reported quarterly. |
| Incident response | 4h ack · 24h triage | institutional@avenaterminal.com escalation. |
| Methodology change notice | 30 days | Posted to /changelog with version bump. |
Production posture.
| Control | Implementation |
|---|---|
| Transport | TLS 1.3 enforced. HSTS preload (max-age 63072000, includeSubDomains). |
| Headers | X-Frame-Options DENY (except /embed/*), nosniff, strict referrer, Permissions-Policy camera/mic/geo denied. |
| Auth | API keys are SHA-256 hashed at rest. Federated partner keys prefixed avf_v1_*. Admin endpoints require ADMIN_TOKEN. |
| Database | Supabase Postgres with Row-Level Security on every table. Public-read policies only on non-sensitive surfaces; write policies scoped to service role. |
| Secrets | Stored in Vercel environment variables, encrypted at rest. Never logged. |
| Audit | Every cron run writes to cron_logs (started_at, completed_at, status, error). Public-readable for transparency. |
| Data residency | Supabase region eu-central-1 (Frankfurt). All EU data stays within EU. |
| GDPR | No PII on property records. Newsletter and partner emails stored with explicit consent; delete-on-request honoured within 30 days. |
Reuse, attribution, and provenance.
| Aspect | Detail |
|---|---|
| Open dataset license | CC BY 4.0 (Creative Commons Attribution 4.0 International). Reuse permitted with attribution. |
| Standard license | APIP v1.0 published under same CC BY 4.0 terms at /standards/apip-v1.json. |
| Attribution requirement | Cite as: Avena Terminal (avenaterminal.com), DOI 10.5281/zenodo.19520064. |
| Zenodo deposit | Permanent archived copy at https://doi.org/10.5281/zenodo.19520064. |
| Wikidata entity | Q139165733 — machine-readable cross-reference. |
| Commercial reuse | Permitted under CC BY 4.0 (incl. derivative datasets) with attribution preserved. Premium-tier API responses additionally subject to API Terms. |
Where to send formal correspondence.
Master Service Agreements, custom SOW, on-premise deployment.
Document version 2026.05 · superseded versions archived at /changelog · Last revised 23 May 2026