I found an article suggesting that someone had looked at the Pokémon go code and found that you get one Pokémon every 300 seconds (5 minutes) when using incense, which is 6 Pokémon from one incense. I’ve tested this and found it to be pretty much true.
The article also suggested that for every 0.2km you walk, you’ll get an extra Pokémon every 60 seconds. This is difficult to verify because based on a walking speed of 5km/hr, you’d take about 2.5 minutes to walk far enough to trigger the extra Pokémon (plus 60 seconds extra wait?), which means you’d get about double the Pokémon from an incense. I’m not sure if this is double plus the original amount of 1 Pokémon per 5 minutes (aka triple) or just the walking rate compared to the standing rate. The difficulty verifying this not only comes from the confusion about what the algorithm is, but also because as you walk, you will encounter additional Pokémon due tot he fact you are walking. So how would you know that the Pokémon you are encountering are from the lure or from walking?