Close

Łukasz kupuje mieszkanie w Częstochowie

Dziś by wyszukać mieszkanie wystawione na sprzedaż wystarczy zasiąść przed komputerem, włączyć go, wpisać co by się chciało kupić w przeglądarkę i czekać na odpowiedź. Wujek Google z pewnością przedstawi swoją propozycję. Są też odpowiednie miejsca jak serwisy ogłoszeniowe, w tym kilka specjalizujących się między innymi właśnie w nieruchomościach:

Serwisy wyposażone są w przeróżnego rodzaju filtry gdzie można określać wymagania do wyszukania określonych ofert z zakresu lokalizacji mieszkania, jego powierzchni czy wreszcie ceny. Ale moje podejście do tematu będzie trochę inne, rozpoznawcze. Podejdę bowiem od strony statystycznej by sprawdzić jakie są w ogóle dostępne mieszkania wystawione do kupna i jakimi parametrami się one cechują. Mam nadzieję, że mając te informacje łatwiej będzie wybrać spośród oferowanych lub poczekać na to wymarzone w odpowiedniej lokalizacji. Na wstępie jeszcze tylko muszę zaznaczyć, że ceny mieszkań podane w ofertach na stronach nie są cenami transakcyjnymi, te zazwyczaj są nieco niższe.

Pierwszym krokiem było dokonanie przeskanowania stron serwisów ogłoszeniowych i utworzenie jednego zbioru (tzw. ramka danych) ze wszystkimi ofertami. We wpisie pokażę jedynie dane z serwisu otodom.pl, gdyż po pierwsze zawiera najwięcej ofert sprzedażowych dla mieszkań zlokalizowanych w Częstochowie, a po drugie, jak się okazało, pozostałe serwisy często u siebie prezentują na stronach właśnie mieszkania z serwisu otodom.pl.

Dane z serwisu otodom.pl zostały pobrane w dniu 23 sierpnia br (kod scrappingu strony otodom.pl zamieszczam na końcu wpisu). Po wyczyszczeniu danych i usunięciu powtarzających się wpisów do analizy zostały 932 mieszkania. A zatem do dzieła.

Zerknijmy na początek na rozkład kilku parametrów opisujących wystawione na sprzedaż w Częstochowie mieszkania. W szczególności zwrócimy uwagę na metraż mieszkania oraz cenę za metr kwadratowy jaką życzy sobie sprzedający. Zacznijmy od metrażu.

ggplot(data = oferty) +
  geom_density(aes(x = metraz),fill="orange", color = "black") +
  geom_vline(xintercept = mean(oferty$metraz), color = "red", size = 1, linetype ="dashed") +
  geom_vline(xintercept = median(oferty$metraz), color = "blue", size = 1, linetype ="dashed")

Zdecydowanie najwięcej w ofercie mieszkań ma metraż około 50 m2 . Czerwona przerywana linia oznacza średnią powierzchnię mieszkania, która wynosi 59,6 m2, z kolei niebieska przerywana to mediana. Stąd połowa ilości oferowanych do sprzedaży mieszkań ma metraż mniejszy 53,25 m2, a połowa większy. A jak wygląda rozkład ceny za metr kwadratowy powierzchni mieszkania. Spójrzmy.


Wartość średniej jak i mediany ceny za metr sprzedawanego mieszkania w Częstochowie jest do siebie dość zbliżona. Odpowiednio wynoszą one: 4620 zł/m2 oraz 4580 zł/m2. Jak widać z wykresu jest dość sporo ofert z ceną niższą oraz wyższą od średniej czy mediany.

Spójrzmy teraz na oferty pod względem ilości pokoi. Najwięcej ofert mieszkań do sprzedaży (45,71%) to mieszkanie dwupokojowe. Ilość ofert w relacji do ilości pokoi w ofertowanych mieszkaniach zestawiono w poniższej tabeli.

Liczba pokoi Liczba ofert Udział procentowy w ofertach
1 pokój 65 6.97
2 pokoje 426 45.71
3 pokoje 338 36.27
4 pokoje 84 9.01
5 pokoi 14 1.50
6 pokoi 2 0.21
7 pokoi 2 0.21
8 pokoi 1 0.11

Do tego dołożę trochę statystyki – minimalny, maksymalny oraz średni metraż dla grup mieszkań z różną ilością pokoi.

