I did a really simply and naive thing in an online calculator, and I’d like to state explicitly that I’ll be quite intrigued if you show me I did it wrong as I feel I must have made a mistake looking back over this comment.
Here I did a trivial thing where you need all owners and 2 workers here, and included only those people. You can see that they trivially are going to telescope to each getting 1/n of the value out.
Apologies for the bad example, but I really don’t want to enter all those cells again and am going to only do the better computations if I write some code for it later.
Sounds like you set up a model where the factory produces nothing unless it has 100% participation from all players, which means that all players are in equivalent positions (any one of them can veto the entire operation and leave the other players with nothing). Under this model, “owners” and “workers” are actually equivalent—you’ve assumed that if 1 worker goes on strike, the entire factory shuts down.
Obviously, if all players are in equivalent positions, then by symmetry they’ll have equal payouts.
In the original story-example, the factory owner can claim a higher Shapley value on the basis that if you removed just 1 worker, the factory would still produce quite a bit, but if you removed the owner, you wouldn’t have a factory anymore.
A very simple model for this might be something like: owner + any N workers produces N utility, while any subset not including the owner produces 0 utility. Then, with 10 workers + 1 owner, if you add people in a random order, each worker produces an average of 0.5 marginal utils (= 0 if added before the owner, 1 if added after) while the owner produces an average of 5 marginal utils (= the average number of workers added before the owner).
If you double the number of workers to 20 (and thus double the max output to 20 as well), then each worker still adds an average of 0.5 marginal utils, but the owner now adds an average of 10 marginal utils. So the worker wages stay the same, but the owner earns more from the larger operation.
Now suppose we go back to 10 workers, but now we have 2 owners, with the rule that the factory produces 0 unless both owners participate. (Thus, these 2 owners collectively do the same job that the 1 owner previously did.)
A worker produces 1 marginal value if added after both owners, 0 otherwise. Since there are 2 owners, on average 1⁄3 will be added before both, 1⁄3 between, and 1⁄3 after both. So the worker average is 1⁄3 util.
The first owner added produces 0, the second produces as many as there are workers. On average 2⁄3 of workers are added before the second owner, so the second owner produces 6.67 marginal utils. Each owner is the second owner half the time, so each gets 3.33.
...um. That is not the result I was expecting.
Can anyone either point out an error in my math, or explain to me philosophically why I ought to be ok with this result? It seems concerning to me if the factory gets a different share depending on whether it’s owned by 1 person or by 2 people.
Yup, I wrote the program and still get owner-value-portion-grabbing. If it’s any help, I can now generate any simple pattern you want very quickly and easily.
Only the second owner to join adds any value, so they get the same slice as the sole owner in the first example, ie, half. Since each owner has a 50% chance of being the second owner, they each get 25%. With 3 owners it’s 1/3*.5=1/6. Etc. the math works out very neatly this way.
Only the second owner to join adds any value, so they get the same slice as the sole owner in the first example, ie, half.
Show your work and/or explain what’s wrong with my reasoning above? I already took that into account, but got a different answer, because there’s more permutations where the second owner is added late in the sequence than where the second owner is added early in the sequence.
(Note that if my reasoning from the previous comment is wrong, it has to be wrong about both the owners and the workers, since they need to sum to the correct total.)
You’re right, this was less clear than I intended it to be; my apologies. The proposal I offer here is that since the first owner to join offers nothing, they aren’t included in the calculation; you just run them as though the second owner was the only owner, and get the same result for the value of the second owner as you did for the sole owner the first time. This has the advantage of being very computationally simple and gets you the same results as the full calculation for this case. It’s a specific case of a broader way you can simplify shapely calculations, where when the payout can be calculated by (A1+A2+A3…AN)*(B1+B2+B3…BM)+…+(X1+X2+…XO), you’ll get the same values for combining “Like Terms” (Not exactly the same concept but I don’t remember what the real word was, been a while) and running the shapely calculation for A, B,…X and then dividing the total of A by which fraction of A each A1, A2, etc terms makes up. For more complicated payout amounts it’s a bit more annoying to do this way but you can still do it if you’re careful to set it up properly. This applies even when one of the terms, eg A2, is 0, which then gets us our specific case here. I don’t remember the exact setup for the proof my professor used, but I don’t think it’s neccesary? It feels like one of those things where it’s obvious once you run it through both ways for an example, but if it isn’t lmk and I’ll see about digging through my old notes.
If I understand you, you’re saying that this simplified calculation should give the same answer as the full calculation, and that this should be obvious to me after I try it both ways.
But you’re also saying that the simplified calculation is equivalent to the earlier problem with only 1 owner, which means I already worked it both ways (one way in the 1-owner problem and the other way in the 2-owner problem) and I got different answers. So, no, the equivalence is not obvious after running it both ways.
My suspicion is that this half-remembered theorem you are trying to apply actually applies to a different situation and you are using it wrong. But if you don’t think that’s the case, then yes, I’d like to see a more precise explanation. (And ideally, an explanation of what you think I did wrong in my own calcs.)
I did a really simply and naive thing in an online calculator, and I’d like to state explicitly that I’ll be quite intrigued if you show me I did it wrong as I feel I must have made a mistake looking back over this comment.
I used http://shapleyvalue.com/ with several (ANNOYING TO INPUT) sets of values (10 utility in each).
Here I did a trivial thing where you need all owners and 2 workers here, and included only those people. You can see that they trivially are going to telescope to each getting 1/n of the value out.
1 owner / 2 worker = ( 3.33333 / owner, 3.33333 / worker) 2 owner / 2 worker = ( 2.5 / owner, 2.5 / worker) 3 owner / 2 worker = ( 2 / owner, 2 / worker)
Apologies for the bad example, but I really don’t want to enter all those cells again and am going to only do the better computations if I write some code for it later.
Sounds like you set up a model where the factory produces nothing unless it has 100% participation from all players, which means that all players are in equivalent positions (any one of them can veto the entire operation and leave the other players with nothing). Under this model, “owners” and “workers” are actually equivalent—you’ve assumed that if 1 worker goes on strike, the entire factory shuts down.
Obviously, if all players are in equivalent positions, then by symmetry they’ll have equal payouts.
In the original story-example, the factory owner can claim a higher Shapley value on the basis that if you removed just 1 worker, the factory would still produce quite a bit, but if you removed the owner, you wouldn’t have a factory anymore.
A very simple model for this might be something like: owner + any N workers produces N utility, while any subset not including the owner produces 0 utility. Then, with 10 workers + 1 owner, if you add people in a random order, each worker produces an average of 0.5 marginal utils (= 0 if added before the owner, 1 if added after) while the owner produces an average of 5 marginal utils (= the average number of workers added before the owner).
If you double the number of workers to 20 (and thus double the max output to 20 as well), then each worker still adds an average of 0.5 marginal utils, but the owner now adds an average of 10 marginal utils. So the worker wages stay the same, but the owner earns more from the larger operation.
Now suppose we go back to 10 workers, but now we have 2 owners, with the rule that the factory produces 0 unless both owners participate. (Thus, these 2 owners collectively do the same job that the 1 owner previously did.)
A worker produces 1 marginal value if added after both owners, 0 otherwise. Since there are 2 owners, on average 1⁄3 will be added before both, 1⁄3 between, and 1⁄3 after both. So the worker average is 1⁄3 util.
The first owner added produces 0, the second produces as many as there are workers. On average 2⁄3 of workers are added before the second owner, so the second owner produces 6.67 marginal utils. Each owner is the second owner half the time, so each gets 3.33.
...um. That is not the result I was expecting.
Can anyone either point out an error in my math, or explain to me philosophically why I ought to be ok with this result? It seems concerning to me if the factory gets a different share depending on whether it’s owned by 1 person or by 2 people.
Yup, I wrote the program and still get owner-value-portion-grabbing. If it’s any help, I can now generate any simple pattern you want very quickly and easily.
Only the second owner to join adds any value, so they get the same slice as the sole owner in the first example, ie, half. Since each owner has a 50% chance of being the second owner, they each get 25%. With 3 owners it’s 1/3*.5=1/6. Etc. the math works out very neatly this way.
Show your work and/or explain what’s wrong with my reasoning above? I already took that into account, but got a different answer, because there’s more permutations where the second owner is added late in the sequence than where the second owner is added early in the sequence.
(Note that if my reasoning from the previous comment is wrong, it has to be wrong about both the owners and the workers, since they need to sum to the correct total.)
You’re right, this was less clear than I intended it to be; my apologies. The proposal I offer here is that since the first owner to join offers nothing, they aren’t included in the calculation; you just run them as though the second owner was the only owner, and get the same result for the value of the second owner as you did for the sole owner the first time. This has the advantage of being very computationally simple and gets you the same results as the full calculation for this case. It’s a specific case of a broader way you can simplify shapely calculations, where when the payout can be calculated by (A1+A2+A3…AN)*(B1+B2+B3…BM)+…+(X1+X2+…XO), you’ll get the same values for combining “Like Terms” (Not exactly the same concept but I don’t remember what the real word was, been a while) and running the shapely calculation for A, B,…X and then dividing the total of A by which fraction of A each A1, A2, etc terms makes up. For more complicated payout amounts it’s a bit more annoying to do this way but you can still do it if you’re careful to set it up properly. This applies even when one of the terms, eg A2, is 0, which then gets us our specific case here. I don’t remember the exact setup for the proof my professor used, but I don’t think it’s neccesary? It feels like one of those things where it’s obvious once you run it through both ways for an example, but if it isn’t lmk and I’ll see about digging through my old notes.
If I understand you, you’re saying that this simplified calculation should give the same answer as the full calculation, and that this should be obvious to me after I try it both ways.
But you’re also saying that the simplified calculation is equivalent to the earlier problem with only 1 owner, which means I already worked it both ways (one way in the 1-owner problem and the other way in the 2-owner problem) and I got different answers. So, no, the equivalence is not obvious after running it both ways.
My suspicion is that this half-remembered theorem you are trying to apply actually applies to a different situation and you are using it wrong. But if you don’t think that’s the case, then yes, I’d like to see a more precise explanation. (And ideally, an explanation of what you think I did wrong in my own calcs.)