NaijaCalc
AdvertisementAd slot reserved — add your AdSense client ID to config.json

Salary Data Submission & Review Guide

How reader salary submissions are collected, validated and published on this site, and the exact form fields the collection form must have.

Updated 2026-09-11

AdvertisementAd slot reserved — add your AdSense client ID to config.json

Most salary figures on this site are compiled estimates. They are labelled as such, and that is honest, but an estimate is not the same as data.

This page describes the pipeline that replaces estimates with reader-submitted figures. It exists in public for two reasons: contributors should be able to see how their submission will be used, and anyone can check whether a published range has actually been verified.

What we collect

The form asks for six things and nothing else:

FieldWhy it matters
ProfessionPre-filled from the page you came from
CityPre-filled from the page you came from
SectorPublic, private, NGO and freelance pay differ enough that mixing them produces a meaningless average
Years of experienceWithout it, a graduate and a director collapse into the same number
Gross monthly payGross, not net, because net depends on deductions we cannot verify
CurrencyA significant share of Nigerian tech and design roles are paid in dollars or pounds

We do not collect your name, email address or employer. This is deliberate. People only report salary accurately when reporting it costs them nothing, and it is the reason the data will be usable at all.

You can optionally indicate that you have a payslip, offer letter or screenshot available. We do not ask you to upload it. Submissions with supporting evidence are counted as verified; submissions without are counted as reported. Both contribute to the counts shown on the page, but only verified submissions move a published range.

How a submission is processed

Submissions accumulate in the form tool and are imported into the site in batches. Every row passes through validation before it counts for anything.

A row is rejected if:

Foreign currency is converted to naira at the rate recorded in our data files, and the original currency is kept alongside it.

How outliers are handled

An accepted row can still be wrong. A single ₦9,000,000 figure entered where someone meant ₦900,000 would otherwise distort a whole profession.

Outliers are identified using the median absolute deviation rather than standard deviation. Salary distributions are skewed, so standard deviation inflates under the very outliers it is meant to detect. MAD does not.

An outlier is excluded from the published range but not deleted. The count of exclusions is retained, so the process can be audited rather than trusted.

When a range gets published

A profession's range is replaced by reader data only when both conditions hold:

Until both are met, the page keeps the compiled estimate and says so explicitly. It also shows how many submissions have arrived and how many more are needed, because a visible gap is a better motivator than a silent one.

Per-city figures carry a lower threshold — 5 submissions, 3 verified — but a city page will always fall back to the national figure adjusted for that city's cost index rather than showing nothing.

Published ranges use the 15th and 85th percentiles rather than minimum and maximum, and are rounded to the nearest ₦5,000. Both choices reduce the influence of single submissions on what looks like a precise figure.

Why "Remote" is its own location

Remote is offered as a location alongside cities. This is not a convenience — it is necessary for accuracy.

A Lagos-based developer paid in dollars by a foreign employer and a Lagos-based developer paid in naira by a local agency have salaries that differ by a factor of three or more. Averaging them produces a number that describes neither. Remote submissions are therefore tracked as a separate tier and are never folded into a city's range, because a remote salary says nothing about what it costs to live in that city.

What we publish

Aggregated figures only: a range, a median, a submission count and a verified count.

No individual submission is ever shown, and no combination of fields is published that could identify a person. In a small profession in a small city, even an aggregated median can be identifying, which is why the per-city threshold exists at all.

If you spot an error

If a published range looks wrong for your profession, that is worth telling us about. The most useful report is a specific one: the profession, the city, the figure you think is wrong, and what you believe it should be.

AdvertisementAd slot reserved — add your AdSense client ID to config.json

More guides