> **OEJ guide** (en)
> Source: https://oej.ee/en/guides/salary-analysis-ai/
> Title: Has your salary kept up with prices? | OEJ
> This is the guide text, not an installed AI skill.

Guide: salary analysis

# Has your salary kept up with prices?

You describe your job in ordinary words and hand over whatever pay documents you have. The assistant makes a file list, lines up the payroll months, marks what is missing and links the comparison to public sources. You check the rows and decide what to do with them.

- Level: beginner
- Start in an AI chat
- No spreadsheet and no full history needed
- Does not replace a tax or legal adviser

Before you start

- A browser and an account with your chosen AI chat service; no programming needed
- The pay documents you already have: payslips, contract, amendment, job description
- A partial bundle still works: missing months or unreadable pages do not block the overview

**Time:** about 20 minutes for a first try; checking your documents may take longer

**Cost:** depends on your AI tool’s plan and file limits; nothing has to be purchased to read this guide

Files and text you send to an external AI service go to that provider. Keeping a copy on your computer does not change that. An AI that runs entirely on your computer may process data locally, but check this rather than assuming it. Read the privacy checks below before adding real information.

## How to get started

Use an AI chat where you normally type questions. If you do not have an account, create one with your chosen service and check its costs first. File uploads and web access depend on the service. If they are unavailable, you can continue with text you enter yourself.

