Preheat the oven to 350F and grease a 9-inch square pan.
For the streusel, combine the brown sugar, flour, and cinnamon and stir in the melted butter until evenly combined. Stir in the pecans and set aside.
For the cake, sift the flour, baking powder, salt, baking soda and allspice. In a separate bowl, whisk the melted butter, sugar, sour cream, eggs and vanilla. Stir this into the flour mixture until evenly blended. Spread half of the batter into the prepared pan and sprinkle half of the streusel on top. Use a skewer or paring knife to swirl the streusel in a bit. Top with the remaining batter, spread and then top the cake with the remaining streusel, giving the cake another little swirl.
Bake the cake for 45 to 55 minutes, until a tester inserted in the centre of the cake comes out clean. Cool the cake in the pan to room temperature before slicing.
The cake will keep, well wrapped and unrefrigerated for up to 3 days.