Ok, so just to keep some things straight:
- Npcs have a mandatory 2 day cooldown after they escape or get ransomed before they can do anything. They sit in their castle/town hall during this time. Escape chances are determined by the percentages found in the screenshot here.
- After the 2 days is up they spawn with 10% of their party capacity filled (and an absolute max of 19 troops). These troops have an average tier of ~3.
- To get troops they pull from their garrisons and buy troops from notables and taverns. They pay the same price as the player for these troops. They do not spawn any additional troops after the initial 10%, and there is nothing else giving them free troops otherwise. It usually takes npcs 5-7 days to recruit up to party limit, but this can be a bit shorter or a lot longer depending on the state of their kingdom. Their parties will obviously still be majority tier 1 at this point.
- Npcs respawn with only a few horses initially, but will buy and sell horses from settlements just like the player. They generally don't keep many horses on them, and as a result, are usually quite a bit slower than the player party (Khuzait being the exception). They don't use horses for upgrades, but aside from Khuzait they don't amass cavalry troops that quickly anyway. The silver lining to that is that horses are more easily obtainable for the player (as you don't need to compete for horses with the npcs).
- Npcs have the ability to recruit troops from allied notables as if they were on 'very easy' setting. This is because their initial relations with notables are not set yet. Once they are set this cheat will be removed according to a dev.
- They have an 'aggressiveness' score that is determined by their Valor and Mercy traits. I don't entirely know how that factors into their behavior though. Caravans and Villager parties have 0 aggressiveness if that tells you anything. The variable is used extensively in the behavior functions of the MobileParty class.
- Npcs pay the same price for wages as the player, but stop paying wages to retain enough gold to buy food when their gold is too low. The unpaid wages create a morale debuff instead (same as the player), but currently it looks like the morale system has some issues that prevents it from generally going low enough to cause desertion. This is true for the player and his clan parties/garrisons as well.
- Npcs pay the same price for troop upgrades as the player.
- Npcs obtain money in the same way that the player does. While players get 25% of their fief's prosperity as tax, npcs get 30%. They get their battle loot turned directly into gold, and get a good market price for the conversion (50% full value). They get tariffs from trade with their settlements at the same rate as the player. They also get money from ransoming troops/lords. They don't get workshops or caravans however. Here is a (likely outdated) breakdown of npc income by type.
- Each troop of an npc gets passive xp equal to (5 + Troop Level) per day. This means a recruit gets 11 xp a day and will take (279/11) = 25.4 days to upgrade. A tier 2 unit will take 29.6 days to upgrade. Tier 3 will take 34.2 days. Tier 4 will take 39 days. Tier 5 will take 43.8 days. So, for a stack of troops to go from tier 1 to tier 4 passively it takes 89 days, which is over a year game time. They obviously also get xp from battles like the player. The amount of passive xp they get might be lowered in a future patch (and become leadership based instead) according to this post here.
- Factions start the game with a total party capacity in the range of 1500-2000 troops. This means that destroying a single army likely only represents 30-50% of their total forces in a given moment, which is why you often see multiple armies while beseiging a settlement for a prolonged period of time (they are mostly different lords). This total capacity only grows as the game goes on (except for losing factions with a lot of defections). Hiring mercenary companies will add a few hundred more troop capacity per company.
My experience with the game is not entirely the same as what some other people are reporting, but I won't bother going into detail about it.
(Sorry for the huge block of text; I wish there was a way to at least add line spaces after each bullet point)