1. **Try the example first.** [Open the example report and its data](https://oej.ee/en/guides/salary-analysis-ai/#sample-report). These are public; you do not need your own documents for a first try.
2. **For real data, start with the privacy checks.** Then [copy the starter prompt](https://oej.ee/en/guides/salary-analysis-ai/#quickstart-heading) into a new chat, wait for the AI’s questions and describe your job.
3. **Check the pay rows.** After the AI reads the documents you are allowed to share, compare its list and figures with your files.
4. **Add the second prompt.** [Copy the data-collection prompt](https://oej.ee/en/guides/salary-analysis-ai/#collect-data) into the same chat. The AI will need your comparison dates, occupation and area.

**The result:** a pay table, a list of missing information and a comparison with price rises and suitable official wage figures. A comparison must stay unfinished if a required source is missing. PDFs and charts are optional, not requirements.

Key terms in plain English

- **Payslip:** your employer’s record of your pay and deductions for a month.
- **Base pay:** the amount agreed in your contract. It may differ from that month’s actual gross pay.
- **Gross and net pay:** gross is the amount before employee taxes and other deductions; net is the amount left afterwards.
- **Median:** the middle of an ordered list of salaries. Half are at or below it and half are at or above it.
- **Quarter:** three months. Q2 covers April, May and June.
- **Consumer price index (CPI):** a measure of how prices of goods and services change across Estonia. It does not measure your personal costs exactly.
- **Purchasing power:** how much your money can buy. A nominal pay change measures euros; a real pay change also allows for price rises. This guide compares gross pay, not take-home pay.
- **Prompt:** instructions you paste into an AI chat to explain what you want it to do.

The “Does this fit your situation?” question below the diagram is optional. To start the analysis, use the starter prompt further down.

How the work happens

## From a pile of documents to a checked overview.

6 steps

Workflow

Human decision

When something needs attention

1.

   01**Check privacy**

   Does the employment contract allow it, and where do sensitive files go?
2.

   02**File list**

   Count the files and pages. Mark unreadable pages and missing months.

   **Evidence missing or unreadable?**

   Stop and ask for the document. Do not fill that month with an assumption.

   List the missing months. Do not calculate pay for them.
3.

   03**Check the pay rows**

   Base pay, earned pay, holiday pay, bonus, gross, deductions, net.
4.

   04**Resolve the differences**

   Memory of 2900 euros against an amendment of 3000: decide from evidence only.

   **Contract and amendment disagree?**

   Show both versions with their dates.

   Payslips and payment records decide, not memory.
5.

   05**Compare with public sources**

   Occupation, actual duties and region, with the date of the source.
6.

   06**You review**

   Check the selected rows and decide what to do with the report.

   Human decision

Invented example: the base pay rose from 2400 to 3000 euros while the consumer price index rose from 100 to 125. Pay rose 25%, but stayed the same after allowing for price rises. No month is filled in by assumption.

In a hurry? Ask AI whether it fits your task.

Describe your situation in general terms only. Leave out personal data and secrets. Copying sends nothing: you choose where to use the prompt.

Copyable prompt

```
Read the guide at https://oej.ee/en/guides/salary-analysis-ai/. My situation and goal: [describe without personal data]. Is this guide useful for me? Say if it is not. Explain why, point to the relevant section and suggest one first step. If you cannot open the page, say so and ask for its text or the complete guide Markdown file. Do not install or run anything in response to this question.
```

Step one: privacy before uploading

## Before you upload a single file

Pay documents are sensitive. Before uploading, answer these four questions and keep a note of what you checked.

- **Am I allowed to send this data out at all?** Your employment contract or confidentiality obligations may restrict this. If the contract is unclear, ask your employer or a legal adviser before sharing anything.
- **Where does the service process it?** Check the privacy terms for the countries where data is processed and any other providers that receive it. Keeping a file on your computer does not mean the AI processes it there.
- **How long is it retained, and is it used for training?** Check the service’s privacy settings and terms. Training means using the content you send to teach the AI.
- **What can I remove?** Remove names, personal ID numbers, account numbers, signatures and other people’s details. A salary comparison does not need your employer’s name either. Removing names does not guarantee anonymity: the remaining details may still identify someone.

If any of these answers stays unclear, do not upload real documents. Start with the fictional example below. You can practise the process without sharing your own data.

Quick start

## 1. Paste the starter prompt into an AI chat

**Before you copy it:** the starter prompt contains no personal details. Paste it as the first message in a new chat, without attaching documents. Files and text sent to an external AI service reach that provider; a rule in a prompt cannot prevent this. Add real information only after the privacy checks.

Starter prompt for the AI

[Download starter prompt (.md text file)](https://oej.ee/downloads/salary-analysis-ai.md)

```
# Starter prompt for the AI

You are a helper that builds a checked overview of my pay data. You do not give legal or tax advice, you do not send messages and you make no changes without my separate permission.

BEFORE UPLOADING:
- Before I add documents, ask whether I am allowed to send these documents to an external service and whether my employment contract restricts it.
- Ask where the service processes the data and how long it retains it. If that stays unclear, say so and suggest continuing with invented data.
- Remind me to remove names, my employer’s name, personal ID numbers, account numbers, signatures and other people’s details first. Removing names does not guarantee anonymity.

INPUT:
- I describe my workplace, duties, region, working time and approximate pay in my own words.
- I add the payslips, contract, amendment and job description I have. Files may be PDF, DOCX or ZIP, mixed together. I do not need a spreadsheet.
- If you cannot open a ZIP file, read a scanned page or look up data on the web, say so immediately and offer a manual alternative.
- Give the report as plain text or a table. If your tool supports it, add a chart and a PDF; if it does not, say so and stay with the table or plain text. Do not claim a file is attached unless you actually created and attached it.

ORDER OF WORK:
1. FILE LIST: list every file and page. Say how many distinct readable payslips there are, leave out duplicates and identify unreadable pages or sections. Do not conclude from the list that the data is complete.
2. PAYROLL: one row per salary month: base pay (a reference figure), earned pay, holiday pay, bonus or other gross component, total gross, employee deductions, net and payment date. Total gross is the sum of earned pay, holiday pay, bonus and other gross components: the contractual base pay is a reference and is not added in again. Check for every month whether gross minus the stated deductions equals the stated net, and flag any difference. Do not calculate tax rates yourself. Keep employer taxes separate. Attach the file, page and effective date to every figure.
3. DIFFERENCES: compare what I remember, contract, amendment and payslips. Do not treat a month with higher holiday pay as a raise, but do not drop that month from the comparison either: keep the actual earned pay and flag the holiday pay and the period separately. Do not fill a missing month or estimate a full year from incomplete records. If the evidence is incomplete, or signing and payments are unclear, ask me instead of assuming.
4. COMPARISON: Calculate nominal change = new base / old base − 1. Real change = (new base / old base) / (end-month CPI / start-month CPI) − 1. Multiply by 100 for percent. Show actual periods and inputs. National CPI is not my personal cost of living, and real gross-pay change is not net purchasing-power change. Choose a benchmark from the actual duties, the region and the date. Use only public primary sources: palgad.stat.ee, palgad.stat.ee/selgitused and Statistics Estonia tables IA002 and PA117. Use a county or municipality median where the source publishes it. Use a county-by-occupation or city-by-occupation figure only where the source genuinely contains that intersection; never invent an intersection or a percentile the source lacks. If you have not opened the source, state plainly that you have not verified the benchmark; if you have opened it, name the source and its date.
 Before comparing, follow the data-collection prompt. If it is not in this chat, ask me to copy it from section “3. Add the data-collection prompt to the same chat”. Do not claim retrieval succeeded without actual values.
5. REPORT: keep facts, assumptions, my interpretation and negotiation proposals apart. List the months with supporting documents and the months that are missing.
6. REVIEW: list the rows I must check myself. Do not send anything to my employer and do not publish anything.

OUTPUT STRUCTURE:
1. FACTS: what the documents show.
2. MISSING INFORMATION: what I still need to obtain.
3. CALCULATIONS: rows with inputs, calculated only from figures supported by documents.
4. COMPARISON: pay changes in euros and after allowing for price rises, official comparison figures, source dates and limitations.
5. CHECKLIST: what I will verify myself.

Rules: calculate with a calculator or code and show the inputs used. Do not invent sources, percentiles or figures. Where there is no source, omit that figure: an assumption does not replace a missing source. Present contradictions rather than the version you prefer. This overview is not tax or legal advice.
```

Expect questions about privacy first. Then describe your job and add only information you are allowed to share. The AI should return a file list and one row for each readable payslip month. This is the expected behaviour, not a guarantee: check that it follows the prompt.

Input

## 2. Describe your job and add suitable files

After the privacy checks, add the documents you have: payslips as single files or as one ZIP, the employment contract, a pay amendment and a job description. You can mix PDF and Word files (.docx). A ZIP is a compressed folder containing several files. You do not need to prepare a spreadsheet or find every month’s documents first. Months with missing records must stay out of the conclusions.

AI services differ in the files they can read and whether they can use the web. If a step fails, try the following:

1.

   **The ZIP file will not open**

   Unpack it yourself and upload the single files. If the archive contains subfolders, rename the files so the month and year are visible in the name.
2.

   **The AI cannot read a scanned page**

   When a page is an image, the text may not come out at all. Type that month’s figures in by hand and mark them as your transcription rather than the original file.
3.

   **The AI cannot open websites or create files**

   If the assistant cannot open web pages, draw a chart or produce a PDF, ask for a table or plain text. To add public figures, follow the [download instructions below](https://oej.ee/en/guides/salary-analysis-ai/#collect-data). A chart and a PDF are conveniences, not requirements: the overview works without them. You will then verify the benchmark figures against the public source on your own.

**Example message to the AI (fictional):** “I work full time as a sales representative in Harju County. I prepare quotations and deal with customers. I want to compare my January and December base pay. I remember earning about 2900 euros, but my contract amendment says 3000 euros. I have payslips for four months.” Replace the duties and months with your own, but leave out names. The AI should also ask for the year: month names alone are not enough for a comparison.

If the assistant does not state these limits itself, ask directly: “Which files did you actually read, and what could you not open?” A fluent answer is not evidence that a file was read.

Overview

## The whole process in one diagram

![Vertical diagram of four stages: pay documents, file list and missing months, payroll rows, and a comparison with public sources leading to a reviewed report. A separate branch stops the work when evidence is missing or unreadable.](https://oej.ee/assets/salary-guide/flow-en.svg)

An invented example moves from top to bottom: documents, file list and missing months, payroll rows, and a comparison with public sources leading to a reviewed report. A separate branch stops the work when evidence is missing or unreadable, because a gap must not be filled with an assumption.

Payroll

## One row per salary month

The point of the overview is that every figure traces back to a document and a page. Ask for these fields separately for each month:

- **Base pay:** the sum agreed in the contract, and the date it takes effect.
- **Earned pay:** pay for time worked that month, excluding holiday pay and additional payments listed separately.
- **Holiday pay:** shown separately, because a holiday month is not an ordinary month.
- **Bonus or additional payment:** separate, and with its reason where that is known.
- **Total gross:** the sum of earned pay, holiday pay, bonus and other gross components. The contractual base pay is a reference figure, not a line to be added again.
- **Employee deductions:** taxes and other amounts withheld from your gross pay, as listed on the payslip.
- **Net:** the amount shown on the document. Check whether gross minus the stated deductions equals it, and leave any difference visible. Do not calculate tax rates yourself or replace the stated figure with your own calculation.
- **Payment date:** the payroll month and the payment date need not coincide.

Keep taxes paid by the employer on top of your salary separate from amounts withheld from your pay. Do not subtract the employer’s own taxes from your gross pay to calculate net pay.

Every row needs a **source**: file name, page and effective date. Where a month has no document, that row stays missing. A missing month is never filled with an estimate, and an incomplete year is not used to estimate a full year’s earnings.

**Before adding the next prompt, check:** each pay row has a file and page reference, missing months are listed, and any difference between gross and net is explained or flagged for review. Correct wrong rows before comparing pay. Then copy the [data-collection prompt below](https://oej.ee/en/guides/salary-analysis-ai/#collect-data) into the same chat.

## Explore the example report: 2010 through Q2 2026

A fictional manufacturing worker’s salary history with official price and wage benchmarks. Five pages: overview, purchasing power, sector comparisons, salary history and sources. All amounts are in euros.

[![Fictional salary report page 1: Pay and prices](https://oej.ee/assets/salary-guide/report-en-1.webp)](https://oej.ee/downloads/salary-example-en.pdf#page=1)

Pay and prices

[![Fictional salary report page 2: Purchasing power](https://oej.ee/assets/salary-guide/report-en-2.webp)](https://oej.ee/downloads/salary-example-en.pdf#page=2)

Purchasing power

[![Fictional salary report page 3: Manufacturing pay comparison](https://oej.ee/assets/salary-guide/report-en-3.webp)](https://oej.ee/downloads/salary-example-en.pdf#page=3)

Manufacturing pay comparison

[![Fictional salary report page 4: Salary history](https://oej.ee/assets/salary-guide/report-en-4.webp)](https://oej.ee/downloads/salary-example-en.pdf#page=4)

Salary history

[![Fictional salary report page 5: Calculations and sources](https://oej.ee/assets/salary-guide/report-en-5.webp)](https://oej.ee/downloads/salary-example-en.pdf#page=5)

Calculations and sources

Open a page in the PDF to read at full size.

[Download the example report (PDF, 5 pages)](https://oej.ee/downloads/salary-example-en.pdf) · [198 months of data (CSV)](https://oej.ee/downloads/fictional-salary-2010-2026.csv) · [Dataset, official sources and notes (ZIP)](https://oej.ee/downloads/salary-example-data.zip)

How to try the example yourself

See a finished five-page report for a fictional production-machine operator. Manufacturing was the largest economic activity by employee count in Statistics Estonia’s 2025 wage statistics, and remained largest in Q2 2026.

**The employee and salary history are fictional.** Consumer prices and sector benchmarks are official data. The scenario starts at €703.03 in 2010 and reaches €2,100 in April 2026. All amounts are in euros; the 2010 figure is expressed as a euro equivalent. This is neither a real person’s payroll nor a forecast of a typical worker’s career.

Download and unzip the ZIP above. Add fictional-salary-2010-2026.csv and README.txt to your AI chat. CSV is a simple table file; you do not need to edit it. Ask the AI to recreate the charts and compare its results with the PDF report. If it cannot make charts, ask for a table. The example salaries remain fictional, not verified payroll records. The short exercise below is a separate example of checking payroll lines.

Invented example

## One invented case, start to finish

Everything below is invented. It is not based on any real person’s or employer’s documents. Its only purpose is to show the shape of a finished overview.

Starting data

One invented year, four payslips: January, March, July and December. The other eight months have no payslip. The employment contract states a base pay of 2400 euros and the pay amendment states 3000 euros from 1 March. The overall consumer price index rose from 100 in January to 125 in December of that invented year. There is no spreadsheet and no other document.

**My description to the assistant:** “I work as a sales representative in Harju County, full time. I am responsible for my region’s customers: I prepare quotations, negotiate and handle after-sales. The contract states a base pay of 2400 euros. I remember pay later being around 2900 euros, but the pay amendment states 3000 euros.”

```
FACTS (shown in the example documents):
- January: payslip present, base pay 2400 euros. Source: employment contract, page 1.
- March: amendment states a base pay of 3000 euros from 01.03, payslip present.
- July: earned pay 1800 euros and holiday pay 1350 euros.
- December: base salary 3000 euros. Source: December payslip, page 1.
- The other eight months, including February, have no payslip. They are not inferred from the contract.

CALCULATION:
- July gross pay 1800 + 1350 = 3150 euros.
  That is earned pay plus holiday pay, bonus and other gross components.
  The contractual base pay is a reference and is not added in.
- Illustrative deductions of 650 euros give a net of 2500 euros.
  This is an illustrative example, not a statutory tax calculation.
- Nominal growth: 2400 -> 3000 is 25%.
- Real change: 25% nominal growth against 25% price growth is 0%.

MISSING INFORMATION:
- Eight months have no payslip. Records are available for four months out of twelve.
- The July figure of 3150 euros includes holiday pay. It is not a raise.

COMPARISON:
- Occupational group and region rows chosen from public sources with their dates, only those the source genuinely publishes.
- No official comparison data has been checked or added in this example.

CHECKLIST:
- Does the July spike come from holiday pay, and is it called a base-pay rise anywhere?
- Does the March payslip really show 3000 euros gross?
```

July’s gross pay is 3150 euros: 1800 euros for time worked plus 1350 euros of holiday pay. The contractual base salary is not added again. A larger payment does not prove that base pay increased.

Base pay and prices both rose by 25%. So base pay after allowing for price rises stayed the same: a 0% change. This does not tell you how much the employee took home each month. Every figure in this exercise, including the 650-euro deduction, is fictional.

Differences

## You remember 2900. The contract amendment says 3000

You remember earning about 2900 euros, but the contract amendment says 3000 euros. The AI should not simply pick one. Here are three possibilities to check.

- Your memory is inaccurate and the amendment is in force.
- It is unclear whether the amendment was signed or when it takes effect. Check which amount applies rather than guessing.
- The amendment states a base pay, while the amount actually paid differed from it.

Ask the assistant like this: “Show both versions with their dates and tell me which fact is missing.” Then check the payslips and the payments yourself. When the signing, the effective date or the payments actually made are unclear, the AI should stop at that row and ask you to clarify. It should not choose the higher or lower figure without a document that supports it.

If the difference remains unclear, ask the person responsible for payroll. Questions about whether a contract is valid may need legal advice.

## 3. Add the data-collection prompt to the same chat

**Second prompt:** after the pay timeline is checked, paste the instruction below into the same chat. Tell the AI your start and end months, including the year, your duties and workplace area. No spreadsheet or programming is required from you.

If your AI has a web-search or browsing setting, enable it using that service’s instructions. If it asks permission to read public Statistics Estonia pages, review that request. Do not grant access to email, payroll or unrelated folders. This guide cannot give an AI abilities it does not have. Reading websites, requesting data and opening files depend on the service. Search results alone are not the data.

**Before copying:** with an external AI, this message goes to that service. Keep public searches limited to dates, job group and area. Do not put personal documents, salary or identifiers into website searches or data requests. Use the download fallback if direct access fails.

**If you already know your AI cannot use the web,** go straight to the [table-download instructions](https://oej.ee/en/guides/salary-analysis-ai/#manual-data). Then add the files to the same chat.

**This long instruction is for the AI, not for you to learn.** Copy the whole block unchanged. The technical addresses and codes help the AI request the right figures. Your task is to check the result afterwards.

Data-collection prompt for the AI

[Download data-collection instructions](https://oej.ee/downloads/salary-data-collection-en.md)

```
# Data-collection prompt for the AI

Collect the public comparison data for my salary report. Do not send my name, employer, salary, documents, personal identifiers or contract text to any website. Public queries need only dates, occupational group and area.

1. Check your tools. Can you open the source, read its table and make HTTP GET/POST requests? Browsing is not the same as API access. Say what actually works. If neither works, give me the exact table selections to download; wait for my file. This prompt does not enable tools or grant permissions.
2. Confirm the start and end salary months, actual duties and workplace region. Suggest an occupational group with its code and explain the fit; ask when two groups differ materially. Never select a group simply because it pays more.
3. CPI: read https://andmed.stat.ee/api/v1/en/stat/IA002 metadata first. Check title, base, variables and available values. Select Total (not a subgroup), the required years and months. POST to the same URL with query entries {code, selection: {filter: "item", values: [...]}} for EVERY variable, plus response: {format: "json"}. Resolve codes from metadata, not memory. The tested dimensions were Aasta, Kaubagrupp and Kuu; Total had code 1. Decode response keys through metadata; keep requested month pairs only, as selecting years and months creates combinations. Future/unpublished months remain missing; do not silently substitute another month. Use monthly index LEVELS, not annual change percentages or HICP. Quarterly comparisons use the mean of all three monthly levels and must be labelled quarterly.
4. Municipality context: GET metadata at https://andmed.stat.ee/api/v1/en/stat/PA117 then POST a small query to the same URL. Select the monthly gross median in euros, the exact municipality and a published quarter. Tested metric code GR_W_D5; dimensions Näitaja, Haldusüksus, Vaatlusperiood. Resolve the current codes/labels, do not assume municipality and county are equivalent. Choose a quarter relevant to the salary date and label any period mismatch. PA117 is all occupations, not occupation-by-city. Never derive a median by subtraction.
5. Occupation: open https://palgad.stat.ee/ and https://palgad.stat.ee/selgitused. Choose the supported occupational group, quarter, median and workplace county; record all filters. A detailed job-title alias is not a separately published salary series. Read the published value and its definition; this is full-time-equivalent gross employment income, not simply contractual base salary. If the rendered chart cannot be read, ask me to copy the figure and filters or attach a screenshot. Do not replace it with a search snippet or another region without saying so.
6. For a tool able to fetch HTML, the site's internal chart route tested for a county map was https://palgad.stat.ee/api/charts/county_average_salary-chart/{occupation}/{year}/{Qn}/median/all/all/all . This is not a guaranteed stable API. Discover supported occupation codes and quarters in the website first. The response is HTML, not plain JSON: parse the script with data-drupal-selector="drupal-settings-json", then we_charts.salary_map.series[0].data. Match the county name and read value; false/null or a confidentiality notice is missing, never zero. If the response structure changes or the selection cannot be verified, stop this route and use the website/manual alternative.
7. Return a source ledger: table/chart, URL, filters/codes, period, geography, unit, value, retrieval date and any caveat. Keep raw responses or source exports if file tools permit; otherwise include a readable table. Check duplicates, missing values, units and dates. Compare at least one CPI cell with the visible official table. An HTTP success or an opened page alone does not verify a figure.
8. Only then calculate with a calculator/code: price change = end CPI / start CPI - 1; real gross-base change = (end base / start base) / (end CPI / start CPI) - 1. Multiply by 100 for percentages. Show inputs and periods. Do not infer net purchasing power, personal inflation, a percentile or a fair market salary. If a required input is missing, explain what is unavailable and leave that comparison unfinished.
```

### If your AI cannot collect it: download and attach

1. Open [IA002](https://andmed.stat.ee/en/stat/IA002). Select the years you need, commodity group **Total**, and the start/end months. Choose **Show table**. Selecting two years and two months may show four combinations; tell the AI which two dates you mean.
2. In the result view, open the three-line menu above the table, then **Save** and choose **Comma delimited with heading** (CSV) or **Excel (XLSX)**. Keep the original headings. Do not copy just two unlabelled numbers.
3. Open [PA117](https://andmed.stat.ee/en/stat/PA117). Select the median monthly gross wage in euros, your municipality and a relevant published quarter. Show and save the table in the same way. This covers all occupations, not your particular job in that city.
4. For an occupation comparison, open [palgad.stat.ee](https://palgad.stat.ee/), choose a group that matches your actual duties, quarter, median and county. Copy the value together with these filters and the URL, or attach a readable screenshot. Keep unpublished values missing.
5. Attach the downloaded tables or screenshot to your chat. Say: “These are public comparison data. Read the headings, units, dates and notes first. List exactly what you can read and ask about missing labels before calculating.” If attachments cannot be read, paste the labelled rows and source URL instead.

Example: find the menu and check one figure

![Statistics Estonia’s three-line table menu and January price indices: 295.79 for 2024 and 307.20 for 2025.](https://oej.ee/assets/salary-guide/official-cpi-table.png)

Crop of Statistics Estonia’s IA002 table, captured on 24 September 2026. The download menu is at the top left.

To practise checking, select **Total** and January 2024. The table showed **295.79** (1997 = 100). The AI’s table should show the same value for the same year, month and measure. Estonian text writes this as 295,79; it is the same number. If the values differ, check the selections and whether Statistics Estonia has since revised the data. Use your own dates for your salary comparison.

For an AI that can make data requests

The copyable instruction includes the tested endpoints and the GET-metadata → POST-selected-data sequence. GET describes available choices; POST retrieves the selected figures. The official result page also has **API query for this table** and **Save API query (json)**. Download that query and give it to a capable assistant rather than inventing variable codes. You do not need to execute code yourself.

**How to know it worked:** you receive a source table with actual values, periods, units and links, not just a list of sources. Check one value against the official table. A missing month, unreadable chart or confidential cell stays explicitly missing. Your report can proceed without that comparison, but cannot claim it was completed.

How I checked data collection

**Retrieval check, 24 September 2026:** the API and the visible IA002 table both returned 295.79 for January 2024 and 307.20 for January 2025 (Total, 1997 = 100). PA117 returned Tallinn’s all-occupations median of €2,126 for Q2 2026; the occupation chart returned Harju’s ICT user-support group median of €2,667 for the same quarter. These are dated source checks, not recommendations or your personal comparison. The fictional salary example elsewhere stays fictional. Re-query the sources for your dates.

Comparison

## Compare by duties and region, with a date

A job title alone is not enough. Jobs with the same title can involve different duties. That is why the benchmark is chosen from actual duties, the location of the workplace and the period under review.

- **Duties before titles.** Describe what you actually do: whom you lead, what you are responsible for, which decisions you make.
- **Check the area.** County, city and the place where the workplace is registered are not the same thing. State which of them the figures used.
- **Attach the date.** Every comparison row carries its source period. A figure two years old does not describe today.
- **Do not invent missing figures.** A city or county median for all workers is not the median for your occupation. If figures for your occupation and area are not published, leave that comparison missing. Do not let the AI claim what share of workers earn less than you unless the source shows it.

The public primary sources used are [palgad.stat.ee](https://palgad.stat.ee/), [palgad.stat.ee/selgitused](https://palgad.stat.ee/selgitused) and the Statistics Estonia tables [IA002](https://andmed.stat.ee/en/stat/IA002) and [PA117](https://andmed.stat.ee/en/stat/PA117). The explanations page matters, because it states what the data includes and what it does not. Without it, a table gets read the wrong way.

**What does the wage figure include?** Palgad.stat.ee uses each employee’s average monthly gross employment income in the selected quarter. Part-time amounts are adjusted to a full-time basis. The group’s mean and median are then calculated from those employee figures.

The data comes from payments reported by employers. These can include bonuses, holiday pay and additional payments, not just contractual base pay.

Your figure and the official figure must cover the same kinds of pay, working time and period. Ask the AI to check each of these conditions. If your documents do not support a matching figure, it must explain the limitation rather than adjust the numbers to fit.

**What the tables cover.** Table [PA117](https://andmed.stat.ee/en/stat/PA117) gives wages at both county and municipality level, Tallinn included, but overall, without a breakdown by occupation. It does not show each occupation’s pay in each area. Table [IA002](https://andmed.stat.ee/en/stat/IA002) is the monthly total consumer price index at national level. Do not present PA117’s overall Tallinn figure as a salary for a particular occupation. IA002 does not measure one city’s cost of living.

The price comparison must cover the same span as the pay comparison. If the observation period runs from October to April, the index change is calculated between exactly those months. Different periods give a different result, and that must not be smoothed over.

A comparison gives context, but **does not determine your fair salary**. Open the source and check the amount, period, unit, area and explanation of how it was calculated. Note anything you cannot confirm. Data may be especially limited for managers and highly specialised roles. Do not add an estimate of what share of workers earn less than you.

Source distinction

## Where does each claim come from?

An overview has to show where each claim comes from. Keep three kinds apart:

- **Your documents.** Payslips, contract, amendment and job description. These are the only basis for your own pay figures.
- **Public primary sources.** Statistics Estonia wage data and its explanations. They give the background, not the answer about you.
- **The assistant’s general knowledge.** A general explanation of how pay is compared. Useful for explaining ideas, but not proof and not a substitute for a source.

When the assistant states a figure it cannot back with a source, omit that row until the source has been checked. An assumption or an estimate does not replace a missing source. The same applies to a source date: with no date, the comparison cannot be checked.

Self-check

## 4. Check the result against your documents

A good overview passes the following checks. Where one fails, ask for that part again.

- **Does every month’s row point to a file and a page?** You need to be able to find that figure in the document.
- **Are the missing months marked as missing?** Look for words implying an estimate or an assumption. They do not belong in a pay data row.
- **Are holiday months handled correctly?** If higher gross pay in a holiday month is called a base-pay rise, the comparison is wrong. The holiday month itself stays in the comparison with its actual earned pay and its holiday pay flagged.
- **Does gross minus the stated deductions equal the stated net?** Any difference has to be visibly flagged. No tax rates have been calculated.
- **Does every benchmark carry a date and a regional definition?** Compare the same period. An old salary figure may not describe the situation today.
- **Are facts, assumptions and proposals kept apart?** A negotiation proposal is not a fact.
- **Are the missing months listed?** It must be clear how many months have supporting documents.

When something goes wrong

## Typical failures and what to do

- **The assistant says it has all the data.** Say: “List the pages you did not read.” Compare its list with the files you provided. A list of files it read does not prove that you have records for every month.
- **No month is missing, although you know one is.** Ask: “Which sources do these rows come from?” If there is no source, delete the row.
- **The July figure enters the conclusions as a raise.** Ask for the holiday pay to be pulled out separately and flagged as part of that month. The month stays in the comparison with its actual earned pay; the spike must not be called a base-pay rise.
- **The AI says how many workers earn less than you, or gives pay for your job in a city without published data.** Ask for the source and date. If the source does not support the claim, leave it out.
- **The assistant offers to send your employer a request.** Refuse: no external action happens without your separate permission.
- **Net does not match the payslip.** Do not let it be corrected with an assumption. Leave the difference visible and check the payments yourself.

If a step in this guide is unclear, [email me](mailto:info@oej.ee). Describe the step and error message. Do not send pay documents or personal details.

Summary

## In short

Start with the privacy checks and paste the starter prompt into a new AI chat. Describe your job and share only information you are allowed to send. Check the pay rows, add the data-collection prompt and compare the result with its sources. Missing months must stay missing. Holiday pay does not prove a base-pay rise. You make the final judgement, not the AI.

If you want a quick picture first, without uploading any documents, see the [Wage vs Prices](https://oej.ee/en/projects/wage-vs-prices/) project page. It uses public statistics only.

Next guide: if you want to reduce personal data in text before sending it, read the [personal-data filter guide](https://oej.ee/en/guides/pii-guard/).

Author: Meelis Sootalu, OEJ OÜ

This guide is not tax or legal advice. If you want a tool built for your own workflow, see [AI solutions](https://oej.ee/en/services/).

[← Back to the guide overview](https://oej.ee/en/guides/)
