Skip to content

Organizational Hierarchy & Budgets

LakeSentry uses a three-level organizational hierarchy to model your team structure. This hierarchy is the target for cost attribution — when costs are attributed, they’re assigned to a level in this hierarchy. Budgets are scoped to hierarchy levels or workspaces, enabling cost governance from org-wide targets down to individual teams.

LakeSentry’s organizational hierarchy has three levels:

Org Unit (top level)
└── Department
└── Team
LevelWhat it representsExample
Org UnitTop-level business unit or division”Engineering”, “Finance”, “Data Science”
DepartmentA division within an org unit”Platform Engineering”, “Product”, “Analytics”
TeamThe cost center for chargeback”Data Infrastructure”, “ML Ops”, “ETL”

Teams are the most common attribution target. Most attribution rules assign costs to a specific team, and teams are the level at which chargeback reports are generated.

  1. Navigate to Organization > Mappings in LakeSentry.
  2. Create your org units first (they have no parent).
  3. Create departments within each org unit.
  4. Create teams within each department.

The hierarchy is flexible — you can have as many or as few levels as your organization needs. A small organization might have one org unit, one department, and a handful of teams. A large enterprise might have dozens of departments across multiple org units.

Identity mappings connect Databricks principals (user emails and service principals) to your organizational hierarchy. When LakeSentry sees a Databricks user in billing data, it looks up their identity mapping to determine which team they belong to.

This mapping is used in two places:

  • Attribution fallback — When no attribution rule matches, the waterfall fallback uses identity mappings to assign costs based on who ran the workload.
  • Principal-level reporting — The Cost Explorer’s Principals tab shows cost per user, grouped by their team.

Costs roll up through the hierarchy. If three teams in the Platform Engineering department spent $10K, $15K, and $8K respectively, the department total is $33K. This rollup happens automatically in reports and dashboards.

Important: no automatic distribution downward

Section titled “Important: no automatic distribution downward”

Attributing costs to a department does not automatically split them among the department’s teams. Costs stay at the level they were attributed to.

Department "Platform Engineering" total: $38,000
├── Team "Data Infrastructure": $10,000
├── Team "ML Ops": $15,000
├── Team "ETL": $8,000
└── Department-level (no team): $5,000 ← stays at department level

In this example, $5,000 was attributed at the department level (maybe from a proportional rule or a resource that couldn’t be assigned to a specific team). That $5,000 is included in the department total but not split among teams.

To distribute department-level costs to teams, use:

  • Split mode in attribution rules — Explicitly define percentages per team
  • Proportional rules — Distribute based on each team’s compute spend

Budgets let you set spending targets and get alerts when spend approaches or exceeds those targets. Budgets can be scoped to any level of the hierarchy — an org unit, a department, or a team — or to a specific workspace.

  1. Navigate to Budgets in LakeSentry.
  2. Click Create Budget.
  3. Select the scope — which workspace, org unit, department, or team the budget applies to.
  4. Set the budget amount, start date, and end date.
  5. Configure alert thresholds.

Each budget has configurable notification thresholds — percentage values at which alerts are sent. When not customized, budgets use the global defaults of 80% and 100%. You can configure up to 10 custom thresholds per budget, with values between 1% and 200% (values above 100% let you set alerts for overspend scenarios).

For example, you might set thresholds at 60% and 90% for a team that tends to spike late in the month, or at 80%, 100%, and 150% to track progressive overspend.

Budget tracking compares actual spend (from the cost attribution summary metric) against the budget target:

  • Actual spend is the sum of attributed costs for the budget’s scope and period
  • Projected spend extrapolates current spend to the end of the period (e.g., if you’ve spent $6K in the first 15 days of a month with a $10K budget, the projected monthly spend is ~$12K)
  • Budget utilization is actual spend as a percentage of the budget

Budget alerts check thresholds hourly. When a threshold is crossed, a notification is sent via the configured channels (email, webhook).

Budgets at a higher level in the hierarchy don’t automatically create budgets for lower levels. An org unit budget of $100K doesn’t mean each department gets an equal share. You can create budgets at multiple levels independently:

  • Org unit “Engineering”: $100K/month
  • Department “Platform”: $40K/month
  • Team “Data Infrastructure”: $15K/month

These budgets are independent — the team budget doesn’t need to “add up” to the department budget. This flexibility lets you set targets at whatever granularity makes sense for your organization.

Budget alerts and other notifications can be delivered through:

  • Email — Sent to users with the appropriate role
  • Webhooks — HTTP POST to configured endpoints (for Slack, PagerDuty, or custom integrations)

See Webhooks & Notifications for setup details.

One org unit, one department, a few teams. Keep it simple — the hierarchy exists to support attribution and budgets, not to mirror every layer of your org chart.

Engineering
└── Data Platform
├── Analytics Team
├── ML Team
└── Platform Team

Large organization (many teams, shared infrastructure)

Section titled “Large organization (many teams, shared infrastructure)”

Multiple org units and departments, with shared infrastructure attributed via categories.

Engineering Finance
├── Platform └── Data Analytics
│ ├── Infrastructure Team ├── BI Team
│ ├── ML Ops Team └── Reporting Team
│ └── DevOps Team
└── Product
├── Feature Team A
└── Feature Team B

Shared infrastructure (analytics clusters, Unity Catalog overhead) can be attributed using proportional rules or shared resource buckets, separate from the team hierarchy.

If your Databricks resources already have tags like team, cost_center, or department, you can map those directly to LakeSentry teams using the Tags tab on the Attribution page. This is often the fastest way to get attribution coverage.