Menurut Wortman dkk. ada beberapa faktor yang mempengaruhi seseorang dalam memberikan pertolongan kepada orang lain.
1. Suasana hati
Jika suasana hati sedang enak, orang juga akan terdorong untuk memberikan pertolongan lebih banyak. Itu mengapa pada masa puasa, Idul Fitri atau menjelang Natal orang cenderung memberikan derma lebih banyak. Merasakan suasana yang enak itu orang cenderung ingin memperpanjangnya dengan perilaku yang positif. Riset menunjukkan bahwa menolong orang lain akan lebih disukai jika ganjarannya jelas. Semakin nyata ganjarannya, semakin mau orang menolong (Forgas & Bower). Bagaimana dengan suasana hati yang buruk? Menurut penelitian Carlson & Miller, asalkan lingkungannya baik, keinginan untuk menolong meningkat pada orang yang tidak bahagia. Pada dasarnya orang yang tidak bahagia mencari cara untuk keluar dari keadaan itu, dan menolong orang lain merupakan pilihannya. Tapi pakar psikologi lain tidak meyakini peran suasana hati yang negatif itu dalam altruisme.
2. Empati
Menolong orang lain membuat kita merasa enak. Tapi bisakah kita menolong orang lain tanpa dilatarbelakangi motivasi yang mementingkan diri sendiri (selfish)? Menurut Daniel Batson bisa, yaitu dengan empati (pengalaman menempatkan diri pada keadaan emosi orang lain seolah-olah mengalaminya sendiri). Empati inilah yang menurut Batson akan mendorong orang untuk melakukan pertolongan altruistis.
3. Meyakini Keadilan Dunia.
Faktor lain yang mendorong terjadinya altruisme adalah keyakinan akan adanya keadilan di dunia (just world), yaitu keyakinan bahwa dalam jangka panjang yang salah akan dihukum dan yang baik akan dapat ganjaran. Menurut teori Melvin Lerner, orang yang keyakinannya kuat terhadap keadilan dunia akan termotivasi untuk mencoba memperbaiki keadaan ketika mereka melihat orang yang tidak bersalah menderita. Maka tanpa pikir panjang mereka segera bertindak memberi pertolongan jika ada orang yang kemalangan.
3. Faktor Sosiobiologis.
Secara sepintas perilaku altruistis memberi kesan kontraproduktif, mengandung risiko tinggi termasuk terluka dan bahkan mati. Ketika orang yang ditolong bisa selamat, yang menolong mungkin malah tidak selamat. Perilaku seperti itu antara lain muncul karena ada proses adaptasi dengan lingkungan terdekat, dalam hal ini orangtua. Selain itu, meskipun minimal, ada pula peran kontribusi unsur genetik.
4. Faktor Situasional.
Apakah ada karakter tertentu yang membuat seseorang menjadi altruistis? Belum ada penelitian yang membuktikannya. Yang lebih diyakini adalah bahwa seseorang menjadi penolong lebih sebagai produk lingkungan daripada faktor yang ada pada dirinya.
Faktor kepribadian tidak terbukti berkaitan dengan altruisme. Penelitian yang pernah ada menunjukkan bahwa dalam memberikan petolongan ternyata tidak ada bedanya antara pelaku kriminal dan yang bukan. Maka disimpulkan bahwa faktor situasional turut mendorong seseorang untuk memberikan pertolongan kepada orang lain.