A repeatable sequence of discovery, prioritization, and action you can run for every account.

Great FinOps motions feel like a product, not a one-off project. Here is how we frame the first four weeks when a reseller wants Stack Dyno to deliver savings and trust quickly.
Before diving in, anchor the list to the outcome customers should feel on the other side.
If you cannot answer "who owns this spend and what changed last week?" for your top 10 projects, pause new optimization plays and fill that visibility gap first.
Spend flow mapping: Generate a Sankey that ties billing account -> project -> service -> team. This is the single fastest way to align finance, platform, and business owners on what matters.
Commitment coverage and risk: Flag SKUs with low or spiky coverage before signing new CUDs. Aim for coverage >60% on stable services and <30% on experimental projects.
High-variance namespaces: In GKE Autopilot and standard clusters, find namespaces with >30% week-over-week variance. These are usually where orphaned workloads and bad defaults hide.
Before diving in, anchor the list to the outcome customers should feel on the other side.
import { getSpendFlow } from './sdk';
async function loadFlow(billingAccount: string) {
const flow = await getSpendFlow({
billingAccount,
range: { start: '2024-12-01', end: '2024-12-31' },
groupBy: ['project', 'service', 'label.team'],
});
return flow.nodes.map((node) => ({
name: node.label,
spend: node.spend.toFixed(2),
children: node.children,
}));
}
The outcome: customers see you as their FinOps product, not just their reseller. Every quarter gets easier because you have a backlog of proven plays that map to the customer's context.
Thanks for reading. Share feedback or ask for deeper dives on any topic.
View Stack Dyno