A KPI cube earns its place by answering questions a dashboard was never built for, without an analyst assembling a new view each time. The engineering that makes that safe is unglamorous: agreed measures, an explicit grain, modelled dimensions and a comparison that does not quietly double count. Get those right and self-serve exploration is trustworthy. Get them wrong and a cube becomes a fast way to produce confident, incorrect numbers.
Executive summary
A cube resolves a request into a measure, a set of dimensions and a grain before it executes. The measure carries its own definition (which deductions, which event date, which currency treatment); the dimensions are the allowed ways to slice it; the grain is the level at which rows are aggregated before anything is summed. The design here separates the agreed semantics from the interactive surface, so a Head of BI has something concrete to test and a commercial user cannot accidentally ask for a number that cannot be computed correctly. These are reference-design recommendations, not a description of an audited Bounty AI deployment.
Step 1: define the measures and their grain first
Before a single filter is exposed, each measure needs an executable definition. NGR is not a column; it is a calculation with an owner, a version and an aggregation grain. Agree which bonuses are deducted and when, whether a sportsbook result is grouped by settlement or placement date, and how late-arriving adjustments are treated. A cube that lets a user pick any dimension against a loosely defined measure will produce cuts that look precise and are not.
The discipline that protects a cube is the same one that protects any governed metric: distinguish zero from unavailable, pin currency and timezone, and record the version of the definition a result was computed under so two people comparing the same cut are comparing the same thing. dbt's documentation describes semantic models connected by entities that define join relationships; that illustrates the modelling mechanism, and does not establish that Bounty AI uses dbt. Source: dbt semantic models.
Once the measures and their grain are settled, the interactive part of the cube, dimensions, comparison, exports, can be built on top without re-litigating what each number means. The rest of this guide walks that build step by step, with the product screens for each stage.