How to Create a New Product in Blackwood

The relevant properties inherited from $g.product are these: adm_numerator, adm_denominator, consumer_table, features, for_sale, ingredients, labor, msrp, nountype, possible_features, singular_name, who_can_order, unit_type

Basic Products

For a basic product, like a vegetable, that is not composed of other parts (like a wagon), these are the properties to focus on:
  • adm_numerator and adm_denominator (integer):
    "adm" stands for "actual demand" and these two numbers are used to calculate annual potential demand (how much of a given product will be sought each year). Think of this as a simple factor in demand. For example,
    1. if ALL the consumers can be expected to demand the produect every year (in Blackwood this might describe firewood, which everyone needs), so the adm_numerator and the adm_denominator would both be one, giving a factor of 1/1.

    2. if HALF the consumers might demand the product every year, like say, green beans or a new dress, then the adm_numerator would be one, and the adm_denominator would be two, giving a factor of 1/2.

    3. if 75% the consumers might demand the product every year, like say, potatoes or corn, then the adm_numerator would be three, and the adm_denominator would be four, giving a factor of 3/4.

    4. if just 5% of the consumers might demand the product every year, like say, dill or a grandfather clock, then the adm_numerator would be one, and the adm_denominator would be twenty, giving a factor of 1/20.

  • msrp (float) - the manufacturer's suggested retail price is the default price on a product. Players can change this value as part of running their business. In Blackwood, the problem is to set an authentic default value. What was the cost of a bushel of potatoes in 1880? That's the tricky question.
  • nountype (string: "mass" or "count") In the English language there are two types of nouns: count nouns and mass nouns. This property is so the shoppers say the right thing. For example, "thread" is a mass noun, so it is proper for a shopper to say "I am looking for SOME thread." but not "I am looking forA thread." On the other hand, "shovels" are a count noun, so it proper for a shopper to say, "I am looking A shovel", and not proper to say, "I am looking for SOME shovel."
    The proper value (either "count" or "mass" must be assigned to property so the shoppers will say the right thing.
  • singular_name (string) By contrast, this is so the employees say the right thing. For example, if the shopper says, "I am looking for A STEREO." the employee responds with "We don't usually carry STEREOS."
    Thus, this property should be filled with the singular name of a product, which is sometimes the same, as in "fabric" but usually different, as in "shovel".
  • unit_type (string) the unit of sale, must be one of "bushel", "quart", "each" (meaning sold individually)
  • consumer_table (list of lists)
    This is the complex one. The theory of the economic model is explained in Economic Environments

    The basic form of the consumer table looks like this:

    {#596, "Blacksmith No Kids", 0, 0.0, 0.0, 0.0, 0, 0, 0.0, 0.0, 0},
    {#605, "Blacksmith With Kids", 0, 0.0, 0.0, 0.0, 0, 0, 0.0, 0.0, 0},
    {#693, "Carpenter/Builder No Kids", 0, 0.0, 0.0, 0.0, 0, 0, 0.0, 0.0, 0},
    {#724, "Carpenter/Builder With Kids", 0, 0.0, 0.0, 0.0, 0, 0, 0.0, 0.0, 0},
    {#737, "Cartwright No Kids", 0, 0.0, 0.0, 0.0, 0, 0, 0.0, 0.0, 0},
    {#1182, "Cartwright With Kids", 0, 0.0, 0.0, 0.0, 0, 0, 0.0, 0.0, 0},
    {#770, "Cowboy Unmarried", 0, 0.0, 0.0, 0.0, 0, 0, 0.0, 0.0, 0},
    {#678, "Dry Goods No Kids", 0, 0.0, 0.0, 0.0, 0, 0, 0.0, 0.0, 0},
    {#803, "Dry Goods With Kids", 0, 0.0, 0.0, 0.0, 0, 0, 0.0, 0.0, 0},
    {#687, "Farm Laborer No Kids", 0, 0.0, 0.0, 0.0, 0, 0, 0.0, 0.0, 0},
    {#531, "Farm Laborer With Kids", 0, 0.0, 0.0, 0.0, 0, 0, 0.0, 0.0, 0},
    {#688, "Farm Owner No Kids", 0, 0.0, 0.0, 0.0, 0, 0, 0.0, 0.0, 0},
    {#235, "Farm Owner With Kids", 0, 0.0, 0.0, 0.0, 0, 0, 0.0, 0.0, 0},
    {#611, "Government Worker No Kids", 0, 0.0, 0.0, 0.0, 0, 0, 0.0, 0.0, 0},
    {#722, "Government Worker With Kids", 0, 0.0, 0.0, 0.0, 0, 0, 0.0, 0.0, 0},
    {#789, "Homemaker With Kids", 0, 0.0, 0.0, 0.0, 0, 0, 0.0, 0.0, 0},
    {#378, "Leather Maker Kids", 0, 0.0, 0.0, 0.0, 0, 0, 0.0, 0.0, 0},
    {#744, "Leather Maker No Kids", 0, 0.0, 0.0, 0.0, 0, 0, 0.0, 0.0, 0},
    {#379, "Lumbermen Unmarried", 0, 0.0, 0.0, 0.0, 0, 0, 0.0, 0.0, 0},
    {#644, "Miner Unmarried", 0, 0.0, 0.0, 0.0, 0, 0, 0.0, 0.0, 0},
    {#788, "Ranch Owner No Kids", 0, 0.0, 0.0, 0.0, 0, 0, 0.0, 0.0, 0},
    {#692, "Ranch Owner With Kids", 0, 0.0, 0.0, 0.0, 0, 0, 0.0, 0.0, 0},
    {#769, "Riverboat/Railroad Worker Unmarried", 0, 0.0, 0.0, 0.0, 0, 0, 0.0, 0.0, 0},
    {#810, "Riverboat And Railroad Supervisor", 0, 0.0, 0.0, 0.0, 0, 0, 0.0, 0.0, 0},
    {#778, "Saloon Employee Unmarried", 0, 0.0, 0.0, 0.0, 0, 0, 0.0, 0.0, 0},
    {#1183, "Saloon Owner Unmarried", 0, 0.0, 0.0, 0.0, 0, 0, 0.0, 0.0, 0},
    {#814, "Settler/Transient With Kids", 0, 0.0, 0.0, 0.0, 0, 0, 0.0, 0.0, 0},
    {#613, "Soldier Enlisted Unmarried", 0, 0.0, 0.0, 0.0, 0, 0, 0.0, 0.0, 0},
    {#167, "Soldier Officer Unmarried", 0, 0.0, 0.0, 0.0, 0, 0, 0.0, 0.0, 0},
    {#726, "Stable Operator No Kids", 0, 0.0, 0.0, 0.0, 0, 0, 0.0, 0.0, 0},
    {#691, "Stable Operator With Kids", 0, 0.0, 0.0, 0.0, 0, 0, 0.0, 0.0, 0},
    {#389, "Tailor No Kids", 0, 0.0, 0.0, 0.0, 0, 0, 0.0, 0.0, 0},
    {#690, "Tailor With Kids", 0, 0.0, 0.0, 0.0, 0, 0, 0.0, 0.0, 0},
    {#642, "Teacher Unmarried", 0, 0.0, 0.0, 0.0, 0, 0, 0.0, 0.0, 0},
    {#697, "Teamster No Kids", 0, 0.0, 0.0, 0.0, 0, 0, 0.0, 0.0, 0},
    {#649, "Wealthy With Kids", 0, 0.0, 0.0, 0.0, 0, 0, 0.0, 0.0, 0},
    {#1184, "Wheelwright No Kids", 0, 0.0, 0.0, 0.0, 0, 0, 0.0, 0.0, 0},
    {#1185, "Wheelwright With Kids", 0, 0.0, 0.0, 0.0, 0, 0, 0.0, 0.0, 0},
    {#602, "White Collar With Kids", 0, 0.0, 0.0, 0.0, 0, 0, 0.0, 0.0, 0},
    {#771, "Wood Lot Operator No Kids", 0, 0.0, 0.0, 0.0, 0, 0, 0.0, 0.0, 0},
    {#679, "Wood Lot Operator With Kids", 0, 0.0, 0.0, 0.0, 0, 0, 0.0, 0.0, 0},
    {#369, "Youth", 0, 0.0, 0.0, 0.0, 0, 0, 0.0, 0.0, 0}

Working with Consumer Tables

The format of the Consumer Table is this:

1. Consumer Group Object Number (from the list above) 2. Consumer Group Name (from the list above) 3. I or interest index, where 100 is 'average' (integer), should range from 60 to 180 4. USB (unit service benefit) the dollar amount a cluster group is willing to pay for a unit of added service (float) Should be less than 20% of MSRP 5. UQB (unit quality benefit) the dollar amount a cluster group is willing to pay for a unit of added quality (float). Should be less than 20% of MSRP 6. UTC (unit transportation cost) the dollar amount to each cluster group of getting to a store and getting the product back home (float). Should be less than 20% of MSRP 7. USC Not Used 8. PS (price sensitivity) tells how sensitive a group is compared to an average price sensitivity, where 100 is 'average' (integer). 9. MIN the price at which everyone in the cluster group can afford to buy the product. 10. MAX the price at which no one in the cluster group can afford to buy the product 11. Not Used
Example: Parsnips, adm_numerator = 1, adm_denominator = 10, MSRP = $2.00/bushel, nountype = "mass", singular_name = "parsnip", unit_type = "bushel"
#649 Wealthy With Kids 60 $0.40 $0.40 $0.05 0 60 $1.90 $6.00 0
Rationale
- Wealthy with Kids is an 'extreme' case, especially as regards parsnips, which are low nutrition vegetables that wealthy people do not eat, and kids tend to hate. The 'index' or 'interest value' is set to 60, the lowest possible value. The wealthy value service more than anyone, so this value is set to the maximum, $0.40, which is 20% of MSRP The wealthy value quality more than anyone, so this value is set to the maximum, $0.40, which is 20% of MSRP The wealthy have no problem with travel, so this is set to a minimum number, $0.05, and could be lower. - The wealthy are the least sensitive to price, so this is set to 60, the minimum value The wealthy can afford to pay a high price, so their MIN value is just below MSRP The wealthy can afford to pay a high price, so their MAX value is three times MSRP -
#789 Homemaker With Kids 90 $0.05 $0.30 $0.40 0 150 $1.00 $2.10 0
Rationale
- Homemakers with Kids is an 'extreme' case, especially as regards parsnips, which are low nutrition vegetables that homemakers value, even though kids tend to hate them. The 'index' or 'interest value' is set to 90, below average, but above minimum Homemakers do not value service at all, so this value is set very low, $0.05 Homemakers value quality highly, so this value is set relatively high, $0.30, which is 15% of MSRP Homemakers have great difficulty with travel, so this is set to a maximum number, $0.40 - Homemakers arevery sensitive to price, so this is set to a relatively high value: 150 Homemakers can not afford to pay a high price, so their MIN value is half of MSRP Homemakers can not afford to pay a high price, so their MAX value is only slightly above MSRP -

Consumer Types

Given the nature of the psychographic modeling, it is reasonable to lump certain consumer groups together, since they can be expected to behave almost identically, in terms of shopping behavior.
Tradesman No Kids
Wheelwright No Kids
Tailor No Kids
Leather Maker No Kids
Cartwright No Kids
Carpenter/Builder No Kids
Blacksmith No Kids
Tradesman With Kids
Wheelwright With Kids
Tailor With Kids
Leather Maker Kids
Cartwright With Kids
Carpenter/Builder With Kids
Blacksmith With Kids
Blue Collar No Kids
Wood Lot Operator No Kids
Teamster No Kids
Stable Operator No Kids
Soldier Enlisted Unmarried
Saloon Employee Unmarried
Riverboat/Railroad Worker Unmarried
Miner Unmarried
Lumbermen Unmarried
Farm Laborer No Kids
Cowboy Unmarried
Land Owner No Kids
Ranch Owner No Kids
Farm Owner No Kids
Land Owner With Kids
Farm Owner With Kids
Ranch Owner With Kids
White Collar No Kids
Dry Goods No Kids
Government Worker No Kids
Riverboat And Railroad Supervisor
Saloon Owner Unmarried
Soldier Officer Unmarried
White Collar With Kids
Dry Goods With Kids
Government Worker With Kids
White Collar With Kids
Other:
Homemaker With Kids
Settler/Transient With Kids
Teacher Unmarried
Wealthy With Kids
Youth
Blue Collar With Kids
note: these were left out of earlier versions of the table
Farm Laborer With Kids
Stable Operator With Kids
Wood Lot Operator With Kids

Contact: slator@cs.ndsu.edu; Modified: 6Apr05