Cost Analysis & Salary Modeling
Engineering is the most expensive department in most tech companies. ShipLens connects salary data to commit-level impact analysis, giving CTOs visibility into the real cost of engineering output — not just headcount, but cost per unit of value delivered.
Purpose
Answer questions like:
- "What does a point of impact actually cost us?"
- "Which squad delivers the most value per R$ spent?"
- "Are we over-investing in a domain that isn't delivering proportional impact?"
These are uncomfortable questions. But a CTO who can't answer them is managing by intuition, not data.
Salary Configuration
Salary data is stored per contributor as a monthly value in the company's local currency.
| Field | Type | Description |
|---|---|---|
contributor_id | reference | The contributor this salary belongs to |
monthly_salary | integer | Monthly salary in local currency (e.g., BRL) |
effective_from | date | When this salary became effective |
Encryption: Salary values are stored encrypted at rest using Cloak with AES-256-GCM. The encryption key is separate from the database credentials.
Access control: Salary data is visible only to users with the admin role. Non-admin users see cost analysis pages with salary data redacted — they can still see relative efficiency comparisons (percentages, rankings) without seeing absolute salary figures.
Cost Metrics
Cost per Impact Point
The primary efficiency metric. Lower values indicate more cost-effective engineering.
Where impact points are the sum of all commit scores (V2) in the period.
| Cost per Impact Point | Interpretation |
|---|---|
| Decreasing over time | Team is becoming more efficient |
| Stable | Consistent output relative to cost |
| Increasing over time | Output declining relative to cost — investigate |
Impact per R$1,000
The inverse view — how much value does each unit of spend produce? Higher is better.
This metric is useful for board-level reporting where "we generate X impact points per R$1,000 invested in engineering" is more intuitive than cost-per-point.
Cost per Domain
How much of total engineering salary goes to each business domain:
A contributor's salary is proportionally attributed to domains based on their commit distribution.
Cost per Squad
Aggregate salary cost per squad, compared against total impact delivered:
Cost per Sprint/Period
Total engineering cost within a user-defined period, broken down by:
- Squad
- Domain
- Commit type (feature vs fix vs refactor vs chore)
Squad Cost-Effectiveness Comparison
Squads are compared on a normalized basis using impact per R$1,000:
| Squad | Monthly Cost | Impact Points | Impact / R$1,000 |
|---|---|---|---|
| Payments | R$ 80,000 | 450 | 5.63 |
| Onboarding | R$ 45,000 | 310 | 6.89 |
| Platform | R$ 60,000 | 280 | 4.67 |
TIP
Cost-effectiveness comparisons between squads should be interpreted carefully. A platform team maintaining critical infrastructure may have lower impact scores but higher organizational value. These numbers inform conversations — they don't replace judgment.
Over-Investment Detection
ShipLens flags domains where cost is disproportionately high relative to impact:
| Ratio | Interpretation |
|---|---|
| < 0.8 | Under-invested — high impact, low cost allocation |
| 0.8 - 1.2 | Balanced — cost proportional to impact |
| 1.2 - 2.0 | Potentially over-invested — review allocation |
| > 2.0 | Significantly over-invested — investigate |
A ratio of 2.0 means the domain consumes twice the cost share that its impact share would justify.
Privacy
Salary data is the most sensitive information in ShipLens. The privacy model:
| Data | Admin | Manager | Viewer |
|---|---|---|---|
| Individual salaries | Visible | Hidden | Hidden |
| Squad total cost | Visible | Visible | Hidden |
| Cost per impact point | Visible | Visible | Hidden |
| Relative efficiency (%) | Visible | Visible | Visible |
| Over-investment flags | Visible | Visible | Hidden |
Routes
/c/:slug/cost-analysis # Cost metrics dashboard
/c/:slug/settings/salaries # Salary configuration (admin only)The cost analysis page shows:
- Company-wide cost per impact point (trending over time)
- Impact per R$1,000 (trending over time)
- Squad efficiency comparison table
- Over-investment alerts
- Period selector for sprint-level analysis
