Nowadays, Bulgarian and Macedonian are the only Slavic languages where the system of cases isn't developed. Bulgarian and Macedonian are very close to each other, but are considered to be 2 independent languages though previously Macedonian was supposed to be a dialect of the Bulgarian language. The countries where these languages are spoken have boundaries with other Slavic countries.So they've always been in close cultural connections and had influence on each other's language.However, the closest Bulgarian Slavic neighbour, Serbia, has still kept 7 cases system.So my question is: how can it be explained that Bulgarian lost its cases?
The features of Bulgarian and Makedonian are explained by mutual influence of the languages on the Balkan (including non-Slavonic Languages such as Romanian, Albanian, and Greek). The neighbouring languages of Bulgarian show a characterisitc reduction of the case system to 2 cases (3 including vocative) with genitive and dative merged into one case. Due to their mutual influence the Balkan languages form a sprachbund named Balkan sprachbund.