Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124

In most orgs, query cost is not something we bake into the design phase (mainly because we don’t know…duh). But it’s then subsequently forgotten all the way through the production and the first exciting invoice. Then people complain internally. Maybe we nudge the BI team about expensive dashboards. The BI team probably just ignores them, because the costs aren’t their costs, and the people who designed the queries that drove the bill aren’t the people seeing the bill. Six months later, an unexpected six-figure overrun lands on a finance review and everyone’s suddenly in deep shit.
The shape of the dashboard, the cadence of the refresh, the granularity of the data. These decisions determine the bill. The people making the decisions need to own the cost.
And it’s not a single dimension to the cost. The factors that drive it are:
Of these, the ones a product designer controls are: bytes scanned (via filter design and partitioning), frequency (via refresh cadence), and concurrency (via scheduling). Three of the biggest cost drivers are product decisions, not infrastructure decisions. The dashboard’s cost is shaped at design time.
I’ve seen the same business question implemented two ways with a 10x cost difference. Both produce identical-looking dashboards. The expensive version:
The cheap version:
It’s the same dashboard with the same answers. 10x cost difference. The decision lives at the BI tool level, with the dashboard designer.
Analytics agents make this way worse. A dashboard’s queries are written once and known. An agent’s queries are written at run time, by an LLM, in response to user questions. The cost shape is harder to predict. Even with semantic models.
A single user question can trigger multiple tool calls, each running a query, each scanning some bytes. The user doesn’t see the cost. The agent doesn’t know the cost. The bill arrives at month-end and surprises everyone.
This is where the FinOps practice for agents starts to matter. Each agent interaction has a cost; that cost should be measured, reported, and ideally constrained per user or per session. Without this, agent costs can scale faster than agent value.
The patterns that make cost a real input to product decisions:
The underlying cultural change is that “the data team owns the bill” stops being a model that works at scale. The bill is too big and too distributed. The teams that own the cost have to be the teams that drive the cost, which means the BI designers, the analytics engineers, and increasingly the agent builders.
This is a familiar story. We went through it in the 2010s with cloud cost. The “infrastructure team owns the AWS bill” broke as soon as serverless and Kubernetes made every engineer a consumer of cloud spend. Data is going through the same evolution about ten years later, with the same lessons.
Query cost is a product decision. The people who make the decisions need the cost data to make them well. Until that happens, the bills will keep surprising people, and the surprises will keep getting bigger.