Поездка в Узбекистан: впечатления + анализ рынка по аренде квартир (осень 2022)

В этом году октябрь и половину ноября я провел в столице Узбекистана - замечательном городе Ташкенте, впечатлениями от которого и хотел бы поделиться. 

В конце сентября 2022 года после объявления мобилизации многие мужчины в РФ по понятным причинам захотели если не навсегда, то хотя бы на время покинуть родные стены, в их числе оказался и я. Мой выбор пал на Ташкент, и об этом ни разу мне не пришлось пожалеть. 

Раньше мне не приходилось бывать в Центральной Азии (да и за границу ездил всего пару раз), так что были некоторые опасения, что будет сложно провести месяц или два на новом месте в другой стране, но в реальности это оказалось совсем не так. 

С одной стороны, очередная в истории нашей страны волна эмиграции заставила сблизиться людей, а современные технологии и, в первую очередь, Телеграм очень сильно поспособствовали налаживанию коммуникаций. Люди объединялись, делились информацией, помогали друг другу. 

С другой, узбеки оказались очень гостеприимными и доброжелательными к приезжим, а в Ташкенте обнаружилось столько положительных моментов, что эти недели стали не изгнанием, а, скорее, интересным приключением.   

Наверное, самая большая проблема для любого иностранца, приезжающего в другую страну - это языковой барьер. Мой английский позволяет читать техническую литературу, слушать подкасты и смотреть фильмы, но вот полноценно общаться на нем для меня было бы, пожалуй, тяжеловато (поэтому и не особо тянуло в Европу, даже при наличии действующего шенгена). Какого же было мое удивление, когда обнаружилось, что на русском в Ташкенте говорят если и не все, то подавляющее большинство. При этом, русский язык активно используется: на нем показывают фильмы в кинотеатрах, делают вывески и объявления, печатают меню в кафе, даже в метро на русском делают объявления о необходимости отойти от края платформы при прибытии поезда.



Понятно, что не все говорят на русском идеально, но это и не Россия )) С русским тебя скорее всего поймут и постараются на нем же с тобой говорить, даже в государственных учереждениях (был опыт обращения в местный МФЦ), не требуя, чтобы ты знал узбекский. Почему-то мне кажется, что в питерских или московских МФЦ добиться чего-то на узбекском (да даже и на английском) будет нетривиальной задачей.

Владение многими узбеками русским, а, для молодежи, часто и английским имеет свою основу. Нигде до этого не встречал такого количества рекламы образования - она практически повсюду.

Ташкент очень молодой город, и это хорошо заметно, достаточно просто прогуляться в районе центра - на улицах полно моложеди, особенно ближе к вечеру, когда заканчиваются занятия. Многие приезжают в столицу учиться, кто-то едет по учебе за границу: Азиз, у которого мы снимали квартиру, учился в МГУ, его племянники, которые жили в этой кваритре, уехали учиться в Корею. Молодцы, вложение в образование, в человеческий капитал - основа для развития в будущем. Так держать, огромный респект! 

Сам город оказался для меня настоящим открытием: очень много пространства, парков, зелени, красивые улицы, классная вечерняя подсветка. Конец сентября, октябрь и начало ноября - это золотая пора в Ташкенте. Погода по питерским меркам летняя, в середине октября спокойно может быть под 30 градусов. 

Деревья все это время постепенно желтеют, но не опадают так быстро как у нас - дожди и сильный ветер здесь редки. Зато очень много солнца! На улицах полно цветов, в ноябре хурма усыпает деревья - просто сказка для северного человека.

Многое в Ташкенте осталось от советского прошлого, чем он напоминает Москву и Петербург. Это и метро, и грандиозные здания в стиле советсткого модернизма (например, дворцы Дружбы и Туркистон), и многоэтажки с характерными мозаиками на фасадах, обращенных к проспектам и утопающие в зелени дворы с пятиэтажками, совершенно такие же, как где-нибудь в Автово.

