Widget Enterprises

Example 263

Allowing the player to set a price for a widget on sale, then determining the resulting sales based on consumer demand, and the resulting profit and loss.

Suppose the player is responsible for pricing at Widget Enterprises. Widget production entails a certain fixed cost as well as a cost per unit; and somewhere out in the world there are a number of customers interested in purchasing widgets, but the player starts without knowing what this distribution looks like.

We can express the profits as an equation: the total made by selling widgets, minus the cost thereof.

The Table of Customers holds the data about customer preferences, and whenever the player selects a widget price, we consult it to determine how many customers in total would be willing to buy at that price.

"Widget Enterprises"
Widget Stand is a room.
A monetary value is a kind of value. $1.99 specifies a monetary value with parts dollars and cents.
Equation - Profit Equation
   P = nV - (F + nC)
where P is a monetary value, F is the fixed cost, C is the unit cost, V is a monetary value, and n is a number.
The fixed cost is a monetary value that varies. The fixed cost is $5.00.
The unit cost is a monetary value that varies. The unit cost is $10.66.
Table of Customers
basemaximum value
2$26.00
5$20.00
8$15.00
2$13.50
1$9.00
To decide what number is the units sold at (V - a monetary value):
   let total units be 0;
   repeat through the Table of Customers:
      if V is less than the maximum value entry:
         increase total units by the base entry;
   decide on total units.
Understand "set price to [monetary value]" as setting price to. Setting price to is an action applying to one monetary value.
Carry out setting price to:
   let V be the monetary value understood;
   let n be the units sold at the monetary value understood;
   let P be given by the Profit Equation;
   say "You set the price of your widgets to [V], resulting in sales of [n] unit[s] and ";
   if P is less than $0.00:
      let L be $0.00 - P;
      say "a loss of [L].";
   otherwise if P is $0.00:
      say "break even.";
   otherwise:
      say "a profit of [P].".
Test me with "set price to $0.00 / set price to $100.00 / set price to $15.00 / set price to $8.00 / set price to $25.00 / set price to $14.99".
Test me with "set price to $0.00 / set price to $100.00 / set price to $15.00 / set price to $8.00 / set price to $25.00 / set price to $14.99".
Widget Stand

>(Testing.)

>[1] set price to $0.00
You set the price of your widgets to $0.00, resulting in sales of 18 units and a loss of $196.88.

>[2] set price to $100.00
You set the price of your widgets to $100.00, resulting in sales of 0 units and a loss of $5.00.

>[3] set price to $15.00
You set the price of your widgets to $15.00, resulting in sales of 7 units and a profit of $25.38.

>[4] set price to $8.00
You set the price of your widgets to $8.00, resulting in sales of 18 units and a loss of $52.88.

>[5] set price to $25.00
You set the price of your widgets to $25.00, resulting in sales of 2 units and a profit of $23.68.

>[6] set price to $14.99
You set the price of your widgets to $14.99, resulting in sales of 15 units and a profit of $59.95.

As written this will be a rather dull guessing game for the player; more interesting would be to enhance it into a fuller economic simulator with more control over fixed costs and customer price points.