Total revenue moving 3% says very little. Knowing that gaming revenue grew 40% while crypto node revenue fell would be a far sharper signal, and the categorisation needed to do it already exists.
Why this is now cheap
categorizeImage() in config.js is the single categorisation rule used by both the metric cards and the category cards. The blocker is that revenue_transactions has no category column — see #38, which this depends on.
Proposed
Once #38 lands, add a Revenue by category section to the KPI report:
Revenue by category - SUM
Metric Qty +/- +/-%
Gaming 12,400.00 +3,600.00 +40.9%
Crypto 8,100.00 -900.00 -10.0%
WordPress 2,050.00 +120.00 +6.2%
Other 25,398.47 +1,713.80 +7.2%
Requirements
- Same aggregation rule as the rest of Revenue: sum across the period.
- Same coverage rule: only report a category when both periods have full data. Category data starts when the backfill lands, so this section will be unavailable for older periods — that must be stated, not silently omitted.
- Categories must total to the Flux revenue figure, with anything uncategorised in
Other. A section that doesn't reconcile against the headline number is worse than no section.
Depends on
Total revenue moving 3% says very little. Knowing that gaming revenue grew 40% while crypto node revenue fell would be a far sharper signal, and the categorisation needed to do it already exists.
Why this is now cheap
categorizeImage()inconfig.jsis the single categorisation rule used by both the metric cards and the category cards. The blocker is thatrevenue_transactionshas no category column — see #38, which this depends on.Proposed
Once #38 lands, add a Revenue by category section to the KPI report:
Requirements
Other. A section that doesn't reconcile against the headline number is worse than no section.Depends on
app_categorycolumn on revenue transactions)