Jetti supports two data layouts. Here's how to know which you have:
Dates are column headers. Each row is one customer, and you read their journey left-to-right.
Customer ID | Jan 2024 | Feb 2024 | Mar 2024 | Apr 2024
------------|----------|----------|----------|----------
CUST-001 | 100 | 100 | 150 | 150
CUST-002 | 200 | 0 | 0 | 50
CUST-003 | 0 | 75 | 75 | 75
Best for pivot tables, presentations, and manual analysis.
Dates are values in a column. Each row is one observation at one point in time.
Customer ID | Period | Revenue
------------|----------|--------
CUST-001 | Jan 2024 | 100
CUST-001 | Feb 2024 | 100
CUST-001 | Mar 2024 | 150
CUST-002 | Jan 2024 | 200
CUST-002 | Apr 2024 | 50
Common export format from Salesforce, Stripe, and databases. Best for charts and large datasets.
Don't worry: Jetti auto-detects which format you're using.
| Column | Required? | Examples |
|---|---|---|
| Customer ID | Yes | user_id, account_id, email |
| Date/Period | Yes | 2024-01, Jan-24, 1/15/2024 |
| Value | Yes | revenue, mrr, amount, count |
| Segment | Optional | product, plan, region |
Jetti recognizes: YYYY-MM, MMM-YY, M/D/YYYY, YYYY-MM-DD, and MM/DD/YYYY.
Before running your first analysis, verify:
| Problem | Symptom | Fix |
|---|---|---|
| Mixed ID formats | Same customer appears twice | Standardize IDs (e.g., all lowercase) |
| Text numbers | "$1,000" instead of 1000 | Remove currency symbols and commas |
| Missing periods | Gaps in customer history | That's OK — Jetti handles sparse data |
| Future dates | Weird results at end of report | Filter to completed periods only |