Salary determinants for faculty at public schools in the US
In addition to @eykanal's list, there are several factors that can lead to salary variance even within a single department:
Negotiating ability — Some profs are simply better at negotiating for better salaries than others, even with comparable publications, funding, students, teaching evaluations, etc. Conversely, some people have lower salaries simply because they don't realize they can ask for more.
Time in the department/time since PhD — All else being equal, the longer you've been here, the higher your salary. But as usual, all else is never equal. In particular, faculty hired with more post-PhD experience are generally paid more.
Performance — In most departments, faculty are reviewed annually, if only very lightly, to make sure we're doing our jobs. Salary is one of the few levers that department chairs have to reward faculty who are doing exceptionally well, or motivating faculty (especially with tenure) who aren't (seen to be) pulling their weight.
Offers from other institutions — This is one of the biggest sources of salary jumps. If a valuable prof in your department starts getting offers from other places, you department is very likely to raise their salary to keep them.
Administrative bonuses — Faculty who hold significant administrative positions (like associate head, or chair of the undergraduate program) often get a salary boost.
Variance in the job market — New assistant profs are generally hired at the prevailing salary rate for new assistant profs. Departments do not collaborate explicitly, but information does flow through applicants who get multiple offers. For example, about 10 years ago, a top-rated US CS department (not mine) decided to significantly increase its salary offers to new profs, to gain a strategic advantage over other departments. It didn't work; other departments (including mine) just raised their offers to compensate. It took several years to correct the resulting salary inversions.
Variance in university budgets — When times are good, faculty get raises. When times are not so good, faculty don't get raises. These times do not necessarily align with fluctuations in market rates.
Intramural politics — Academics are human, and subject to human failings. Everyone who reaches a position of power arrives with their own agenda; sometimes that agenda favors certain people or groups over others, for reasons that are more personal than objectively fair. In some departments, fights over limited resources can be ugly and brutal ("because the stakes are so low"); sometimes that ugliness is reflected in salary differences.
In the US, everything you list above—and more—can affect salary. (Do note that, in the US, age discrimination is illegal. Not that it doesn't take place anyway...) The only thing I'm not sure of is "number of years as a PhD", that's more of a proxy for "work done during PhD tenure", which is included in the impact factor.
A few factors I thought of, not likely exhaustive:
- Masters/PhD/postdoc alma mater
- Masters/PhD/postdoc advisor
- Number and quality of publications
- Grant history
- Existing grants
- Collaboration history
- Teaching experience
- Field of research (psych vs history vs engineering vs etc)
- Type of institution (public/private)
- Economic environment (budget cuts in state funding, etc)
- Teaching load
- Location (Dallas, TX vs Palo Alto, CA vs etc)
- ...?