Soerjono Soekanto (2010: 101) mengatakan bahwa ada 2 faktor yang mempengaruhi terjadinya dinamika sosial dapat digolongkan, yakni faktor dari dalam dan luar masyarakat.
Faktor yang berasal dari dalam.
- Bertambah dan berkurangnya penduduk. Pertambahan jumlah penduduk akan menyebabkan perubahan jumlah dan persebaran wilayah pemukiman. Wilayah pemukiman yang berpusat pada satu wilayah kekerabatan akan berubah atau terpencar karena faktor pekerjaan. Berkembangnya penduduk juga akan menyebabkan dinamika sosial.
- Penemuan-penemuan baru. Perkembangan teknologi juga dapat mengurangi jumlah kebutuhan tenaga kerja di sektor industri karena tenaga manusia telah tergantikan oleh mesin yang menyebabkan proses produksi semakin efektif dan efisien.
- Pertentangan atau konflik. Pertentangan dalam suatu sistem sosial akan menyebabkan dinamika sosial secara kultur dan struktur, baik secara fungsional maupun disfungsional.
- Terjadinya pemberontakan atau revolusi. Terjadinya pemberontakan tentu saja akan melahirkan berbagai perubahan, pihak pemberontak akan memaksakan tuntutannya, lumpuhnya kegiatan ekonomi, pergantian kekuasaan, dan sebagainya.
Faktor yang berasal dari luar.
- Terjadinya bencana alam atau kondisi lingkungan fisik, hal tersebut bisa bisa kita lihat bagaimana terjadinya bencana banjir Tsunami di Aceh, lumpur lapindo di Sidoarjo, dan Gunung Merapi meletus di Yogyakarta. Kondisi ini terkadang memaksa masyarakat suatu daerah untuk mengungsi meninggalkan tanah kelahirannya.
- Peperangan. Peristiwa peperangan, baik perang saudara maupun perang antar negara dapat menyebabkan dinamika sosial, karena pihak yang menang biasanya akan memaksakan ideologi dan kebudayaannya pada pihak yang kalah.
- Adanya pengaruh kebudayaan masyarakat lain. Interaksi antar kebudayaan dapat diterima tanpa paksaan, maka disebut demonstration effect.