Liczba pokoi Min. pow. Maks. pow. Śred. pow.
1 pokój 18.00 102.00 32.20
2 pokoje 30.00 84.00 48.30
3 pokoje 39.00 157.00 67.35
4 pokoje 50.90 129.42 90.05
5 pokoi 94.50 190.12 132.12
6 pokoi 124.28 129.42 126.85
7 pokoi 101.00 157.00 129.00
8 pokoi 206.00 206.00 206.00

Ciekawie prezentuje się także ofertowana cena mieszkania w zależności od ilości pokoi w nim się znajdujących. Zerknijmy na wykres ramka-wąsy.

Czarne kropki oznaczają wielkości odstające. Ale od początku. Wraz ze wzrostem ilości pokoi wzrasta mediana ceny i to nie jest niczym nadzwyczajnym. Tendencja ta zmienia się przy powiedziałbym dość ekstremalnych ilościach pokoi, ale należy wziąć pod uwagę, że tego rodzaje mieszkania są rzadkością na rynku. Jak wspomniałem wcześniej oferty z 2-3 pokojowym mieszkaniem stanowią zdecydowaną większość. I tu jak widać po wspomnianych kropkach rozrzut ceny jest dość znaczny. I tak np. dla 1 pokojowego mieszkania mamy takie, gdzie cena za metr kształtuje się na poziomie 539 zł/m2 jak i 8571 zł/m2. Dopiero przyjrzenie się bliżej ofercie pozwala stwierdzić, że w pierwszym przypadku mamy strych do adaptacji, a w drugim super urządzone mieszkanie pełniące funkcję salonu fryzjerskiego 😊. Generalnie dla mieszkań 1-4 pokojowych mediana ceny za metr jest zbliżona do średniej ceny metra kwadratowego, czyli 4620 zł/m2. Przy większej ilości mediana spada, ale tak jak zaznaczyłem na rynku nie są to popularne mieszkania.

I jeszcze rzut oka, na zależność od której w zasadzie powinniśmy zacząć, czyli metraż mieszkania a ilość pokoi. Tendencja wyraźna, brak zaskoczenia metraż wzrasta wraz z ilością pokoi, jakkolwiek w grupie mieszkań 2-3 pokojowych obserwujemy znaczące zróżnicowanie. Mamy mieszkanie trzypokojowe o powierzchni 39 m2, ale także i o powierzchni 157 m2.

A jak z lokalizacją, jak kształtuje się cena w zależności od dzielnicy Częstochowy. Ale zaraz, zanim o tym to sprawdźmy jeszcze czy jest jakaś prosta relacja pomiędzy ceną, a metrażem mieszkania. Jak się okazuje wśród danych można odszukać liniowy charakter tej zależności. Dla relacji pomiędzy ceną mieszkania a jego powierzchnią w modelu liniowym jest następująca:

Cena_mieszkania = 3989 zł * metraż + 34806 zł (współczynnik korelacji Pearsona 0,80) (oczywiście matematyka to matematyka, bo jak tu zapłacić za zerowy metraż ponad 34 tysiące złotych 😉 )

No dobrze, a jak to z tymi dzielnicami jest w końcu. Spójrzmy do danych i na wykres.

Dzielnica Liczba ofert Średnia
powierzchnia
Średnia
cena
Średnia
cena za metr
Podjasnogórska 11 57.61 364236.4 6140.95
Grabówka 6 94.13 524000.0 5483.46
Częstochówka-Parkitka 128 69.45 369490.8 5320.53
Lisiniec 7 87.73 412857.1 5074.24
Tysiąclecie 143 51.67 243843.6 4766.73
Północ 121 59.39 275970.0 4693.02
Śródmieście 228 65.36 289044.6 4556.37
Trzech Wieszczów 22 51.55 223727.3 4421.74
Wrzosowiak 56 51.75 227094.6 4388.92
Błeszno 20 51.24 224000.0 4378.64
Ostatni Grosz 57 47.45 199535.8 4326.79
Zawodzie-Dąbie 3 67.53 276000.0 4114.34
Wyczerpy-Aniołów 7 81.06 310000.0 4063.61
Gnaszyn-Kawodrza 3 40.56 159333.3 4042.34
Raków 94 52.98 206342.4 3993.78
Stare Miasto 15 56.69 217933.3 3936.74
Stradom 2 125.00 452500.0 3626.98
Dźbów 5 59.60 212400.0 3568.59
Mirów 3 94.67 243000.0 2449.80

