The main factor that determines the number of parties is the voting system.
As for research supporting the claim I will cite this paper, which says:
One of Duverger's most famous claims is that, in a law-like relationship, the plurality rule favors a
two-party system while proportional systems lead to multipartyism (Duverger 1955). This raises the
question of what is to ‘count’ as a party, in particular how to count very small parties. In recent years
Lijphart (1994) reexamined the evidence for this thesis. The study compared 27 advanced industrialized
democracies in 1945-90 based on the Laakso and Taagepera measure of the 'effective number of
parliamentary parties' (ENPP), which takes account not only of the number of parties but also the relative
size of each. Lijphart found that the ENPP was 2.0 in plurality systems, 2.8 in majority and 3.6 in
proportional systems. Within proportional systems he found that the minimum threshold of votes also has
an effect on the inclusion of minor parties.
This other paper mentions it along with electoral volatility:
The number of parties that compete for elections has been found to be positively associated with electoral volatility (Pedersen, 1979; Crewe, 1985; Bartolini and Mair, 1990), and it is well known that the electoral system is one of the main determinants of the number of parties that compete in elections (e.g. Rae, 1971; Taagepera and Shugart, 1989; Cox, 1997).
The reason why systems like first-past-the-post tend to produce two party systems is quite obvious. If in each district seats are assigned only to the party with the highest number of votes it becomes a lot harder for smaller parties to obtain any seats at all. The only exception are regional parties that are strong in a certain region.
Edit: fixed typos