Ratio metric modeling
01

Numerator: margin, orders, outage time

02

Denominator: revenue, visits, open time

03

Grain: entity, time, filters

04

Rollup: sum, then divide

05

Edges: zero, null, small samples

Percentages are not additive facts

Stores at 10% and 50% conversion do not necessarily total 30%; traffic determines weight. Averaging daily rates overweights low-volume days.

Preserve numerator and denominator and calculate after aggregation at the requested grain.

Define grain and filters

Margin needs aligned profit and revenue; conversion needs visit and purchase windows and identity; stock-out rate needs opening hours.

When components come from different facts, align time, channel, identity, and join grain.

Handle zero and small samples

A zero denominator should be null, not applicable, or a governed value, not silently zero. Show sample size or thresholds for volatile small groups.

Separate missing data from true zero and expose quality state.

Name different rollups

Weighted total rate, mean store rate, and median answer different questions. Ranking by rate or contribution also differs.

Put valid dimensions, time behavior, and format in semantics rather than deciding per query.

Accept with imbalanced samples

Test large and small stores, zero denominator, missing dates, channels, and refunds across daily, weekly, store, and total results.

BuildTable metric modeling can be evaluated; ratio expression, quality state, and automatic rollup need POC verification.

Public references

Build an AI-ready data foundation

Download BuildTable or talk with us about your data modeling scenario.

Download BuildTable