Большое видится на расстоянии, поэтому когда в Ташкенте спускаешься в метро, видишь отделку станций, чувствуешь тот же характерный запах или заходишь в дом кино, где на старых афишах знакомые лица актеров, начинаешь понимать насколько огромным был Советский Союз, который сумел объединить гигантское количество людей и на всей его бескрайней территории создать единое социальное, языковое и культурное пространство. 

Сохранилась также часть старого города, кварталы с традиционной застройкой. В Ташкенте много мусульманских памятников - очень интересен ансамбль Хазрати Имам с одноименной мечетью и медресе Муйи Муборак, в котором хранится древнейшая рукопись Корана - Коран Усмана.


Много интересных современных зданий. Вот, например, музей Ташкента в Национальном парке с прекрасной деревянной галереей:

А еще в Ташкенте все хорошо с едой )) Огромное количество кафе, ресторанчиков, сетей быстрого питания, окошек и лотков с едой на вынос. Чего стоят "обжорные ряды" на рынке Чор-Су, да и сам этот рынок, где можно купить и свежайшие овощи - фрукты, и лепешки прямо из печи, и много-много всего остального - весьма примечательное место:

Много вкусной еды и мало алкоголя. Во многих кафе он не продается, его нет в супермаркетах. Если надо, то можно купить в специализированных магазинчиках, но их не так, чтобы было много. Того обилия точек с разливным пивом, магазинов "КиБ" , "АМ" и прочих подобных здесь и близко нет, что, на мой взгляд, сильно к лучшему.

Заканчивая это краткое описание, очень рекомендую всем, кто, еще не был в Ташкенте, посетить этот интересный, солнечный и гостеприимный город. Я же, в свою очередь, планирую встретить здесь весну (которая должна наступить сильно раньше, чем в Петербурге) и побывать в Самарканде и Бухаре.

Ситуация с перемещением большого числа людей в короткие сроки была внезапной как для тех, кто уезжал, так и для тех, к кому практически одномоментно приехало большое количество людей. Естественно, это не могло не сказаться, в том числе, на рынках аренды жилья. Не исключение и Ташкент: цены выросли - таков уж закон рынка, спрос резко возрос. Однако, мне интересно было посмотреть на этот процесс в динамике: получить наглядную картину того, какой ситуация была в сентябре, какой рост произошел в октябре и каким было продолжение в ноябре - декабре.

Одним из больших приобретений последнего времени, и этой волны иммиграции в частности, оказались тематические чаты в Телеграме с большой и активной аудиторией, насчитывающей тысячи и десятки тысяч человек. В них можно задать вопрос и получить ответ по поводу аспектов релокации по различным странам, найти попутчиков или компаньонов для совместной аренды квартиры. Также существуют чаты и каналы с предложениями аренды и запросами на съем жилья. Для Узбекистана, насколько мне известно, самыми крупными являются Релокейшн - недвижимость - агрегатор предложений, в основном, от риелтеров и Релокейшн ~ Аренда(Запросы) - чат для сбора запросов по поиску жилья.

Для анализа сообщений в этих чатах рещил воспользоваться библиотекой telethon, позволяющей получить доступ к telegram api.

Результаты для предложений на сдачу квартир:


Отлично виден всплеск конца сентября, начала октября,  поднявший среднюю стоимость аренды среди предложений в диапазоне от 250$ до 2500$ с уровня 750$ до 1250$ (на 67%). Далее вступил в силу компенсирующий механизм: все у кого была возможность сдать жилье, стали выставлять ее на рынок и кривая цены пошла навстречу кривой предложения. Возврат к исходным уровням занял около полутора месяцев.

Все по классике, но интересно увидеть это своими глазами. Да, не очень весело было искать квартиру в начале октября... Перед Новым Годом, кстати, цена опять поползла наверх (то же можно сказать и про авиабилеты) - но это, насколько я понимаю, сезонное явление.

