Install Steam
login
|
language
简体中文 (Simplified Chinese)
繁體中文 (Traditional Chinese)
日本語 (Japanese)
한국어 (Korean)
ไทย (Thai)
Български (Bulgarian)
Čeština (Czech)
Dansk (Danish)
Deutsch (German)
Español - España (Spanish - Spain)
Español - Latinoamérica (Spanish - Latin America)
Ελληνικά (Greek)
Français (French)
Italiano (Italian)
Bahasa Indonesia (Indonesian)
Magyar (Hungarian)
Nederlands (Dutch)
Norsk (Norwegian)
Polski (Polish)
Português (Portuguese - Portugal)
Português - Brasil (Portuguese - Brazil)
Română (Romanian)
Русский (Russian)
Suomi (Finnish)
Svenska (Swedish)
Türkçe (Turkish)
Tiếng Việt (Vietnamese)
Українська (Ukrainian)
Report a translation problem
10% for Developer/Publisher of game the item is for and 5% for Valve.
Minimum of 0.01 for each fee. So selling something for 0.01 gives you 0.01 fee for Publisher and 0.01 fee for Valve, so the buyer pays 0.03 total.
Sell something for 0.20, you get a 0.02 fee for Publisher and a 0.01 fee for Valve, for 0.23 total.
You will run into times when the rounding gives you the same result, so for example, around 0.20 and 0.21, you may see the "amount you get" always be 0.20, when you press accept. Or it rounds up to 0.24, etc. There are a few around the change over points that the results don't round smoothly and it's always taken out of the amount you recieve.
Price you pay... subtracting 15% from the price you paid.. equals how much the seller receives.
So in this case.. you pay $1.00 for something.. $1.00 subtracting 15% of $1 equals .15 cents. $1 minus .15 equals .75 cents that the seller received.
Wouldn't it work that way...?
That's simple mathematics. A little bit of junior high Algebra
X = What Seller receives
Y = What Buyer pays
X + X*(0.10) + X*(0.05) = Y
(1.15) * X = Y
X = Y / (1.15)
Of course you need some fudge factors in there to compensate for the fact that X*(0.10) and X*(0.05) values are rounded to a whole number, usually up, and the cannot be less than 0.01 .
Edit:
You can't just take 15% of the buyer's price, because the 15% is from the seller's price, which is slightly lower. So you have to divide the Buyers price by 1.15 to get the Seller's price. And of course the rounded and minimum values make the equation not work for very small prices.
Column A = Seller's Price
Column B = Publisher Fee (10% rounded, 0.01 minimum)
Column C = Valve Fee (5% rounded, 0.01 minimum)
Column D = Buyer's Price (Total of A, B, and C)
You'll see that at lower prices, the value of the fee is more than 15%, due to the minimum fee of each and rounding. Once you get to higher prices, the fee will begin to reflect the proper amount.
So far I have:
SellerPrice
PublisherFee = Rounddown(SellerPrice*0.10;2)
Rounds down to two digits past the decimal
ValveFee = Rounddown(SellerPrice*0.05;2)
Rounds down to two digits past the decimal
ActualPublisherFee = If(PublisherFee<0.01; 0.01; PublisherFee)
This puts 0.01 into the fee if the calculated fee was less than 0.01
ActualValveFee = If(ValveFee<0.01; 0.01; ValveFee)
This puts 0.01 into the fee if the calculated fee was less than 0.01
BuyerPrice = SellerPrice + ActualPublisherFee + ActualValveFee
Once you create the database, do a Buyer/Seller price lookup.
Edit:
The rounding may not be 100% accurate, it's only a first draft and hasn't been tested or compared about real values.
A duplicate buyer or seller price?
There shouldn't be duplicate buyer prices. And the duplicate seller prices are deleted/skipped by Valve, always going down to the lower seller price, keeping the buyer price the same, when you press accept and attempt to sell it.
As I said though, it's rough, written in a few minutes. There may be errors, things that need to be tweaked.
Do you have any items to list? Try putting in the Buyer pays 0.20, 0.21, and 0.22, and press accept. See what it gives you as the "You Receive" fields, you may see it update or change accordinglingly, skipping or rounding differently.
Edit:
If you put in 0.21, it shows 0.19 as the "You Receive"
If you put in 0.22, it shows 0.19 as the "You Recieve" and when you press "Accept" it switches the "Buyer Pays" to 0.21 automatically.
The equations I gave, it skips 0.22, just like Valve does.
So far, the equations I made seem accurate there.
input in you receive 0.19 = 0.21
If you put in 0.22, it shows 0.19 as the "You Recieve" and when you press "Accept" it switches the "Buyer Pays" to 0.21 automatically.
The equations I gave, it skips 0.22, just like Valve does.
The same for 0.32 and 0.33
The same for 0.43, 0.44, 0.45
Valve skips those values, lowering it to the lowest point.
My equations also skip those values completely. Leaving blanks in the "Buyer Pays" list. So far my equations are accurate.
Edit:
I tested it out on 1.24 and 1.25 as well, both work the same as Valve does. And the same in my equations.
I'm pretty confident that my database and equations are accurate. Now you just have to do a reverse lookup, look up the buyer price, find the seller price that corresponds to it, and display the result. If you don't see the buyer price, then it's not a valid price and needs to be lowered to the correct price and displayed to the user that you cannot sell for that price.