# Aurelia Cloud — data dictionary

**NavAIgate Build Challenge 01: The Insight Engine.**

Aurelia Cloud is a **fictional** B2B design-and-engineering software company.
It sells 12 products across three suites — **Studio** (design and
visualisation), **Construct** (construction planning and delivery) and
**Simulate** (engineering analysis) — on per-seat annual subscriptions, plus
consumption of AI tokens and cloud compute credits. Every account, person,
figure and comment in this dataset is synthetic; any resemblance to real
companies or people is coincidental.

The data is a Snowflake-style star schema delivered as eight CSV files and a
single SQLite database (`aurelia.sqlite`) containing the same tables. Dates
are ISO `YYYY-MM-DD`. The usage window runs **2024-12-12 to
2026-06-11** (18 months); treat **2026-06-12** as
"today" when reasoning about renewals and pipeline.

Booleans are `true`/`false` in the CSVs and `1`/`0` in SQLite. Empty CSV
fields are NULL in SQLite.

## accounts — 500 rows

| column | type | meaning |
|---|---|---|
| account_id | VARCHAR | Unique key, `ACC-` prefixed |
| name | VARCHAR | Customer company name (fictional) |
| industry | VARCHAR | Industry vertical (12 values) |
| segment | VARCHAR | `Enterprise`, `Mid-Market` or `SMB` |
| region | VARCHAR | `AMER`, `EMEA` or `APAC` |
| country | VARCHAR | HQ country |
| csm_owner | VARCHAR | Customer success manager (fictional) |
| arr_usd | NUMBER | Current ARR in USD — the sum of this account's active subscriptions |
| contract_start | DATE | First contract start |
| renewal_date | DATE | Next renewal date |
| health_score | NUMBER | Composite health, 0-100 (higher is better) |

## contacts — 2,464 rows

| column | type | meaning |
|---|---|---|
| contact_id | VARCHAR | Unique key, `CON-` prefixed |
| account_id | VARCHAR | FK to `accounts` |
| full_name | VARCHAR | Contact name (fictional) |
| role | VARCHAR | Job role |
| email | VARCHAR | `@example.com` address |
| is_champion | BOOLEAN | Champions Aurelia internally |

## products — 12 rows

| column | type | meaning |
|---|---|---|
| product_id | VARCHAR | Unique key, `PRD-` prefixed |
| name | VARCHAR | Product name |
| suite | VARCHAR | `Studio`, `Construct` or `Simulate` |
| list_price_per_seat_usd | NUMBER | Annual list price per seat, USD |
| launch_date | DATE | General-availability date |

## subscriptions — 1,716 rows

One row per contract term per account-product. An account-product pair can
have an earlier completed term and a current term. A term is **active**
when `end_date` is after today.

| column | type | meaning |
|---|---|---|
| subscription_id | VARCHAR | Unique key, `SUB-` prefixed |
| account_id | VARCHAR | FK to `accounts` |
| product_id | VARCHAR | FK to `products` |
| seats | NUMBER | Licensed seats for the term |
| term_months | NUMBER | 12, 24 or 36 |
| start_date | DATE | Term start |
| end_date | DATE | Term end |
| arr_usd | NUMBER | Annualised value, USD (discounted from list) |

## usage_daily — 670,651 rows

One row per account-product-day while the pair is live. Weekends show
materially lower usage; expect seasonal effects too.

| column | type | meaning |
|---|---|---|
| date | DATE | Activity date |
| account_id | VARCHAR | FK to `accounts` |
| product_id | VARCHAR | FK to `products` |
| active_users | NUMBER | Distinct daily active users |
| sessions | NUMBER | Sessions started |
| tokens_consumed | NUMBER | AI assistant tokens consumed |
| cloud_credits_used | NUMBER | Cloud compute credits burned |
| feature_events | NUMBER | Instrumented feature events |

## support_tickets — 8,552 rows

| column | type | meaning |
|---|---|---|
| ticket_id | VARCHAR | Unique key, `TIC-` prefixed |
| account_id | VARCHAR | FK to `accounts` |
| opened_date | DATE | Date raised |
| closed_date | DATE | Date closed; NULL/empty while open |
| severity | VARCHAR | `Critical`, `High`, `Medium`, `Low` |
| status | VARCHAR | `Open`, `Resolved`, `Closed` |
| category | VARCHAR | One of 8 categories |
| csat_score | NUMBER | 1-5 post-resolution rating; NULL when unanswered |

## opportunities — 1,200 rows

| column | type | meaning |
|---|---|---|
| opp_id | VARCHAR | Unique key, `OPP-` prefixed |
| account_id | VARCHAR | FK to `accounts` |
| type | VARCHAR | `new`, `expansion` or `renewal` |
| stage | VARCHAR | Open stages: `Discovery`, `Qualification`, `Proposal`, `Negotiation`; closed: `Closed Won`, `Closed Lost` |
| amount_usd | NUMBER | Deal value, USD |
| created_date | DATE | Opened |
| close_date | DATE | Actual close (closed) or expected close (open) |
| owner | VARCHAR | Account executive (fictional) |
| win_loss | VARCHAR | `Won`, `Lost`, or NULL while open |

## nps_responses — 3,000 rows

Quarterly survey waves across the customer base.

| column | type | meaning |
|---|---|---|
| response_id | VARCHAR | Unique key, `NPS-` prefixed |
| account_id | VARCHAR | FK to `accounts` |
| contact_id | VARCHAR | FK to `contacts` |
| date | DATE | Response date |
| score | NUMBER | 0-10 |
| verbatim_comment | VARCHAR | Short free-text comment |

## What judges will be looking for

The dataset contains real, discoverable commercial stories — risk, upside,
momentum, anomalies and rhythm. Your Insight Engine should be able to find
them. We are saying no more than that.
