It takes about a week, seven in-game days, before the shop begins turning a profit. Until then, you have to take the hit and pay wages. There's a trade perk that reduces such costs by 30%, and it's advised that even a non-trader character get the trade skill at least that high for either said perk or the alternative for caravans.
Generally, a casual review of the surrounding villages is sufficient to guess what will be profitable - although I had a wool shop at Poros that was a bust for some reason despite the outlying sheep producing villages (this could have been patched since).
Shops don't make as much money as caravans, but they have a number of advantages. You can, I believe, have a few more of them than Caravans, they don't cost a companion to manage, are less risky and can be sold again for between 10,000 and 12,000 (if profitable) at a later date. A typical shop, once things get going (even without the assigned trade perk) should produce between 50-70 denars a day. This means that it would only take about 100 days to have completely paid off the initial expense (sooner with the perk). Played smart, it's a safe source of revenue that you don't have to think about much.
Allowances should be made for when you consider joining a faction, as this will cause workshops in enemy cities to be confiscated. Some factions, like the Khuzaits and Vlandians, almost never lose a city so, for instance, if you plan on going Vlandian then any workshop in their cities will remain long after you've decided to join up under King Derthert. Otherwise just sell the workshops (instantly done from anywhere on the clan page) and reinvest as you like. The income doesn't have to be much - fiefs in this game produce a good sum of money and will more than buoy later expenses.
you need to check what raw materials that town produces & also make sure the shop you are opening doesnt already exist. Also the prices are affected if nearby towns have same shops, then you have competition.
Do you know if there is a limit to how many workshops a player can own?