HotelRoost

Hotels, ranked by a formula you can read.

HotelRoost scores 37,666 hotels in 5 countries on a single published 0–10 formula. Placement cannot be bought. Figures as of 18 September 2026.

37,666Hotels scored
5Countries
3,096Cities
8.09Median score

The index

HotelCityReviewsScore
1BayMari Suites City LifeIstanbul2,3569.56
2Garden Suites Hotel CappadociaGoreme2,2899.56
3The Great Airport Hotel & RestaurantArnavutköy2,2769.56
4Palmiye Royale PalaceEdirne1,8679.55
5The Wilson Galata HotelIstanbul1,8479.55
6Romance Istanbul Hotel Boutique ClassIstanbul1,5869.54
7The Empress Theodora Hotel llIstanbul1,4479.54
8Göreme Cave LodgeGoreme1,1749.53
9Hotel Maciá Granada Five Senses Rooms & SuitesGranada6,6519.52
10Vincci Larios DiezMálaga5,8139.52
11City Moonlight Apart HotelAntalya1,0949.52
12Hotel MET PamplonaPamplona4,9239.51
13UMusic Hotel MadridMadrid4,9099.51
14Hotel Cetina Casa de las Telas SevillaSeville4,1609.51
15Room Mate Collection Alba, MadridMadrid3,7909.51
16Colectia Hotel Parada del MarquésSeville3,0369.51
17Catalonia MagdalenesBarcelona2,8709.50
18Olivia Balmes HotelBarcelona2,8219.50
19Hotel ArimuneBakio2,6999.50
20ME by Meliá BarcelonaBarcelona2,6199.50
21Hotel Don CándidoPuerto de la Cruz2,2639.50
22Le Petit Boutique HotelSantander2,2479.50
23Palacio Vallier by MYR HotelsValencia2,1849.50
24The Corner HotelBarcelona2,0819.50
25Stayso The House HotelIstanbul8549.50
How the score works
  1. Ratings are re-based, not averaged. An 8.4 in Osaka and an 8.4 in Orlando do not describe the same hotel. Scores are normalized against the distribution of the country they sit in.
  2. Price is judged against its own band. A $90 room is measured against other $90 rooms, never against a suite. Quality tracks price logarithmically, so we treat it that way.
  3. Age counts, both directions. A 1890 building and a 2019 building fail differently. Year built is a factor, not a penalty.
  4. Nothing here is submitted. There is no form a hotel can fill in, no listing fee and no promoted position. Every number is computed from the dataset.

Read the full method, with weights