# Companies profitable three years in a row

Canonical: https://datapublica.dk/en/analyses/overskud-tre-aar
Data snapshot: 2026-09-07 · build_fb46f9560427cb0da964
Analysis run: 2026-09-08
Matches: 387 · Showing: 10 · Page: 1

Companies in Denmark with at least 250 employees and positive profit after tax in each of the three latest consecutive reporting years in DKK. Each period must be 330 to 400 days, with 1,000 to 1,100 days between the first start date and final end date.
Only active companies with entity accounts, not consolidated group accounts. The latest accounts must be in DKK. Employees means the reporting-period average, not the current headcount.
Sorted by: lowest annual profit across the three years, highest first · ties: name, then company ID
Reporting periods of 330–400 days within a combined 1,000–1,100 days. Missing profits are excluded. Group accounts are excluded.

## Companies

| Company | Lowest annual profit · DKK | Profitable periods | Employees | City | Period end |
| --- | --- | --- | --- | --- | --- |
| [LEGO SYSTEM A/S](https://datapublica.dk/en/companies/47458714) · 47458714 | 10,912,000,000 | 3 | 6,257 | Billund | 2025-12-31 |
| [BESTSELLER A/S](https://datapublica.dk/en/companies/88216512) · 88216512 | 3,711,000,000 | 3 | 2,591 | Brande | 2025-07-31 |
| [OTICON A/S](https://datapublica.dk/en/companies/42334219) · 42334219 | 1,738,053,000 | 3 | 1,658 | Smørum | 2025-12-31 |
| [Sparekassen Danmark](https://datapublica.dk/en/companies/64806815) · 64806815 | 1,510,286,000 | 3 | 1,604 | Vrå | 2025-12-31 |
| [JYSK A/S](https://datapublica.dk/en/companies/13590400) · 13590400 | 1,087,789,000 | 3 | 2,271 | Brabrand | 2025-08-31 |
| [OK A.M.B.A.](https://datapublica.dk/en/companies/39170418) · 39170418 | 844,285,000 | 3 | 857 | Viby J | 2024-12-31 |
| [RADIOMETER MEDICAL ApS](https://datapublica.dk/en/companies/27509185) · 27509185 | 841,100,000 | 3 | 1,194 | Brønshøj | 2025-12-31 |
| [SKANDINAVISK MOTOR CO. A/S](https://datapublica.dk/en/companies/70515113) · 70515113 | 754,428,000 | 3 | 331 | Brøndby | 2025-12-31 |
| [VELUX A/S](https://datapublica.dk/en/companies/30003519) · 30003519 | 566,000,000 | 3 | 1,432 | Hørsholm | 2025-12-31 |
| [UNOMEDICAL A/S](https://datapublica.dk/en/companies/64153315) · 64153315 | 534,579,000 | 3 | 549 | Lejre | 2024-12-31 |

## Evidence per company

### LEGO SYSTEM A/S · 47458714
- City: Billund
- Registered address: Åstvej 1, 7190 Billund
- Incorporated: 1973-07-01
- Period start: 2025-01-01
- Period end: 2025-12-31
- Employees: 6,257
- Operating profit · DKK: 18,325,000,000
- Net profit · DKK: 13,258,000,000
- Equity · DKK: 24,875,000,000
- Revenue · DKK: 61,963,000,000
- Lowest annual profit · DKK: 10,912,000,000
- First period start: 2023-01-01
- Profitable periods: 3
- [View address](https://datapublica.dk/en/addresses/dar-0a3f50b8-6876-32b8-e044-0003ba298018/aastvej-1-7190-billund)

### BESTSELLER A/S · 88216512
- City: Brande
- Registered address: Fredskovvej 5, 7330 Brande
- Incorporated: 1978-09-14
- Period start: 2024-08-01
- Period end: 2025-07-31
- Employees: 2,591
- Operating profit · DKK: 2,070,000,000
- Net profit · DKK: 4,371,000,000
- Equity · DKK: 12,628,000,000
- Revenue · DKK: 20,611,000,000
- Lowest annual profit · DKK: 3,711,000,000
- First period start: 2022-08-01
- Profitable periods: 3
- [View address](https://datapublica.dk/en/addresses/dar-55d28f21-931c-40a7-8d0a-d9df04cea790/fredskovvej-5-7330-brande)

### OTICON A/S · 42334219
- City: Smørum
- Registered address: Kongebakken 9, 2765 Smørum
- Incorporated: 1957-12-30
- Period start: 2025-01-01
- Period end: 2025-12-31
- Employees: 1,658
- Operating profit · DKK: 2,259,212,000
- Net profit · DKK: 1,738,053,000
- Equity · DKK: 7,470,698,000
- Revenue · DKK: 7,602,355,000
- Lowest annual profit · DKK: 1,738,053,000
- First period start: 2023-01-01
- Profitable periods: 3
- [View address](https://datapublica.dk/en/addresses/dar-2d7040d3-27a6-468e-b305-0c9f9364b669/kongebakken-9-2765-smoerum)

### Sparekassen Danmark · 64806815
- City: Vrå
- Registered address: Østergade 15, 9760 Vrå
- Incorporated: 1871-02-06
- Period start: 2025-01-01
- Period end: 2025-12-31
- Employees: 1,604
- Operating profit · DKK: Not reported
- Net profit · DKK: 1,510,286,000
- Equity · DKK: 16,647,666,000
- Revenue · DKK: Not reported
- Lowest annual profit · DKK: 1,510,286,000
- First period start: 2023-01-01
- Profitable periods: 3
- [View address](https://datapublica.dk/en/addresses/dar-0a3f50c8-b0ed-32b8-e044-0003ba298018/oestergade-15-9760-vraa)

### JYSK A/S · 13590400
- City: Brabrand
- Registered address: Sødalsparken 18, 8220 Brabrand
- Incorporated: 1989-11-01
- Period start: 2024-09-01
- Period end: 2025-08-31
- Employees: 2,271
- Operating profit · DKK: 3,108,989,000
- Net profit · DKK: 2,443,890,000
- Equity · DKK: 3,469,889,000
- Revenue · DKK: 6,518,822,000
- Lowest annual profit · DKK: 1,087,789,000
- First period start: 2022-09-01
- Profitable periods: 3
- [View address](https://datapublica.dk/en/addresses/dar-cb6af829-5ef6-4e16-b836-a6c8ce8b349c/soedalsparken-18-8220-brabrand)

### OK A.M.B.A. · 39170418
- City: Viby J
- Registered address: Åhave Parkvej 11, 8260 Viby J
- Incorporated: 1978-01-01
- Period start: 2024-01-01
- Period end: 2024-12-31
- Employees: 857
- Operating profit · DKK: 619,260,000
- Net profit · DKK: 1,303,357,000
- Equity · DKK: 6,313,712,000
- Revenue · DKK: 12,190,397,000
- Lowest annual profit · DKK: 844,285,000
- First period start: 2022-01-01
- Profitable periods: 3
- [View address](https://datapublica.dk/en/addresses/dar-a01f1589-7274-4cda-9394-dda188b99fef/aahave-parkvej-11-8260-viby-j)

### RADIOMETER MEDICAL ApS · 27509185
- City: Brønshøj
- Registered address: Åkandevej 21, 2700 Brønshøj
- Incorporated: 2004-01-14
- Period start: 2025-01-01
- Period end: 2025-12-31
- Employees: 1,194
- Operating profit · DKK: 978,274,000
- Net profit · DKK: 851,025,000
- Equity · DKK: 4,304,905,000
- Revenue · DKK: 5,860,797,000
- Lowest annual profit · DKK: 841,100,000
- First period start: 2023-01-01
- Profitable periods: 3
- [View address](https://datapublica.dk/en/addresses/dar-ccab9b76-4a6b-42b5-9931-051c85f32a77/aakandevej-21-2700-broenshoej)

### SKANDINAVISK MOTOR CO. A/S · 70515113
- City: Brøndby
- Registered address: Park Allé 355, 2605 Brøndby
- Incorporated: 1982-12-22
- Period start: 2025-01-01
- Period end: 2025-12-31
- Employees: 331
- Operating profit · DKK: 1,712,293,000
- Net profit · DKK: 1,317,122,000
- Equity · DKK: 1,547,724,000
- Revenue · DKK: 24,819,789,000
- Lowest annual profit · DKK: 754,428,000
- First period start: 2023-01-01
- Profitable periods: 3
- [View address](https://datapublica.dk/en/addresses/dar-0a3f50a3-6f4a-32b8-e044-0003ba298018/park-all-355-2605-broendby)

### VELUX A/S · 30003519
- City: Hørsholm
- Registered address: Ådalsvej 99, 2970 Hørsholm
- Incorporated: 1970-06-26
- Period start: 2025-01-01
- Period end: 2025-12-31
- Employees: 1,432
- Operating profit · DKK: -466,000,000
- Net profit · DKK: 754,000,000
- Equity · DKK: 4,836,000,000
- Revenue · DKK: 18,247,000,000
- Lowest annual profit · DKK: 566,000,000
- First period start: 2023-01-01
- Profitable periods: 3
- [View address](https://datapublica.dk/en/addresses/dar-b2928393-48b9-4b48-86c3-29db1c79efa8/aadalsvej-99-2970-hoersholm)

### UNOMEDICAL A/S · 64153315
- City: Lejre
- Registered address: Åholmvej 1-3, 4320 Lejre
- Incorporated: 1965-02-12
- Period start: 2024-01-01
- Period end: 2024-12-31
- Employees: 549
- Operating profit · DKK: 787,884,000
- Net profit · DKK: 646,087,000
- Equity · DKK: 1,718,562,000
- Revenue · DKK: 2,874,919,000
- Lowest annual profit · DKK: 534,579,000
- First period start: 2022-01-01
- Profitable periods: 3
- [View address](https://datapublica.dk/en/addresses/dar-da74bcba-6ad9-41a2-a488-87694a488ece/aaholmvej-1-3-4320-lejre)

[Create a free account to view the full list](https://datapublica.dk/en/signup?redirectTo=%2Fen%2Fanalyses%2Foverskud-tre-aar)

## Our AI performs advanced analyses of Danish companies for you

1. Select latest accounts: Rank entity accounts by period end and publication. Use the latest if its currency is DKK.
2. Join company data: Join the accounts with company ID, name, address and incorporation date. Keep active companies.
3. Find relevant records: Check that the three latest consecutive annual periods all have positive net profit.
4. Filter the list: Companies in Denmark with at least 250 employees and positive profit after tax in each of the three latest consecutive reporting years in DKK. Each period must be 330 to 400 days, with 1,000 to 1,100 days between the first start date and final end date. count(*) OVER() counts all matches.
5. Sort the results: Sort by lowest annual profit across the three years, highest first · ties: name, then company ID.

One row per company.

Companies in Denmark with at least 250 employees and positive profit after tax in each of the three latest consecutive reporting years in DKK. Each period must be 330 to 400 days, with 1,000 to 1,100 days between the first start date and final end date.
Sorted by: lowest annual profit across the three years, highest first · ties: name, then company ID
## SQL

```sql
WITH ranked AS (
 SELECT *, row_number() OVER (PARTITION BY cvr_number ORDER BY reporting_period_end DESC, publication_timestamp DESC, filing_id DESC, reporting_currency) AS rn
 FROM gold.mart_company_financials_annual_scoped
 WHERE statement_scope = 'entity'
), f AS (SELECT * FROM ranked WHERE rn = 1 AND reporting_currency = 'DKK'),
base AS (
 SELECT p.cvr_number, p.company_name, p.city, p.registered_address_slug, p.registered_address_identity, p.registered_address_formatted, p.founded_at,
 f.reporting_period_start, f.reporting_period_end, f.average_employees AS employees,
 f.operating_profit, f.profit_after_tax AS profit, f.equity, f.revenue
 FROM gold.mart_company_profile p JOIN f ON p.cvr_number = f.cvr_number
 WHERE p.is_active = true
), history AS (SELECT cvr_number, reporting_period_start, reporting_period_end, reporting_period_days, reporting_currency, profit_after_tax, average_employees, rn FROM ranked WHERE rn <= 3), sequenced AS (SELECT *, lag(try_cast(reporting_period_end AS DATE)) OVER(PARTITION BY cvr_number ORDER BY reporting_period_end) AS previous_end FROM history), profitable AS (SELECT cvr_number, min(profit_after_tax) AS minimum_profit, min(reporting_period_start) AS first_period, count(*) AS periods FROM sequenced GROUP BY cvr_number HAVING count(*) = 3 AND count(*) FILTER(WHERE previous_end IS NOT NULL AND try_cast(reporting_period_start AS DATE) <> previous_end + 1) = 0 AND min(profit_after_tax) > 0 AND count(profit_after_tax) = 3 AND count(DISTINCT reporting_currency) = 1 AND min(reporting_currency) = 'DKK' AND min(reporting_period_days) >= 330 AND max(reporting_period_days) <= 400 AND sum(reporting_period_days) = date_diff('day',min(try_cast(reporting_period_start AS DATE)),max(try_cast(reporting_period_end AS DATE))) + 1 AND date_diff('day',min(try_cast(reporting_period_start AS DATE)),max(try_cast(reporting_period_end AS DATE))) BETWEEN 1000 AND 1100)
SELECT base.*, minimum_profit, first_period, periods, count(*) OVER() AS total_matches
FROM base JOIN profitable USING(cvr_number)
WHERE base.employees >= 250
ORDER BY minimum_profit DESC NULLS LAST, base.company_name ASC, base.cvr_number ASC
```

## From source to answer

Official CVR data and accounts → normalized identities, ownership stakes and periods → data marts → validated SQL → this result list.

Source: datapublica.dk
[CVR / Virk](https://datacvr.virk.dk/)

## Ask your own question

- Companies in Denmark with at least 250 employees and positive profit after tax in each of the three latest consecutive reporting years in DKK. Each period must be 330 to 400 days, with 1,000 to 1,100 days between the first start date and final end date.
- Companies in Denmark with at least 250 employees and positive profit after tax in each of the three latest consecutive reporting years in DKK. Each period must be 330 to 400 days, with 1,000 to 1,100 days between the first start date and final end date. Restrict the list to Aarhus.
- Companies in Denmark with at least 250 employees and positive profit after tax in each of the three latest consecutive reporting years in DKK. Each period must be 330 to 400 days, with 1,000 to 1,100 days between the first start date and final end date. Include company addresses.

[Claude](https://datapublica.dk/agents/claude) · [Codex](https://datapublica.dk/agents/codex)


## Companies profitable three years in a row

Looking for profitable companies, businesses making a profit or companies profitable for several years? We ran the analysis using Datapublica company data. The list above shows the results: 387 companies match the stated criteria.
