Analytics in Odia gives you a complete picture of your business performance. It is organized into six tabs, each focused on a different aspect of your operations.
Business Overview
How well you turn Journeys into confirmed bookings, plus revenue, cost, and margin
Agencies
Revenue earned and commission owed to travel agents
Travelers
Traveler volume, returning guests, and trip patterns
Financial
Revenue, cost, margin, and payment collection across all trips
Services
Which services are used most and how they perform
Suppliers
Supplier usage and spending patterns
Access: Any role can open Business Overview. Travelers and Services also work for any role, if your plan includes them. Agencies, Financial, and Suppliers additionally require the Owner role. Within Business Overview itself, only Owner can view whole-team or per-member data — User, Supervisor, and Admin always see their own performance only.
All analytics tabs automatically exclude archived Journeys and trips. If you archive a Journey, it will no longer appear in any analytics numbers.Archived data is filtered out across all tabs consistently, so your metrics always reflect your active business.
Archiving is permanent for analytics. Once you archive a Journey or trip, it disappears from all analytics tabs. Make sure you only archive items you truly want to remove from your reports.
Only the Owner role can view whole-team or per-member data here. User, Supervisor, and Admin all see their own performance and financials only — there is no elevated Admin or Supervisor tier on this page.
Role
What they see
User, Supervisor, Admin
Their own data only. The scope control is replaced with static “My performance” text.
Owner
A scope selector: Whole team (default), a specific team member, or Unassigned
North star metrics (KPI cards, for the selected date range and scope):
Metric
What it means
Journeys created
Total Journeys created in the period
Confirmed from these Journeys
How many of those Journeys became confirmed bookings
Conversion
Confirmed ÷ Journeys created
Average time to confirm
Average days from creation to confirmation, across Journeys that have confirmed
Journeys created chart — an area chart of Journeys created over time. Toggle between Week and Month grain. A caption below the chart calls out the busiest week or month.Team performance table (Owner, Whole team scope only) — the same four metrics broken down one row per team member, plus a highlighted “Whole team” summary row. Sortable by any column.
Monthly Revenue, Cost, and Margin chart — one combined chart with one point per month, for the currently selected scope, date range, and Financial-lens filters. It plots five series:
Series
Shown as
Axis
Revenue
Filled area
Left — Amount, in your account currency
Cost
Filled area
Left — Amount
Total Earnings
Line (thicker, with dots)
Left — Amount
Net Margin
Line
Left — Amount
Margin %
Dashed line
Right — Margin %
Margin % gets its own right-hand axis because a percentage and currency amounts don’t share a sensible scale. The left axis shows rounded, compact amounts (e.g. $12.3K); hover over any point to see a tooltip with the exact value for all five series at that month, plus a legend below the chart identifying each series by color. Once a date range spans more than 24 months, the x-axis groups points by quarter instead of by month.
Unlike the Performance lens, the Financial lens has no KPI cards. Totals only appear in the “Whole team” row of the Team financial performance table below.
Team financial performance table (Owner, Whole team scope only) — one row per team member, plus an “Unassigned” row and a “Whole team” summary row:
Column
What it means
Journeys
Number of Journeys
Revenue
Total customer revenue
Cost
Total supplier cost
Gross margin / Gross margin %
Revenue minus cost
TA Commission
Commission owed to travel agents
Net margin / Net margin %
Gross margin minus TA Commission
Total Earnings
Combined earnings figure
Avg net/Journey
Net margin divided by Journey count
Average invoice
Average invoice value
Missing costs
Number of services with a price but no recorded cost
How each column is actually calculated
Journeys. Counts every Confirmed Journey in scope.Revenue. The total selling price (converted to your base currency) of every active service on those Journeys. Services where the client pays the supplier directly are excluded, since they don’t generate revenue for you.Cost. The total supplier cost of that same set of services.Gross margin / Gross margin %. Revenue minus Cost. The percentage divides that by Revenue.TA Commission. The commission owed to travel agents on those services — using each service’s own commission rate where one was set, or the Journey’s default rate otherwise — plus any supplier commission that is already netted off cost or still to be collected. Whether commission is calculated on the full selling price or on a net-of-charges basis is a setting on the Journey, not on individual services.Net margin / Net margin %. Gross margin minus TA Commission and any already-netted supplier commission. The percentage divides that by Revenue.Total Earnings. Net margin plus any supplier commission that is still outstanding to collect.Avg net/Journey. Net margin divided by the number of Journeys in that row.Average invoice. The average value of invoices issued in the selected date range, based on the invoice’s creation date — not the Journey’s dates or status. Because this is a different population than the Journeys column, it can include Journeys that wouldn’t otherwise count toward Journeys, or exclude Confirmed Journeys that haven’t been invoiced yet. Don’t expect Average invoice to reconcile cleanly against Revenue ÷ Journeys.Missing costs. How many Journeys in that row have at least one active service with a known selling price but no recorded cost, so that service’s margin can’t be calculated.
Missing costs. Select a value in the Missing costs column to open a dedicated page listing the services (from the Journeys in scope) that have a known selling price but no recorded cost. From there, select Open cost control on a service to fix it directly.
Date range — always available; the label switches between “Created date” (Performance) and “Journey date” / “Booking date” (Financial)
Journey Date vs. Booking Date (Financial lens only) — Journey Date filters by the Journey’s travel dates; Booking Date filters by the date the Journey was confirmed
Include Zero-margin (Financial lens only, on by default) — controls whether zero-margin (passthrough) services are included in the same columns
Scope (Owner only) — Whole team, a specific member, or Unassigned
Zero-margin changes what gets summed into Revenue, Cost, TA Commission, and every other column above — it doesn’t run a separate report, it widens or narrows the same one.There is no cancelled-service filter here. Whether a cancelled service counts is decided per service in Journey Financials (see Cancelled Services), and every column above inherits that decision.
Owners viewing Whole team scope can export the Team performance table, the Journeys-created trend, or the Team financial performance table as XLSX or CSV. Exports always include the complete table, not just the currently visible or sorted rows.
Owner only. Unlike Business Overview, no other role can open this tab.
Understand how much revenue your travel agent partners generate and how much commission is owed to them. It has two lenses — Agencies and Travel Agents — switched with a toggle at the top of the tab.
Total revenue across agency-linked Journeys in the period
Total TA Commission
Total commission owed across those Journeys
Active Agencies
Number of agencies with activity in the period
Top revenue
The single agency with the highest revenue
Highest converter
The agency with the best conversion rate, among agencies with at least 5 Journeys
Monthly trend chart — revenue and TA Commission plotted by month, same style as the Business Overview financial chart.Performance ranking chart — a bar chart of the top 20 agencies. Two buttons let you switch what it ranks by: Revenue or Conversion. In Conversion mode, it only ranks agencies that have a conversion rate at all (any volume, not just the 5+ Journey minimum used for the “Highest converter” KPI card).Agency performance table — one row per agency: Agency, Parent Agency, Journeys, Confirmed Journeys, Conversion %, Travel Agents (count), Revenue, TA Commission. Searchable, sortable, and rows can be selected — export either your selection or the full filtered table.Filters:
Period — This Year, a prior year, All Time, or a custom date range
Date mode — Journey Date or Created Date
Agency — a searchable dropdown to focus on one agency
Total revenue across this agent’s Journeys in the period
Total TA Commission
Earned plus projected commission combined
Active Travel Agents
Number of individual agents with activity in the period
Top revenue
The single travel agent with the highest revenue
Highest converter
The agent with the best conversion rate, among agents with at least 5 proposals
Monthly trend chart, with an optional projections chart alongside it.Performance ranking chart — the same Revenue/Conversion bar chart as the Agencies lens, scoped to individual travel agents (labeled by Proposal rather than Journey for conversion).Travel agent reporting table — one row per travel agent: Travel Agent, Agency, Proposal conversion, Revenue, Total TA Commission, Avg TA Commission Rate, Journeys. Scrolls to load more rows, and is exportable.Filters:
Period — same options as the Agencies lens
Date mode — Journey Date (travel dates) or Booking Date (the date the Journey was confirmed)
Travel agent — a searchable dropdown to focus on one agent
There’s no toggle on this tab. Revenue and sale TA Commission follow the Include/Exclude choice recorded on each cancelled service in Journey Financials — a cancelled service with no choice recorded is excluded.Supplier commission and agent splits are the exception: they are obligations, not sales, so they keep counting toward Total TA Commission even when the service is cancelled and excluded from revenue. They stop only when someone voids the commission.
See patterns in your traveler base: volume, returning guests, and trip frequency.
What It Shows
Total travelers in the selected period
New vs. returning traveler breakdown
Top returning travelers with trip counts
Traveler trends over time
Filters
Period selector - This year, last year, or custom date range
Date Basis
All data in the Travelers tab is grouped by the start of the Journey’s travel dates. This is different from the Agencies and Financial tabs, which let you toggle between trip date and booking date.
Traveler Trends chart — each month reflects trips that depart in that month, not when they were booked.
Top Returning Travelers — counts trips that depart within the selected period.
Top Travelers table — ranked by trips departing in the selected period.
There is currently no booking-date mode for the Travelers tab.
The most detailed financial view. Shows revenue, cost, margin, commission, and payment collection for every trip.
KPI Cards
Metric
What It Tells You
Revenue
Total selling price across all trips
Cost
Total supplier cost
Net Margin
Revenue minus cost minus commission, the actual profit
Invoiced
Total amount from non-cancelled invoices sent to clients
Commission
Total commission owed to travel agents
Collection Rate
How much of the revenue has been paid by clients
Each KPI also shows a trend indicator in the top-right corner — a green arrow (up) or red arrow (down) with a percentage. This is the change vs. the equivalent previous period of the same length: if you’re viewing Jan–Dec 2025, it compares against Jan–Dec 2024; if you pick a custom 3-month range, it compares against the 3 months immediately before it. The indicator is hidden when the change is less than 0.1% (too small to be meaningful) and is not shown when viewing All Time (no comparable previous period).Collection Rate is calculated as total payments logged ÷ total revenue. It is based entirely on payments that are manually recorded against invoices — there is no automatic payment detection. If no payments have been logged for a trip, its collection rate is 0% regardless of what was actually paid. To keep this accurate, log payments on each invoice as they come in.
How Collection Rate Works
Collection rate = total collected ÷ total revenue.
Total collected is the sum of all payment entries recorded on non-cancelled invoices for the selected trips.
Payments are manually logged — a user must open an invoice and record each payment (amount, date, and optional notes).
There is no integration with payment processors; nothing is tracked automatically.
Cancelled invoices and their payments are excluded from the calculation.
If you have received money but haven’t logged it against an invoice, the collection rate will underreport your actual collections.
Confirmed Journey Financial Table
A detailed table listing every trip with:
Revenue, cost, and margin per trip
Commission amount
Amount collected vs. outstanding
Cost data coverage indicator (full, partial, or none)
You can search by trip name, sort by any column, and export to Excel.
Financial Trends Chart
Monthly chart showing:
Revenue and cost as area charts
Net margin as a line
Margin percentage as a secondary axis
Helps you spot months with high revenue but low margin, or identify cost trends.
Filters
Period selector - This year, last year, all time, specific year, or custom date range
Trip Date vs. Booking Date - Choose whether to filter by when the trip takes place or by the date the Journey was confirmed
Zero-margin Services - Toggle to exclude services sold at cost with no markup (see below)
There is no Analytics-wide cancelled-service filter. You decide per service, once, in Journey Financials — and every financial report follows that decision.
When you cancel a service you choose how it should be treated financially: Include in revenue or Exclude from revenue. A cancelled service with no choice recorded is excluded, which matches the previous default.That single per-service choice is inherited by the Financial tab, the Business Overview Financial lens, the Agencies tab’s revenue and sale TA Commission, agency performance, and any export derived from them. Zero-margin remains the only service-level financial filter left in Analytics.
How each surface treats cancellations
Surface
How it handles cancellations
Why
Financial
Follows each service’s Include/Exclude choice
The choice belongs to the service, not to the report
Business Overview → Financial
Same choice, same figures
It reads the same source as the Financial tab
Agencies
Revenue and sale commission follow the same choice
Agencies must reconcile with Journey Financials
Supplier commission & agent splits
Kept until explicitly voided
A cancelled booking can still owe you commission
Business Overview → Performance
Counts “cancelled” as a lost Journey
It’s about Journey outcomes, not individual services
Travelers
Always excludes cancelled
Only counts actual trips taken
Service delivery metrics
Always status-based
Operational reporting, not money
Operational counts stay status-based everywhere: a cancelled service is still counted as cancelled on boards, calendars, and delivery metrics regardless of how it is treated on the books.
Example
A journey has four services:
Service
Status
Financial treatment
Counts toward revenue?
Hotel — $6,000
Active
n/a
Yes
Transfer — $2,000
Cancelled
Include in revenue
Yes
Tour — $1,500
Cancelled
Exclude from revenue
No
Dinner — $500
Cancelled
Not set
No
On-book revenue is $8,000 — the active hotel plus the cancelled transfer you chose to keep. Cost, margin, sale TA Commission, and cost coverage use the same two services.The journey still shows three cancelled services in operational reporting. And if the cancelled tour had a supplier commission you are still owed, that commission keeps appearing in supplier totals until someone voids it.
Why did Analytics not update immediately?
Journey Financials recalculates the moment you change a service’s treatment. The Analytics tabs, agency performance, and Agencies figures read a nightly snapshot, so they show the new figure after the next refresh. This is expected — the two are not disagreeing, one is simply newer.
Some services are passed through to the client at cost, with no markup (e.g., administrative fees, transfers billed at the exact supplier price). These are called zero-margin services because their selling price equals the supplier cost.By default, zero-margin services are included in all financial calculations. This means your revenue, cost, and totals match exactly what you see on each trip’s Pricing tab.Turn off the “Zero-margin Services” toggle to exclude them. This is useful when you want to:
Focus on margin-generating business — see only services where you earn a markup
Analyze true profitability — understand your margins without at-cost services diluting the percentages
How does this affect the numbers?
When you exclude zero-margin services:
Revenue drops — the selling price of at-cost services is removed
Cost drops — the supplier cost of those same services is removed
Net margin stays the same — because these services had zero margin, removing them doesn’t change your actual profit
Zero-margin ON (default)
Zero-margin OFF
Revenue
$100,000
$85,000
Cost
$78,000
$63,000
Net Margin
$22,000
$22,000
Margin %
22%
25.9%
Notice the margin percentage increases when at-cost services are excluded, because you’re measuring against a smaller revenue base.
Why do the numbers match my Pricing tab when this is ON?
The Pricing tab on each trip always shows all services — it doesn’t have a zero-margin filter. When the Financial tab has “Zero-margin Services” turned on (the default), both views include the same services, so the revenue and cost will match.If you turn zero-margin services off in analytics, the Financial tab will show lower revenue and cost than the Pricing tab. This is expected — the analytics is filtering out at-cost services while the Pricing tab always shows everything.
The Invoiced, Collected, and Outstanding metrics reflect actual invoice documents and payments — they are not affected by a service’s financial treatment or by the Zero-margin filter.This means:
Changing a cancelled service to Include or Exclude changes Revenue, Cost, and Margin but not Invoiced or Collected
Invoiced may be higher than Revenue if services were cancelled and excluded after invoices were sent
Invoiced may be lower than Revenue if not all services have been invoiced yet
Example
A trip has 10,000inservicesandone2,000 service was cancelled after being invoiced.
Metric
Cancelled service excluded
Cancelled service included
Revenue
$8,000
$10,000
Invoiced
$10,000
$10,000
Outstanding
$10,000 - collected
$10,000 - collected
Invoiced stays at $10,000 in both cases because the invoice document was already sent. If the money is genuinely not owed, credit or cancel the invoice — changing the service’s financial treatment does not alter invoice documents.
Several tabs offer a choice between two date modes:
Trip Date
Filter by when the trip takes place. Use this to see what’s happening in a specific travel season.Example: “Show me all trips happening in July 2026”
Booking Date
Filter by the date the Journey was confirmed — the day its status changed to Confirmed. Use this to see when revenue was actually booked, regardless of when the trip itself happens.Example: “Show me everything we confirmed in Q1 2026”
Trip Date is best for operational planning (what’s coming up). Booking Date is best for sales performance analysis (when did we win the business).
If your business operates with multiple currencies, analytics will convert all amounts to your default currency using your configured exchange rates. This gives you a unified view across all trips regardless of the currency they were priced in.Exchange rate conversions are snapshotted when you save a service’s price or cost. This means the converted value is locked in at the rate that was active at the time, so your historical financials remain stable even if exchange rates change later.
If exchange rates are not configured in Settings, multi-currency services cannot be converted accurately. The Pricing tab on a trip will attempt a live conversion using current rates, but analytics uses the snapshotted value. Configure your exchange rates in Settings > Financial > Currencies to ensure both views show consistent numbers.
The total selling price charged to clients. This is the amount your clients pay for their trips.
Cost
The total supplier cost for all services. This is what you pay your suppliers.
Gross Margin
Revenue minus Cost. The profit before accounting for agent commission.
Net Margin
Revenue minus Cost minus Commission. Your actual profit after paying travel agent commissions.
Commission
The amount owed to travel agents based on their commission rate and the commissionable portion of the trip.
Collection Rate
The percentage of revenue that has actually been collected through invoice payments. Helps you track outstanding balances.
Conversion
Shown on the Business Overview tab’s Performance lens. Both parts of the formula are anchored to the same date filter — the Journeys created in that period, and how many of those specific Journeys have since become confirmed:(Confirmed from the Journeys created in the period / Journeys created in the period) x 100Example: If your date filter is set to this year (2026), Odia first finds every Journey created in 2026. It then checks how many of those 2026-created Journeys are now Confirmed — regardless of when they were confirmed — and divides that count by the total created in 2026, x 100, to get the conversion rate for 2026.
Do archived Journeys and trips appear in analytics?
No. Archived Journeys and trips are automatically excluded from all analytics tabs. This keeps your metrics focused on your active business.
Where did the 'Include Cancelled' filter go?
It was removed. A single report-wide toggle could not express what teams actually needed — some cancelled services still represent real money, others do not.You now make that call per service, in Journey Financials, when you cancel it: Include in revenue or Exclude from revenue. Every financial report inherits your choice, so the Financial tab, Business Overview, agency performance, and Agencies can no longer disagree with the journey.Old bookmarked links containing cancelled=true still work; the parameter is simply ignored.
What happens when I cancel a service inside a trip?
You choose how it should count. That choice then applies everywhere:
Include in revenue: the service keeps contributing to revenue, cost, margin, sale TA Commission, and cost coverage
Exclude from revenue (also the default when no choice is recorded): it drops out of all of those
Supplier commission and agent splits: unaffected either way — they end only when voided
Operational reporting: the service still counts as cancelled on boards, calendars, and delivery metrics
The trip itself always still appears in analytics.
Can any role see analytics?
It depends on the tab. Business Overview is open to every role — User, Supervisor, Admin, and Owner alike — though only Owner can see whole-team data there; everyone else sees their own. Travelers and Services are also open to every role, if your plan includes them. Agencies, Financial, and Suppliers are Owner-only.
How often is analytics data updated?
Analytics updates in real-time as you work. When you create Journeys, confirm bookings, record payments, or change statuses, the data refreshes automatically.Refresh the page if you’ve just made changes and don’t see them reflected.
Why do my Agencies and Financial numbers look different?
They measure different things and may use different time ranges or filters:
Agencies focuses on commission calculations from confirmed trips
Financial shows the full picture: revenue, cost, margin, commission, and payment collection
The Financial tab also has a Zero-margin Services filter that can change the numbers. Make sure you’re comparing with the same filter and date range. Both tabs honour the same per-service financial treatment, so cancelled services are never a source of disagreement between them.
Why does the Financial tab show different numbers than the Pricing tab on a trip?
If you notice the revenue or cost in the Financial analytics table doesn’t match what you see on a trip’s Pricing tab, check these filters:
Zero-margin Services — If this toggle is off, at-cost services (where selling price = supplier cost) are excluded from the Financial tab. The Pricing tab always shows all services. Turn this toggle on to match.
Snapshot freshness — Journey Financials updates immediately; the Financial tab reads a nightly snapshot. If you just changed a service, wait for the next refresh before comparing.
Cancelled services are not a source of difference: both views apply the same per-service Include/Exclude choice. (The Pricing tab’s own “Include cancelled services” checkbox only controls what is listed on the quote, not what analytics counts.)When the filter and the snapshot date match, the numbers should be identical.