How We Calculate & Display Salary Data
Every chart on compiled.lk is built from anonymous, crowdsourced salary submissions. Here's exactly how we turn raw numbers into the visualizations you see.
1. Salary Range
This chart shows the salary spread for a specific role. The shaded band covers where most salaries fall (the middle 50%), and the vertical line marks the median — the point where half earn more and half earn less.
P25
25% earn less than this
Median (P50)
The middle value
P75
75% earn less than this
Software Engineer
23 submissionsMin
Lowest reported salary
IQR band
Middle 50% of salaries
Max
Highest reported salary
Software Engineer
23 submissions- 1P25 — 25% earn less than this
- 2Median (P50) — The middle value
- 3P75 — 75% earn less than this
- 4Min — Lowest reported salary
- 5IQR band — Middle 50% of salaries
- 6Max — Highest reported salary
How we calculate this
Median (P50) is the middle value when all salaries are sorted. Unlike the average, it isn't skewed by extremely high or low outliers.
P25 and P75 mark the boundaries of the interquartile range (IQR) — the middle 50% of salaries. If your salary is between P25 and P75, you're in line with most people in the same role.
Minimum sample: We require at least 5 submissions before showing a salary range. Fewer than that could compromise anonymity or produce misleading ranges.
2. Career Ladder
This chart shows how salaries change as you move up in seniority. Each row represents a career level, with a range bar showing the P25–P75 salary band and a marker for the median. All levels are normalized to the same scale so you can compare across seniority.
Career level
Seniority tier
Salary range
P25–P75 band with median
Submissions
Data points at this level
- 1Career level — Seniority tier
- 2Salary range — P25–P75 band with median
- 3Submissions — Data points at this level
How we calculate this
Normalized scale: All seniority rows share the same horizontal axis (based on the global min and max across all levels for that currency). This lets you visually compare salary ranges across the career ladder.
Gradient fill: The gradient peak indicates where the median sits within the P25–P75 band, giving a visual sense of whether salaries skew toward the lower or upper end.
Levels with fewer than 5 submissions are shown faded with a "not enough data" note.
3. Salary Trends
This line chart tracks how median salaries for a role have changed over time. Each line represents a different currency (e.g. LKR vs USD), so you can spot trends in local and foreign-currency compensation.
Y-axis
Median monthly salary
Data points
Median salary per year
Currency lines
One colour per currency
- 1Y-axis — Median monthly salary
- 2Data points — Median salary per year
- 3Currency lines — One colour per currency
How we calculate this
Rolling window: We show the most recent 4 years of data. Older data is excluded to keep the trend relevant.
Per-currency lines: LKR and USD salaries are plotted separately because they represent fundamentally different pay scales (local roles vs remote/international).
The chart requires at least 2 years of data to display. If a seniority filter is applied and there isn't enough data, a helpful message is shown instead.
4. Company Ratings
These horizontal bars show average ratings (out of 5) across different categories. The colour tells you at a glance how a company scores: green is strong, amber is average, and red needs improvement.
Category
What is being rated
Bar fill
Score out of 5
Score
Exact average
Colour code
≥4 green, ≥3 amber, <3 red
- 1Category — What is being rated
- 2Bar fill — Score out of 5
- 3Score — Exact average
- 4Colour code — ≥4 green, ≥3 amber, <3 red
How we calculate this
Average rating: Each bar shows the arithmetic mean of all reviewer ratings for that category.
Colour coding: ≥ 4.0 out of 5 (80%+) is green, ≥ 3.0 (60%+) is amber, and below 3.0 is red. This lets you quickly spot strengths and weaknesses.
Ratings come from anonymous employee reviews. Each reviewer rates their experience on a 1–5 scale across all categories.