Back to all posts

AI analytics data retention: what 90 days means

Ninety days by default isn't an infrastructure limit we're hiding. It's a deliberate default — and everything behind it is yours to take out whenever you want.

AP
Arjun Patel
Co-founder

We default to keeping conversation data for 90 days. Every so often a customer asks whether that's a technical limitation — as in, is 90 days just as long as we're willing to pay to store it. It isn't. It's a default we chose on purpose, and I think it's worth explaining the reasoning rather than leaving it as a line in a settings page.

Why 90 days, specifically

Ninety days is long enough to see a real pattern. You can compare this month to last month, watch a resolution rate trend across a full quarter, see whether a seasonal spike in bookings looks the same as it did the season before. It's long enough for the analytics to mean something rather than being a snapshot of one good or bad week.

It's also a default we don't think a business should have to think about to get value from. Nobody should need to configure a retention window on day one just to get a dashboard that works. Ninety days rolling, always current, was the version that required zero setup and still gave every customer enough history to actually use. We've written a more detailed version of this reasoning specifically for the analytics side of the dashboard, since retention and export touch two related but distinct things — the raw conversation record, and the reporting built on top of it.

What "90 days" actually governs

It's worth being precise about what the window applies to, because conflating it with everything AIVA remembers would be misleading in the other direction. The 90-day default governs historical records — the analytics dashboard, the intent breakdown, the resolution-rate trend, the archive a business scrolls back through to compare periods. It does not put a clock on an active, unresolved conversation. AIVA's SMS engine, for instance, will pick a thread back up correctly after a multi-day gap regardless of where that gap falls relative to a 90-day boundary, because a live, ongoing conversation isn't the same thing as a historical record waiting to be reported on. One is operational state needed to actually serve a customer; the other is a dashboard's memory of what already happened. They aren't held to the same clock, and they don't need to be.

What "default" doesn't mean

Default doesn't mean limit. Every conversation, every piece of the record that built your dashboard numbers, is fully exportable, whenever you want it, for as long as you want to keep it yourself. If you want two years of history for your own records, or you're closing out a quarter and want an offline copy before it rolls off the 90-day window, that's a normal thing to do and the data is yours to take.

We built it this way because of something we believe generally about running AIVA for other people's customers: the conversations are the business's, not ours. AIVA is answering on their behalf, in their voice, about their customers. Holding that data indefinitely by default, just because storage is cheap and it's easier not to think about it, felt like the wrong instinct even before anyone asked us to justify it.

That instinct is also the same one behind India's own data protection law. The Digital Personal Data Protection Act, 2023 treats holding personal data for longer than a stated purpose requires as something to justify, not a default a business falls back into by inertia. Storage limitation is a real principle in Indian law now, not just a courtesy — which is one more reason "keep it forever, just in case" was never the instinct we wanted to build around.

A business shouldn't have to trust us with their customer conversations forever just to get a working product today. Ninety days, then it's export-or-let-go — not export-or-stay-forever-by-default.

What actually ends up in an export

An export carries what built the dashboard in the first place: the conversation records themselves, the auto-categorized intent tags attached to each one, timestamps, and the resolution outcome for each conversation. It's structured well enough to open in a spreadsheet or load into a business's own systems, not a raw dump that needs its own parser to make sense of. The point of exporting isn't a compliance checkbox — most businesses that use it are either archiving a quarter before it rolls off, building a longer year-over-year view than the live dashboard offers, or handing a clean record to whoever handles their own bookkeeping or reporting.

In practice, the businesses who export regularly tend to fall into a small number of patterns: a salon owner pulling a quarter's worth of data before it ages out, just to keep an offline copy on principle; a clinic that wants a longer view than 90 days to compare this flu season against last year's; or someone doing basic bookkeeping who wants booking and cancellation counts alongside their own revenue records. None of these needed a special request or a support ticket — the export is a standing feature of the dashboard, not something a business has to ask us for.

Why we didn't make retention configurable from day one

The more flexible-sounding option would have been a retention slider — let each business pick 30 days, 90, a year, whatever they want, right from setup. We went back and forth on this and landed on a single default instead, for a reason that has less to do with engineering effort than with what actually helps a small business owner get value on day one.

A configuration option is only useful if someone knows to configure it, and most of AIVA's customers are running a clinic or a salon, not managing a data governance policy. Asking a business to choose a retention window before they've even seen what the dashboard looks like is asking them to make an informed decision with no information yet. A single, sensible default that works for the overwhelming majority of businesses, paired with export always being available for anyone who wants more, gets everyone a working product immediately and only asks the people who actually have a specific need — a longer legal record, a year-over-year comparison — to go do something about it themselves. We'd rather ship one well-reasoned default than a setting most people would never touch.

What this means if you ever move on from AIVA

One underrated effect of always-on export is what it does to switching cost. A business isn't locked into AIVA's dashboard as the only place their own conversation history lives — because export has been available the entire time, not bolted on as an offboarding feature, a business that decides to change tools, bring support in-house, or just wants a personal archive can walk away with a real record of their own customer conversations, not a blank slate. We think that's how it should work. A product that's only good to use because leaving it means losing your own history isn't really earning the business's trust — it's relying on the cost of leaving. Ninety days live and exportable the whole time means the data was never the thing keeping anyone around in the first place.

The trade-off, honestly

The honest cost of this approach is that a business that forgets to export before something rolls off the window has lost it — we don't keep a silent, unlimited backup sitting behind the 90-day line for convenience. That's the trade-off of an actual default rather than a marketing default that quietly keeps everything anyway. We think it's the right trade, but it does mean the export button isn't optional if you care about long-term history. It's the whole mechanism.

We'd rather have a retention policy simple enough to explain in four paragraphs than one that needs a legal team to interpret. This is what it is: 90 days live, fully exportable the entire time, nothing held back afterward that you didn't take yourself. If you're deciding whether that's enough for how you run your business, it's worth reading alongside how we think about resolution rate and the intent breakdown that live on the same analytics dashboard — retention is only useful in service of numbers worth looking back on, and we'd rather get both right than either in isolation.

Share
AP
Written by
Arjun Patel
Co-founder

FAQ

Common questions.

90 days, rolling, for every conversation across voice, SMS, and web chat. It's a deliberate default chosen for being long enough to spot real patterns, not a technical storage limit.

Yes, anytime. Every conversation is fully exportable the entire time it's live, so a business can keep a longer offline history if they want one without waiting for a special request.

It's a default, not a limit. You can export and retain data yourself for as long as your business needs; 90 days is simply how long it stays live in AIVA's dashboard without you having taken action.

It rolls off and isn't kept as a silent backup behind the scenes. That's the honest trade-off of a real default rather than a marketing default that quietly retains everything anyway — export is the mechanism, not an optional extra.

Ninety days is long enough to compare month to month and see a real quarterly trend, without defaulting to holding a business's customer conversations indefinitely just because storage is cheap.

No. The 90-day default governs historical analytics and dashboard records. An active SMS thread or an open booking stays operationally available for as long as it's needed to actually serve the customer, independent of that window.

The business. AIVA is answering on their behalf, about their customers, so the conversations are treated as the business's data to hold, export, and keep — not data we retain indefinitely by default because it's easier not to think about.

Like this? Get more.

One email a month. Engineering deep-dives, product launches, customer stories. No fluff.

4,200+ subscribers. Unsubscribe anytime.