Understanding Otto
What is Otto, and how does it help me?
Otto is your AI-powered report filtering assistant in Cardata Intelligence. You can ask questions in plain language and Otto will generate, filter, or explore reports based on your reimbursement program data.
How do I use Otto to generate a report
Just type a clear, natural language question, like “show me reimbursement by team this quarter”, into the Otto input bar. You’ll automatically get a report, as long as the data for that metric exists in your dataset.
Where can I find the “Training Otto” view or access Otto?
Otto is accessible directly from any visualization in Cardata Intelligence. To find it: Hover over any chart or table, and you’ll see the Otto icon appear.
If you're using Cardata Cloud, the interface will label this assistant as Otto. Otto can be used to drill into data, ask questions in plain language, and explore visualizations contextually.
Can Otto refine or update an existing report?
Yes. Otto traits each follow-up as a continuation of your last question, so you can refine a chart or drill deeper just by asking things like “filter by last month” or “add region breakdown”.
What kind of questions can I ask Otto?
Otto can help you explore your Cardata Intelligence data using natural language. You can ask Otto to:
- Summarize spend, mileage, and compliance metrics
- Break down KPIs by team, region, or program
- Explain trends, anomalies, or changes over time
- Apply filters (like date range or department)
- Build visualizations, like charts or tables
- Create or refine reports in real time
Otto cannot yet answer questions related to:
- Tax status
- License status or expiration
- MVRs (motor vehicle records)
These capabilities are on our product roadmap and will be supported in future releases.
Why did Otto remove all drivers and only show one row when I asked for “total mileage year to date”?
When you ask Otto to perform a cumulative calculation like:
“Add total mileage for all trips taken in 2025 year to date to the table above,”
Otto may interpret the request as a single summary aggregation, causing it to collapse the data and return only one row (the overall total), instead of maintaining the driver-by-driver breakdown.
This is a known limitation when using Otto to apply aggregates across all records without specifying a grouping dimension.
Workaround:
Be more specific in your request. Instead, say:
“Add total mileage year to date per driver”
or
“Show total 2025 mileage for each driver”
This tells Otto to preserve the driver-level grouping in the output.
Why does Otto understand “add day of the week as a column” but not “add week of the day”?
Otto is trained to recognize natural, contextually accurate phrases, and it performs best when users use common or expected language.
For example:
Understood: “Add day of the week as a column”
Not Understood: “Add week of the day” (ambiguous phrasing)
In this case, Otto fails to interpret "week of the day" because it doesn’t correspond to any known data field or standard phrasing in the Cardata data model.
Tip: When asking Otto to add time-based fields like “day of the week” or “month,” stick with familiar, grammatically standard phrases. We’re continuously expanding Otto’s understanding of synonyms and non-standard wording, but clear input still gets the best results.
Can Otto understand custom KPIs or non-standard metrics?
Yes, Otto is designed to work with a wide range of custom KPIs and non-standard metrics. Cardata Intelligence includes an extensive list of available data fields, so as long as the data for that metric exists in your dataset, Otto can help you access and analyze it using natural language. Just be specific when asking!
Can Otto calculate time between trips, total drive time, and daily driver activity summaries?
Otto supports many advanced queries, but there are current limitations with time-based calculations and how it interprets context from past prompts. Here’s what you need to know:
1. Time Between Trips (a.k.a. Dwell Time)
Otto does not currently support native dwell time calculations, such as subtracting the end time of one trip from the start of the next trip for the same driver. This is considered a complex query and may return inconsistent results. We're exploring future support via a predefined business term or through manual query builder workarounds.
2. Windshield Time (Driving Duration)
You can get this using the Trip Duration field. While Otto might not always understand terms like “windshield time,” directly querying for “Trip Duration in minutes” is more reliable. We are working on synonym support so terms like “windshield time” will soon be recognized automatically.
3. Daily or Weekly Driver Activity Summaries (e.g. trip count, miles, time of first/last trip)
These types of summaries work well as long as:
- You start with a new prompt (not a follow-up),
- Use specific and full date references (e.g. “April 2025” rather than just “April”).
Examples:
- Works: “Show me trip mileage for each day in April 2025.”
- Fails: “Show me trip mileage per day in April”, this often aggregates across multiple years unless the year is specified.
- Follow-up queries like “last 4 months” may get misinterpreted (e.g., linked to fields like “Driver Start Date”).
Important Tips:
- Avoid vague time references like “April” or “last 4 months”, always include the year.
- If using Otto from a Liveboard, remember that default filters (e.g. “last 6 months”) may override your intent, especially if your dataset is sparse.
- To avoid filter bleed or context confusion, start fresh when you notice Otto isn’t responding as expected.
We’re actively working on:
- Improving Otto’s ability to retain accurate context
- Supporting more natural language synonym
- Expanding capabilities like dwell time calculations and context-aware time filters.
Can I use Otto to build dashboards?
Yes, you can use Otto to build individual charts and visualizations using natural language.
Is Otto the same as ChatGPT or other generative AI tools?
No. Otto is not a general chatbot. It’s a data-specific assistant designed to answer questions about your Cardata Intelligence data. It doesn’t hold a memory, browse the internet, or offer opinion-based responses.
Can Otto summarize trends or anomalies for me?
Yes. Otto supports change analysis and deep KPI breakdowns, which can identify and explain major changes or outliers in your data.
What if Otto gives me incorrect or incomplete results?
If that happens, you can:
- Edit your original input to clarify what you're asking
- Use the “Delete” function to remove the last step and start fresh
- Apply filters or manual edits to get closer to the answer you need
- Provide feedback to help us improve Otto’s performance over time
Tip: Try to be specific in your wording. Clear questions = better answers.
Why is Otto including “Driver Start Date” in my prompt when I’m asking for data from the last 4 months?
Otto may misinterpret time-based prompts like "last 4 months" or "last 6 months" as referencing driver start dates instead of trip or reimbursement dates. This can lead to inaccurate results, especially if drivers started after the filtered date range or if default filters exclude recent months.
To get the correct output, try these workarounds:
- Be specific about the date field you're referencing. Instead of saying:
“Show me trip mileage per day in April”
Use:
“Show me trip mileage for each day in April”
Explicitly reference the correct metric:
- “Show monthly reimbursement totals by trip date for the last 4 full months”
Also, be aware of default filters. For example, the standard “last 6 months” filter may exclude the current month, which can result in blank data if your team has only started driving recently (as seen with CrossCountry Freight Solutions).
Tip: If Otto’s results seem wrong, check:
- Which fields were added in the filter logic (look for unexpected ones like “Driver Start Date”)
- Whether default time filters are excluding current activity
Why doesn’t Otto name new columns the way I specify, like “Trip Order”?
Otto’s still a baby, he’s learning fast, but he doesn’t always get custom column names just right, especially when there’s logic tucked inside, like figuring out whether a trip is the first or last of the day.
The good news? Otto can already help with things like identifying first and last trips using saved business terms. Try asking:
- “For each driver, show me trip details for the first and last trip of the day.”
That’ll give you what you’re looking for, without needing to name a new column.
If things look a little off, especially in embedded views, you can help Otto by saying something like:
- “Ignore any filters or context from earlier”
Sometimes he brings a little too much from previous questions, but he’s learning how to stay focused.
Otto’s getting smarter every day, naming control and embedded query improvements are both on the way!
Why does Cardata Intelligence only show a driver’s monthly start date instead of the exact start date (e.g., June 2025 instead of June 5, 2025)?
By default, Cardata Intelligence uses a column called "Monthly Start Date" when retrieving driver start information. This is why results often show just the month and year (e.g., June 2025) rather than the specific start date (e.g., June 5, 2025).
To view the exact driver start date, you can modify your query by asking for the “detailed start date.” For example, after generating a chart or table, you can follow up with:
“Change the start date to detailed start date.”
We recognize that this phrasing may not be intuitive for all users, particularly administrators, so we’re actively improving our synonym recognition and default settings to make accessing specific start dates more seamless in the future.