The rules for trade arbitrage in
ACKS are potentially quite detailed and offer a lot of room to add flavor to an expedition. For passive trading to make a steady profit, there are default estimates of the average profit per month for any ship or caravan. But I want to see how well the detailed system matched up with these default values. So here's an example of the trade arbitrage system in action.
Master Leonhard is a 1st level mage aboard the Wyvern's Spur, a large sailing ship. He's been given responsibility for running a trade route between the docks of Straddleport (a Class II market in Elysion) and the capital city of Durnovar (a Class I market in Winlend). His ship can carry an impressive 30,000 stone of cargo, which amounts to hundreds of "loads" of different cargo. (A load is typically 10 to 100 stones in weight.)
First, let's look at the demand modifiers in the region. These are generated randomly for each market, based on its local environment and other properties. Positive numbers indicate that a good is in high demand and more expensive (sell it here!), and negative numbers indicate that a good is already well supplied and less expensive (buy it here!) The first column is for Durnovar (Class I), and the second is for Straddleport (Class II). The third column, which we don't need, is the Class III market in Green Pass at the military depot of Centerpost.
Generally, a spread in demand creates a reliable profit. At Straddleport, we'd like to buy grain, pottery, precious metals, or ivory, since all of these have a relative spread of at least -2 vs Durnovar. Anything else might turn a profit, but it would be a matter of luck. In Durnovar -- planning ahead for the return trip -- it would be better to buy common wood, salt, hides, spices, or semiprecious stones. The Wyvern's Spur is a peaceful sort of ship with 140 structural hit points, so it will pay 140/10 = 14 gp as a mooring fee every time it stops in harbor.
First we need to figure out how many local Straddleport merchants will sell to Leonhard. We pay a toll of 1d10+10 = 16 gp to enter the market, and discover 2d4+1 = 5 merchants willing to sell goods. Each of them will have 4d6 loads of some single type of merchandise. We can either let them suggest a good to sell to us (probably something they are itching to unload), or we can try to look for a particular type of good. The former gives a random result. The latter approach requires a reaction roll with a 9+ target (or 12+ for rare goods, anything after "mounts" on the list).
Let's see what happens with a random selection. Checking for the type of goods available (a d100 roll) gives 84 (mounts), 1 (grain), 98 (rare goods), 9 (wood), and 38 (hides). A second check for the type of rare good gives 51 (ivory). That's a very nice result, since ivory has a -3 spread and is a costly commodity. The other three are less appealing, since they are in low demand at Durnovar and will probably command lower prices there.
Let's check the grain merchant first. He's offering 4d6 = 13 loads of grain, each weighing 80 stone. The base cost of a load would be 10 gp, but it's modified by (4d4-2)*10% = 80%, so each load costs 8 gp. That's 104 gp to load 1040 stone of grain cargo.
Next let's check the ivory merchant. He's offering 14 loads of ivory, each weighing 8 stones (mammoth tusks are heavy!) The base cost would be 800 gp, but this is modified by (4d4-1)*10% = 80%, or 640 gp each. So it will put us out 8960 gp to buy all 14 loads, which will weigh 112 stone. We can see the massive difference between luxury cargo (expensive and light) and common cargo (cheap and heavy). All the good profit is in the latter.
We still have plenty of room left on our ship, so let's look for passengers and third party contracts. There are 2d4 = 6 passengers expressing an interest. One of them wants to reach a distant city 2400 miles away (this occurs with a check of 19+ on 1d20), probably somewhere near exotic Chukchi in the Beringian isles. This can be lucrative for a ship going that way anyway (he'd potentially pay to charter the whole ship, for up to 3000 gp!), but here it's going to ruin my attempt to use this as an example. The other 5 are going our way.
Each of them will need to pass a 2d6 reaction roll to trust our crew. With a target of 9+, it turns out that none of them regard us as seaworthy. With a higher CHA score, this would be a different story.
Now we look for shipping contracts. There are 2d4+1= 4 contracts available, each for 4d6 loads. The average weight of a load is 70 stone, and for this many loads, it's simplest to just assume they all average out. So there are four contacts available for 8, 9, 15, and 11 loads each, or a total of 43 loads. This will weigh 3010 stone. If we travel about 500 miles (Durnovar is a bit farther than this, actually, but that's a good first estimate), then the value of all the contracts will be 3010/10 = 301 gp. This doesn't require any selling or customs tax at the other end, it's just straight profit.
The ship now contains 3010+1040+112 stone. There's another 200 stone needed for a merchant representative to take care of the shipping contracts. That's a total of 4362 stone, out of a full capacity of 30,000 stone! That leaves a lot of empty space. You can see that there might be some appeal in just carrying around extra cargo in search of a good price. (I guess in ACKS, perishable goods are magically warded against spoilage -- or at least there's no rule giving them an expiration date!)
For now, let's just take the current cargo and set off. The route to Durnovar is around 500-700 miles away. With 144 miles per day of sail movement, this is going to take less than a week, probably more like 4-5 days. Let's just call it a week for simplicity, and to allow for a few days of bad weather.
Arriving in Durnovar costs another 14 gp for mooring, and a 1d6+15 = 21 gp toll. Now we start trying to sell. There are 2d6+2 = 11 merchants here. Do any of them want to buy our ivory? That requires a 12+ on a reaction roll, alas. Even with the +2 demand modifier, that's still hard to get. After rolling 11 times, I get nothing better than an 8, which occurs 4 times. That's good enough to unload the grain (+1 demand, to hit the 9+ target for common goods), at least. So I can sell the 13 loads of grain. Each merchant will buy 6d8 loads, which means they will easily purchase all my grain. Unfortunately, the prevailing price of 4d4+1 is only 80% of the base price, or 8 gp. That's what I paid for the stuff! After a local customs duty of 2d10% = 10%, I'd be selling the loads for a net of 13*8*0.9 = 93.6 gp, a loss of 10 gp. Oh well, I might as well unload the grain before it attracts rats. The price has only a 10% chance per month to change, so there's no sense waiting for that. Unloading it costs another 5 gp for labor.
At least I can collect on the shipping contracts, to pick up a 301 gp check to cover my various fees and the cost of feeding my crew. Otherwise, this trade mission isn't shaping up well.
The bottom line is that I desperately need a character with a CHA or proficiency bonus to make this work. Buying and selling specific luxury goods requires a reaction roll, and that's where all the money in arbitrage is.
At the very least, I can now pick up some additional shipping contracts and head back to Straddleport. Maybe I can talk my high CHA character (Halward the gnomish trickster) into coming along, and then try again!
A bit of good news: A Class I market has better contracts than a Class II market. I can roll 2d6+2 for contracts, resulting in 8. I pass the reaction roll (9+ on 2d6) for 5 of them. Each of them has 6d8 loads, for a total of 22+24+18+18+21 = 103 loads. That will provide 7210 stone of cargo, and earn me 721 gp on delivery. All of them are "going my way".
The same check applies for passengers. There are 2d4+1 = 5 passengers here, and one of them passes the reaction roll. He's also going my way, and will pay 20 gp for the trip. That's another 200 stone of cargo.
The return trip takes another week of travel, and so, after 2 months, I've completed a full round trip.
Total revenue: 301+94+721+20 = 1136 gp (after customs duty)
Total expenses: 2x14+2x5+14+21 = 75 gp
Crew wages: 2x6x17+2x2x25+2x100 = 504 gp
Net profit: 557 gp
Profit per month: 278.5 gp
Experience: This compares against a xp threshold of 25 gp, so Master Leonhard earns 253.5 xp per month, or 507 gp.
Moral: The estimated profit in the table on page 145 probably assumes that most reaction rolls are successful. With a low CHA characters, this isn't a good assumption. I recommend that instead of just using the default value (of 2600 gp, for a large ship), you roll five 2d6 reaction attempts. For each failure, reduce your monthly profit by 20%. For a character with no bonuses, this will typically yield only about 1 success, for a monthly profit of 520 gp. (Which is still better than I could manage, alas.)