TdP-prove-finali / Introduzione

Istruzioni e documentazione per la proposta e lo svolgimento delle prove finali relative al corso di Tecniche di Programmazione.
http://bit.ly/tecn-progr
Apache License 2.0
4 stars 13 forks source link

Richiesta tesi: S272348 Sferlazzo Daniele #91

Closed dsferlazzo closed 2 years ago

dsferlazzo commented 2 years ago

Studente proponente

S272348 Sferlazzo Daniele

Titolo della proposta

Valutazione del mercato immobiliare di Melbourne e realizzazione di un apposito piano di acquisti

Descrizione del problema proposto

Il mercato immobiliare può spesso essere molto complicato da valutare a causa del grande numero di offerte ed abitazioni disponibili all’acquisto. Questo programma permetterà di analizzare le varie offerte immobiliari, andando a fornire all’utente vari filtri per le abitazioni da selezionare ed andrà a generare un valido piano di investimenti per l’agenzia immobiliare o per l’investitore del settore, oltre a calcolare un periodo di ritorno del capitale così investito.

Descrizione della rilevanza gestionale del problema

Andando a supportare le decisioni degli investitori del settore, il programma andrà a fornire una valida lista di abitazioni da acquistare ed un elenco delle zone più proficue, migliorando così la scelta degli investitori, diminuendo il rischio di perdita di capitale investito e stimando un eventuale periodo di ritorno del capitale investito tramite il guadagno generato dall’affitto degli immobili così acquistati (considerando anche la possibilità che la casa non venga affittata in determinati periodi).

Descrizione dei data-set per la valutazione

Per il programma verranno utilizzati due data-set: https://www.kaggle.com/datasets/dansbecker/melbourne-housing-snapshot

Il primo è un database in cui ogni riga rappresenta un’abitazione, con il suo prezzo, la zona e varie altre caratteristiche. In particolare verranno utilizzate le seguenti informazioni: • Address: chiave univoca dei dati • Suburb, PropertyCount e RegionName: il quartiere in cui è situata l’abitazione, il numero di abitazioni nello stesso ed il nome della Regione in considerazione • Price: il prezzo di vendita dell’abitazione • Altre informazioni utilizzate per filtrare i vari edifici, quali la dimensione, il numero di stanze, la regione, etc…

https://www.kaggle.com/datasets/luisblanche/quarterly-tourism-in-australia Il secondo dataset contiene le informazioni sul turismo stagionale in Australia, tramite il quale si potrà calcolare la probabilità che un’abitazione venga affittata in un determinato mese dell’anno.

Descrizione preliminare degli algoritmi coinvolti

In una fase preliminare, per supportare le varie decisioni dell’utente, vengono calcolate le migliori regioni in cui poter investire tramite l’analisi del prezzo medio di vendita degli immobili e del numero di abitazioni nella regione.

Nella prima fase del programma, inserito il budget disponibile da investire, un obiettivo dell’analisi ed eventuali filtri, tramite l’utilizzo di un algoritmo ricorsivo vengono selezionati una lista di immobili soddisfacenti le condizioni, tale che sia di dimensione massima (ovvero comprenda l’acquisto del maggior numero di immobili), oppure abbia il massimo valore di affitto complessivo, oppure comprenda l’investimento del maggior capitale possibile.

Nella seconda fase del programma, selezionata un’abitazione tra quelle della lista, partendo dalla probabilità che la casa non venga affittata mensilmente, si utilizza un algoritmo di simulazione, che, tramite l’analisi di diversi tipi di affitto, sia a lungo termine sia turistico, ne calcoli il periodo di ritorno del capitale.

Descrizione preliminare delle funzionalità previste per l’applicazione software

Una volta avviata l’applicazione, viene stampata una lista delle regioni consigliate per effettuare l’acquisto e una lista delle tipologie di appartamenti più costosi. Ciò aiuterà l’utente nella selezione di filtri che verranno utilizzati nella parte successiva. Una volta effettuata la scelta dei filtri, inserito il budget disponibile per l’investimento e selezionato un obiettivo dell’investimento tra: • maggior numero di appartamenti acquistati • maggior capitale investito • maggior prezzo complessivo di affitto mensile il programma si occuperà inizialmente di filtrare tutte le abitazioni presenti nel dataset, grazie alle informazioni fornite dall’utente e in seguito, tramite l’utilizzo di un algoritmo ricorsivo, di generare una lista di appartamenti che soddisfino le necessità dell’utente.

Generata la lista degli immobili, l’utente ha la possibilità di selezionare uno tra quelli presenti e il programma, considerando la probabilità che l’immobile non venga affittato, effettua un algoritmo di simulazione per ottenere il periodo di ritorno del capitale investito, tramite l’utilizzo di apposite stime.

fulcorno commented 2 years ago

Il dominio è rilevante ed in problema interessante dal punto di vista gestionale. La parte di ottimizzazione della scelta degli appartamenti per massimizzare diverse metriche va bene. Mi pare però che manchi un dato di partenza: come faccio a sapere se un appartamento è libero (in vendita) o no? Non mi è molto chiara la parte sulla simulazione, mi sembra che si tratti semplicemente di fare una stima di rendimento finanziario, non riesco a capire quali siano gli "eventi" da simulare (e soprattutto mi pare che tali eventi non si influenzino a vicenda, si tratterebbe di una semplice sommatoria.

Se riesci a chiarirmi questi due aspetti, possiamo procedere.

dsferlazzo commented 2 years ago

Riguardo alla prima domanda pensavo di considerare tutte le abitazioni presenti nel database come in vendita. Invece per la seconda, partendo dal Vacancy Rate, ovvero la probabilità mensile che un’abitazione rimanga sfitta (https://www.domain.com.au/research/vacancy-rates-june-2022-1149519/) verrebbe generato un primo evento di affitto per l’abitazione selezionata. Se la casa viene affittata con successo, viene generato un evento di tipo Holiday, Business, Visiting o Other (la probabilità di avere ciascun tipo di evento è calcolata tramite il secondo dataset specificato), ed ognuno di questi eventi avrà conseguenze diverse sullo stato dell’affitto della casa nei mesi successivi. Ad esempio nel caso in cui una casa venga affittata per visiting, vi sarà una bassa probabilità che essa venga affittata dagli stessi anche per il mese successivo (nel caso in cui una casa non venga affittata dagli stessi nel mese successivo, oppure nel caso in cui la casa è rimasta sfitta nel mese precedente, viene generato un nuovo evento di affitto come quello iniziale, quindi con una probabilità che l’abitazione non venga affittata uguale al vacancy rate). Nel caso invece in cui essa venga affittata per business, dovrò considerare una media probabilità che essa venga affittata dagli stessi per il mese successivo o per tutto il trimestre, ed una bassa probabilità che venga affittata dagli stessi per il semestre o per l’anno intero. Il costo di affitto della casa verrà calcolato tramite le informazioni presenti in questo sito: https://smartasset.com/mortgage/how-much-you-should-charge-for-rent#:~:text=The%20amount%20of%20rent%20you,%242%2C000%20and%20%242%2C750%20each%20month.

fulcorno commented 2 years ago

ok, grazie per i chiarimenti. Proposta approvata.