Pre-heat the oven to 350 degrees. Lightly butter and flour a 9-inch spring form pan and line it with parchment paper. Set aside.
To make the streusel topping: Whisk together the flour, brown sugar, cinnamon, and salt in a medium size bowl. Using a fork, work the butter into the flour mixture until it resembles coarse crumbs. Mix in the pecans. Cover it with stretch film and place in the fridge.
To make the batter: Sift together the flour, baking powder, baking soda, cinnamon, ginger, nutmeg, and salt in a bowl. Set aside.
Whisk together the sour cream and the pumpkin puree in a bowl. Set aside.
In the bowl of a standing mixer attached with the paddle attachment (or a hand mixer would work too), beat the butter and sugar in medium speed until creamy, 60-90 seconds. Add in the eggs one by one, ensuring that they are homogenously combined, scraping down the bowl as necessary. Reduce speed to low and add one-third of the flour mixture, followed by half of the sour cream and pumpkin puree mixture, mixing until incorporated after each addition, 5 to 10 seconds. Repeat, using half of remaining flour mixture and all of the sour cream and pumpkin puree mixture. Mix just until combined. It will be a thick batter.
Spread half of the batter in the prepared pan. Sprinkle half of the streusel topping all over the batter. Spoon the rest of the batter on top. Using a spatula, spread the batter as equally as you can. Top it off with the rest of the streusel.
Bake for 45-50 minutes or until a toothpick inserted comes out clean. Once it comes out of the oven let it cool for 5-10 minutes. Run a knife through the sides of the cake; remove from the pan, and let cool on a wire rack for at least 30 minutes.
Meanwhile, to make the glaze: Sift confectioners’ sugar and cocoa powder in a bowl. Whisk in the milk and vanilla extract until it is creamy. Drizzle it over the cake.
Slice the cake and serve.