In a medium saucepan, combine the cranberries, 1/4 teaspoon cinnamon, zest of 1/2 orange, 1 tablespoon fresh orange juice, and 1/2 cup granulated sugar. Stir the mixture together and bring it to a simmer over medium heat. Cook for 8-12 minutes, stirring occasionally, until the berries begin to break down and the mixture thickens. Use a fork or potato masher to carefully crush the berries for a smoother compote. Once thickened, remove from heat and set in the fridge to cool while preparing the next components.
In a medium bowl, whisk together 1/4 cup all-purpose flour, 1/2 cup light brown sugar, and 1 teaspoon ground cinnamon. Add 3 tablespoons of cold unsalted butter and use a fork to mix until the mixture appears sandy and crumbly. Place the streusel mixture in the fridge to chill while you make the cake batter.
Preheat your oven to 350°F (175°C). Spray an 8x8-inch light-colored aluminum pan with cooking spray or line it with parchment paper and set aside. In a medium bowl, whisk together 2 cups all-purpose flour, 1/2 tsp fine sea salt, 1/2 tsp baking soda, 1 tsp baking powder, and 1/2 teaspoon ground cinnamon. Set the dry mixture aside for later.
In the bowl of a stand mixer fitted with the paddle attachment, add 1/2 cup light brown sugar and 1/4 cup granulated sugar. In a separate bowl, melt 1 stick and 2 tablespoons unsalted butter (about 30 seconds in the microwave). Pour the melted butter into the sugars and mix until fully combined, about 30 seconds. Add 1 teaspoon orange zest, 1 teaspoon vanilla extract, 1/4 teaspoon almond extract, and 2 large eggs. Beat on medium-high speed for 2-3 minutes until slightly thickened, scraping the bowl as needed. On low speed, add the prepared dry ingredients (from Step 3), 1/4 cup whole milk, and 8 oz sour cream, mixing until just combined. Don’t overmix. I always scrape the bowl at this stage to make sure everything is incorporated evenly.
Pour the cake batter into your prepared baking pan. Carefully spoon the cooled cranberry compote (from Step 1) evenly over the batter. Using a butter knife, gently swirl the compote into the batter for a marbled effect. Evenly sprinkle the chilled streusel topping (from Step 2) over the top. Bake on the middle rack at 350°F for 45-50 minutes, or until golden brown and a cake tester comes out clean (be careful not to only hit cranberries when testing for doneness).
Let the coffee cake cool in the pan for at least 15 minutes before slicing into pieces and serving. I like to let it cool a little longer for easier slicing and a neater presentation.