Данные со стороны спроса:


Резкий взлет, подстегнувший цену на графике предложений. А так выглядит график спроса с данными по желательной цене аренды, которую указывали в запросах:


Хорошо видно распределение цен, чем-то схожее с биржевым стаканом, в котором цены покупателей лежат ниже цен продавцов и при этом есть некоторая зона их пересечения, в которой, как я понимаю, и совершаются сделки.

Что касается реализации, то для поиска сообщений я использовал функцию  iter_messages  класса TelegramClient, ее параметр search позволяет указать серверу строку, которую должны содержать возвращаемые сообщения. В данном случае, это знак "$". Так теряется часть сообщений, содержащих, например, строку "у.е.", но в данном случае этим спокойно можно пренебречь:

async def collect_df(title, chat_dict) -> None:
'''Collect df from chat with specified title'''
chat_id = chat_dict[title]
chat_entity = await client.get_input_entity(chat_id)
chat = await client.get_entity(chat_entity)
logger.info(f'Collect df for "{chat.title}"')

msg_data = []
async for msg in client.iter_messages(chat, limit=20000, search='$'):
msg_data.append([
msg.id,
msg.date.date(),
price_search(msg.text),
'-',
'-',
'-',
msg.text
])
logger.info(f'Message #{msg_data[-1][0]}, date: {msg_data[-1][1]}, price: {msg_data[-1][2]}, '+
f'address: {msg_data[-1][3]}, rooms: {msg_data[-1][4]}, area: {msg_data[-1][5]}')
logger.debug(f'Text:\n{msg.text}')

df = pd.DataFrame(msg_data)
df.columns=['id', 'date', 'price', 'address', 'rooms', 'area', 'msg']
my_path = os.path.abspath(os.path.dirname(__file__))
df_csv = os.path.join(my_path, f"../research/data_{chat_id}.csv")
df_csv = os.path.normpath(df_csv)
if os.path.exists(df_csv):
os.remove(df_csv)

df = df.iloc[::-1]
df.to_csv(df_csv, sep=';' ,index=False)
logger.info(f'Save data to file: {df_csv}')

Функция для выделения цены:

def price_search(msg: str) -> int:
'''Search price in str like "850$ / 1600$"'''
msg_lst = msg.splitlines(keepends=False)
for line in msg_lst:
if '$' in line:
d_idx = line.find('$')
try:
price = int(line[d_idx-4:d_idx]) # OK for '1600$', ' 500$', '-500$'
return abs(price)
except ValueError:
try:
price = int(line[d_idx-3:d_idx]) # OK for ':500$'
return price
except ValueError:
break
return 0

Функция для определения ID чата (сначала на чаты нужно подписаться):

async def get_chats() -> dict:
'''Search chats with rental offers'''
logger.info('Chats with "аренда" in title:')
rent_chats = {}
async for dialog in client.iter_dialogs():
if any(x in dialog.name.lower() for x in ['аренда', 'недвижимость']):
rent_chats.update({dialog.name: dialog.id})
for k, v in dict(sorted(rent_chats.items())).items():
logger.info(f'title: {k}, id: {v}')

return rent_chats

Вызов функции поиска сообщений с указанием названия чата, например:

if __name__ == '__main__':

api_id = 000
api_hash = 'ххх'

client = TelegramClient('anon', api_id, api_hash)

with client:
chat_dict = client.loop.run_until_complete(get_chats())
client.loop.run_until_complete(collect_df('Релокейшн ~ Аренда(Запросы)', chat_dict))

Данные поиска объединяются в датафрейм pandas и сохраняются в csv-файл. После чего в Jupyter notebook удобно их анализировать и строить графики.

Всем мира! Let`s go design! 


Комментарии

  1. Полезная информация, с интересом прочитала, захотелось увидеть Ташкент, прочувствовать его тепло и гостеприимство

    ОтветитьУдалить

Отправить комментарий