Dla wyjaśnienia jeszcze liczba stojąca przed słupkiem na wykresie to liczba ofert, które odnoszą się do danej dzielnicy miasta Częstochowy. Najwięcej ofert dotyczy mieszkań zlokalizowanych w dzielnicy Środmieście, sporo jest też także na Tysiącleciu, Parkitce, Północy czy Rakowie. Ale sama liczba ofert nie jest zbyt miarodajną, spróbujmy ją zatem przedstawić w zmienionej postaci, ilości ofert przypadających na 1000 mieszkańców. Zatem z Wikipedii pobierzemy informację o ilości osób zamieszkujących dzielnicę i dołączymy do naszej liczby ofert.

# pobieramy dane o dzielnicach z wikipedii
wiki <- "https://pl.wikipedia.org/wiki/Podzia%C5%82_administracyjny_Cz%C4%99stochowy"
webpage <- read_html(wiki)
table_links <- html_nodes(webpage, ".wikitable")
tables <- html_table(table_links, fill = TRUE)
wiki_dzielnice <- tables[[1]]

# ile ofert na 1000 mieszkańców
wiki_dzielnice <- left_join(dzielnice,wiki_dzielnice,by=c("dzielnica" = "Nazwa dzielnicy"))

wiki_dzielnice %>% 
  filter(dzielnica != 'Inne') %>% 
  mutate(oferty_ludnosc = 1000 * l_ofert / Ludność) %>% 
  select(dzielnica,oferty_ludnosc) %>% 
  kable(col.names = c("Dzielnica","Liczba ofert na 1000 mieszkańców"),
        digit = 2,
        row.names = FALSE,
        align="lr",format = "html")
Dzielnica Liczba ofert na 1000 mieszkańców
Błeszno 4.84
Częstochówka-Parkitka 14.82
Dźbów 0.90
Gnaszyn-Kawodrza 0.56
Grabówka 1.39
Lisiniec 0.74
Mirów 1.33
Ostatni Grosz 8.87
Podjasnogórska 3.35
Północ 4.25
Raków 4.29
Stare Miasto 1.34
Stradom 0.17
Śródmieście 15.69
Trzech Wieszczów 2.07
Tysiąclecie 5.17
Wrzosowiak 2.05
Wyczerpy-Aniołów 0.76
Zawodzie-Dąbie 0.34

I o ile lider się nie zmienił, czyli najwięcej ofert przypada na Śródmieście. Jest ich ponad 15,7 na 1000 mieszkańców, to na trzecie miejsce wysunęła się dzielnica Ostatni Grosz, gdzie liczba ofert na 1000 mieszkańców zbliża się do 9. W pozostałych dzielnicach liczba ofert jest zazwyczaj mniejsza niż 5 na 1000 mieszkańców dzielnicy.

Coś jednak cały czas odbiegam od cen w poszczególnych dzielnicach Częstochowy. Wróćmy zatem do wykresu. Po prawej stronie to w słupku wyświetlona jest średnia cena za metr kwadratowy w danej dzielnicy. Bezsprzecznie najdroższą dzielnicą jest Podjasnogórska, tutaj średnia cena za metr kwadratowy przekracza 6000 zł (ofert było 11). Z kolei najtaniej można kupić mieszkanie w dzielnicy Mirów – średnia cena za metr kwadratowy powierzchni mieszkania to 2450 zł. Rzut oka na rozkład dzielnic w mieście Częstochowa poniekąd wyjaśnia tą sytuację. (W Kiedrzynie nie było żadnej oferty, stąd na mapce biała plama)

Pokrótce dzielnice takie jak Dźbów czy Mirów są rozlokowane na rubieżach miasta, natomiast dzielnica Stare Miasto jest jedną z najbardziej zaniedbanych dzielnic. Dzielnica Podjasnogórska to praktycznie centrum miasta, jak nie administracyjne to z pewnością duchowo. Na terenie dzielnicy oprócz klasztoru znajdują się parki podjasnogórskie, zaplecze hotelarsko-usługowe oraz właśnie osiedle mieszkalne. Generalnie najdroższy obszar znajduje się z północno-zachodniej części miasta.

Ah i na koniec w kogo posiadaniu jest najwięcej ofert, sprawdzamy (wyświetlone zostaną tylko te agencje, które mają więcej niż 10 ofert). Stąd:

