
Pada dasarnya ada dua pengelompokan faktor-faktor yang menyebabkan seseorang melakukan migrasi, yaitu faktor pendorong (push factor) dan faktor penarik (pull factor).
a. Faktor-faktor pendorong (push factor) antara lain adalah:
· Makin berkurangnya sumber-sumber kehidupan seperti menurunnya daya dukung lingkungan, menurunnya permintaan atas barang-barang tertentu yang bahan bakunya makin susah diperoleh seperti hasil tambang, kayu, atau bahan dari pertanian.
· Menyempitnya lapangan pekerjaan di tempat asal (misalnya tanah untuk pertanian di wilayah perdesaan yang makin menyempit).
· Adanya tekanan-tekanan seperti politik, agama, dan suku, sehingga mengganggu hak asasi penduduk di daerah asal.
· Alasan pendidikan, pekerjaan atau perkawinan.
· Bencana alam seperti banjir, kebakaran, gempa bumi, tsunami, musim kemarau panjang atau adanya wabah penyakit.
b. Faktor-faktor penarik (pull factor) antara lain adalah:
· Adanya harapan akan memperoleh kesempatan untuk memperbaikan taraf hidup.
· Adanya kesempatan untuk memperoleh pendidikan yang lebih baik.
· Keadaan lingkungan dan keadaan hidup yang menyenangkan, misalnya iklim, perumahan, sekolah dan fasilitas-fasilitas publik lainnya.
· Adanya aktivitas-aktivitas di kota besar, tempat-tempat hiburan, pusat kebudayaan sebagai daya tarik bagi orang-orang daerah lain untuk bermukim di kota besar.