Warscape
Daily briefing·· from today's news

Ukraine vs Poland, Estonia, Latvia, Lithuania, Finland, Romania, Germany, Sweden: Narrow victory for Ukraine after 365 d

In today's run Ukraine attack Poland, Estonia, Latvia, Lithuania, Finland, Romania, Germany, Sweden; the model ends in narrow victory for ukraine after 365 days.

Attacks
Ukraine
Defends
Poland + Estonia + Latvia +
Outcome
Narrow victory for Ukraine
Length
365 days

What happened today

Today's defence and geopolitics headlines, in the outlets' own words (linked):

Those stories name the sides in today's run.

The scenario we ran

Ukraine attack Poland, Estonia, Latvia, Lithuania, Finland, Romania, Germany, Sweden in autumn, mobilization full / partial, the United States stays out, nuclear weapons disabled, 365-day limit. Everything else is the engine's realistic default.

How the model played it out

War timeline · 365 days
Stalemate
A
B
DAY 1◆ turning pointDAY 365
Phases are the engine's own labels. Lanes show each side's operational tempo: bright = attacking, dim = pausing or defending.
Losses within the model · aggregate
Ukraine
Poland + Estonia + Latvia +
22.7k
Personnel
20.1k
74
Tanks
185
88
Aircraft
409
58
Artillery
132
Territory: Ukraine +2 cells · Poland + Estonia + Latvia + -2 cells. Cohesion at the end: 61% vs 66%.

Result: Narrow victory for Ukraine after 365 simulated days (duration limit reached). Aggregate personnel losses within the model: 22,721 for Ukraine and 20,089 for Poland + Estonia + Latvia +.

The war moved through initial strike from day 1, then rapid mobilization from day 3, then contested front from day 4, then attrition phase from day 8, then stalemate from day 25, then end state from day 365.

Turning points:

  • Day 15: Turning point: a shift in momentum. This moment mattered because momentum shifted durably toward Poland + Estonia + Latvia +: a combination of local factors.

What decided it

What decided it · separation between the sides
◀ favours Ukrainefavours Poland + Estonia + Latvia + ▶
Sea & air lift
0 vs 148,881.
Mobilisation
769,989 vs 373,804.
Air situation
33%.
Economic resilience
0.94 vs 0.75.
Logistics
49% vs 62%.
Deployed combat power
159 vs 149 model units.
Bar length is the engine's normalised difference on that factor over the whole war; direction shows who it favoured.
Side A objectives · Ukraine
Capture the capital of Romania0%
Secure a border corridor inside Romania6%
Reduce opposing deployed combat capacity below 50%0%
Side B objectives · Poland + Estonia + Latvia +
Retain at least 90% of pre-war territoryachieved
Reduce the attacker's offensive capacity below 55%0%
Restore pre-war borders50%
  • Sea & air lift (favoured Side B): Troops brought into the theatre by lift: 0 vs 148,881.
  • Mobilisation (favoured Side A): Reservists mobilised: 769,989 vs 373,804.
  • Air situation (favoured Side B): Average share of air control for Ukraine: 33%.
  • Economic resilience (favoured Side A): Average economic stability index: 0.94 vs 0.75.
  • Logistics (favoured Side B): Average front-line supply efficiency: 49% vs 62%.

The same countries, one on one

WARSCAPE keeps a permanent page for every land border in Europe, each holding its own simulated war:

Try it yourself

Open the exact run and scrub the timeline, ask why at any event, or branch an alternate timeline from a turning point. Or change one assumption in the builder and run it again.

Sources and limits

This is a model result on public, aggregate, country-level data under the stated assumptions. It is not a prediction, and no operational information is used.

Model-generated simulation on public, country-level data. Not a prediction. Headlines are linked and summarised, never reproduced. Assembled from the engine's report.