Pośrednik Liczba ofert pośrednika
SVERUM Nieruchomości s.c. 124
EP Nieruchomości S.C. 73
Aspect Nieruchomości – Ogólnopolska Sieć Biur 60
Oferta prywatna 55
WGN-Nieruchomości 54
Metropolia Nieruchomości 51
Home Broker S.A. 50
Północ Nieruchomości Częstochowa 47
Kancelaria Obrotu Nieruchomościami Madox Artur Kokoszka 34
World Broker 34
GOLEMO Nieruchomości 33
Agencja Nieruchomości „ARUM” Piotr Szecówka 25
Posesja Nieruchomości 25
Aleja Nieruchomości 23
LIDER-Kompleksowa Obsługa Nieruchomości 23
Agencja Handlu Nieruchomościami DiD Sławomir Deptuła 14
Agencja Nieruchomości JAR 13
FINDHOUSE Nieruchomości 12
Megaron S.C. 11

Prawdziwym liderem jest SVERUM NIERUCHOMOŚCI S.C. Dość pokaźną liczbowo grupę ofert stanowią oferty prywatne, choć w całości wszystkich ofert jest to jedynie 5,9%.

Łukasz powodzenia w zakupie, parapetówa Cię nie ominie 😉 .

library(tidyverse)  
library(rvest)

get_localization <- function(html) {
  
  html %>% 
   html_nodes('div.col-md-content') %>%   
   html_nodes('p.text-nowrap') %>%  
   html_text() %>% 
   str_replace("Mieszkanie na sprzedaż: Częstochowa, ","") %>% 
   as.factor() %>%   
   unlist()  
}

get_area <- function(html) {
  
  html %>% 
    html_nodes('div.col-md-content') %>% 
    html_nodes('div.offer-item-details') %>%     
    html_nodes('ul.params') %>% 
    html_nodes('li.hidden-xs.offer-item-area') %>%    
    html_text() %>%
    { gsub(".{3}$","", .) } %>% 
    { gsub(",",".", .) } %>%   
    as.numeric() %>%
    unlist()   
}

get_price <- function(html) {
  
  html %>% 
    html_nodes('div.col-md-content') %>% 
    html_nodes('div.offer-item-details') %>% 
    html_nodes('ul.params') %>% 
    html_nodes('li.offer-item-price') %>%    
    html_text() %>%
    str_trim() %>% 
    { gsub("[ zł]","", .) } %>% 
    { gsub(",",".", .) } %>% 
    as.numeric() %>%    
    unlist()
}

get_rooms <- function(html) {
  
  html %>% 
    html_nodes('div.col-md-content') %>% 
    html_nodes('div.offer-item-details') %>% 
    html_nodes('ul.params') %>% 
    html_nodes('li.offer-item-rooms.hidden-xs') %>%    
    html_text() %>%
    str_trim() %>% 
    as.factor() %>% 
    unlist()
}

get_agency <- function(html) {
  
  html %>% 
    html_nodes('div.col-md-content') %>% 
    html_nodes('ul.params-small.clearfix.hidden-xs') %>% 
    html_nodes('li.pull-right') %>%    
    html_text() %>%
    str_trim() %>% 
    unlist()
}

get_data_table <- function(html) {
  
  localization <- get_localization(html)
  area <- get_area(html)
  price <- get_price(html)
  rooms <- get_rooms(html)
  agency <- get_agency(html)
  #pozostałe elementy
  
  combined_data <- data.frame(miejsce = localization,
                          metraz = area,
                          cena = price,
                          liczba_pokoi = rooms,
                          agencja = agency, stringsAsFactors = FALSE)
  }

get_data_from_url <- function(url){
  html <- read_html(url)
  get_data_table(html)
}

oferty <- data.frame(stringsAsFactors = FALSE)

last_page <- 41

for (i in 1:last_page) {
  url <- paste0("https://www.otodom.pl/sprzedaz/mieszkanie/czestochowa/?search%5Bcity_id%5D=176&amp;page=",i)
  cb <- get_data_from_url(url)
  oferty <- rbind(oferty,cb)
}

Dodatkowe materiały

dr hab. inż., prof. PCz (Politechniki Częstochowskiej); zainteresowania: gospodarowanie odpadami (praktyczne), danologia, analiza danych (hobbystycznie)

Leave a Reply

Your email address will not be published. Required fields are marked *