There was an interesting survey done by Stratfor a few weeks ago of intelligence specialists, I believe 50 some. The median estimate for how long this war goes on was 3.5 more years. The lowest was ends in 2024, the highest was 11 years.
The thing that is the most likely determinant for the duration of the war is the extent of support Ukraine continues to receive from the US specifically. My concern is that we simply run out of the "meat and potatos" aspects of supplies they need. Specifically 155's/ammo, guided rockets, anti tank weapons, and anti air, being the biggest four. Ukraine is losing armor so fast the last 8 weeks that I don't see how they could mount a new offensive. They have managed to protect a large number of their tanks recently, most experts think the tanks are held back far from the lines in Zapro and Kharkiv, but they are losing 10-12 IFVs a day and nearly 1000 lost over winter. That's a big problem.
Combine all of this with mounting domestic pressures, Ukraine has a tough road. Their GDP declined ~35% last year compared to Russia's ~2%. Ukraine is literally a welfare-warfare state at this point. If China decides to supply Russia with drones, artillery/ammo, AFVs then Ukraine is pretty boned.