Make the streusel
Combine the pecans, brown sugar, flour, cinnamon, and salt in a small bowl. Stir in the melted butter until well combined.
Make the topping
Butter a 9x2-inch round cake pan. Line the bottom with parchment and butter the parchment.
Combine the butter and sugar in a 2-quart saucepan and cook over medium-low heat, stirring occasionally, until the sugar is dissolved. Continue to cook, stirring occasionally, until a color slightly darker than peanut butter, about 5 minutes. Add 3 Tbs. water (be careful; it will bubble and steam). Cook, stirring , until combined, about 30 seconds. Immediately pour the caramel into the cake pan. Let sit until cool enough to touch, about 5 minutes.
Pour the cranberries over the caramel, pressing them tightly together.
Make the cake
Position a rack in the center of the oven and heat the oven to 350°F.
Combine the flour, baking powder, and salt in a medium bowl.
In a stand mixer fitted with the paddle attachment (or in a large bowl using a handheld electric mixer), beat the butter and sugar on medium speed until light and fluffy, 3 to 5 minutes. Add the vanilla, mix to combine, and then add the eggs, one at a time, beating until just combined after each addition.
With the mixer on low speed, alternately add the flour (in 3 additions) and the buttermilk (in 2 additions), beginning and ending with the flour, and beating until just combined after each addition.
With a spatula, carefully spread half of the batter over the cranberries. Scatter the streusel over the batter. Dollop the rest of the batter over the streusel, and then carefully spread to cover. Tap the pan firmly against the counter once or twice to remove any air bubbles. Bake, rotating halfway through, until a tester inserted in the center of the cake comes out clean, 45 to 55 minutes.
Cool on a rack for 35 minutes. Run a knife around the edge of the cake to release it from the pan. Invert the cake onto a serving plate. Remove the pan, and rearrange any fruit that has stuck to the parchment. Serve warm or at room temperature.