a unit problem

This forum supports discussion on topics of specific interest to the Model Analysis Special Interest Group of the System Dynamics Society (SIG-MA). It is currently unmoderated, and anybody who is signed in may post to the forum.

Moderator: Jim Duggan

Post Reply
Jean-Jacques Lauble

a unit problem

Post by Jean-Jacques Lauble » Wed Jan 30, 2013 8:36 am


An enterprise having employees has a salary per employee per month constant that has unit equal to euro/(person*month).

Up to here everything is fine. If one wants to know the cost of all salaries per month one has to multiply the number of employees that has unit person with salary per employee per month that makes the cost of all salaries per month have a unit equal to euro/month. That makes sense.

But now imagine that there are four employees, Jim, Jack, Paul and Richard that have each a salary per employee per month equal to 2000,2200,2300 and 3000 Euros and one uses a subscripted constant for the salary of all the employees. Suppose that we give this constant the unit euro/(person*month) as the salary per employee per month. Now suppose that I want to know the cost of all these employees in a month.
The unit is obviously euro/month, but if I sum the salary per employee per month over the subscript sum(salary per employee per month[employees!]) in Vensim and probably in other packages too where employee is equal to Jim,Jack,Paul,Richard as a subscript the result has a unit equal to euro/(person*month) which is wrong. Where is the problem?

I think that the salary per employee per month is in fact the salary per month for all the subscripted employees and should have a unit equal to euro/month. Is it correct because it sounds weird to consider in one circumstance a constant with euro/(person*month) when the person is not defined and euro/month when the person is defined ?

One solution of course is to keep the unit euro/(person*month) for the subscripted constant and when making the sum to consider the formula: sum(salary per employee per month[employees!] * one person) where one person is equal to 1 with a unit equal to person. But I have tried this solution and it makes a model rather clumsy and not elegant.

I personally think that one can choose both solutions provided that one changes the units of all the other formulas accordingly. I prefer the euro/month solution because it is both logic: the salary per month of all the subscripted constants and easy to sum without adding the constant one person.

Any idea?
Jean-Jacques Laublé

Magne Myrtveit
Posts: 57
Joined: Mon Jan 12, 2009 6:52 am

Re: a unit problem

Post by Magne Myrtveit » Thu Jan 31, 2013 3:45 am

Dear Jean-Jacques,
The short answer to your question is that individual salary should not have the unit EUR/month and not EUR/person/month. Below you will find two ways to model your problem (using Dynaplan Smia syntax).
Case a: Individual salaries are given.

Code: Select all

	person&&persons = unit
	employee =  [Jim, Jack, Paul, Richard]
	individual salary = {employee | 2000, 2200, 2300, 3000} as EUR/month
	monthly salary  1 = sum(individual_salary)
Case b: Average salaries are given:

Code: Select all

	average salary = 2375 EUR/person/month
	number of employees = 4 persons
	monthly salary 2 = average_salary * number_of_employees
The variables monthly salary 1 and monthly salary 2 will have the same value and unit in this example.
Best regards,
Magne Myrtveit

John Swanson
Posts: 4
Joined: Tue Jan 13, 2009 8:29 am

Re: a unit problem

Post by John Swanson » Thu Jan 31, 2013 7:29 am

Sounds like you have:

Staff[name], with units='employee' and the value for each employee name equal to the number of Jim's, Richards etc you have (ie usually 1)
Salary[name] with units Euro/(employee*month)

Total cost per month is SUM(staff[!]*salary[!]) which has units Euro/month.

I think the odd thing is to use an array subscripted by staff name.

Jean-Jacques Lauble

Re: a unit problem

Post by Jean-Jacques Lauble » Thu Jan 31, 2013 9:43 am

Hi Magne

You gave the answer that I use.
You answered : ‘The short answer to your question is that individual salary should not have the unit EUR/month and not EUR/person/month. ‘
I suppose you intended to write:
‘The short answer to your question is that individual salary should have the unit EUR/month and not EUR/person/month.’
If somebody asks: what is the salary of some kind of employees, you will say x Euros per employee per month which has the unit euro/(employee*month) and about your own salary you will say y euro per month that has euro/month unit.

Hi John
Your solution works too, if one considers the number of employees whose name is Jim,Jack,Paul or Richard. The salary considered is the monthly salary per employee belonging to the group of people considered.
In your case one is always obliged to multiply the salary by a value that has employee as unit, which is rather cumbersome.
In my case there is only one person whose name is Jim etc.. and one can then consider that the salary is for these individual person X Euros per month.
In Vensim all the subscripts have names.; then I do not well understand why you find odd to use names for each employee salary.

Thank you for both of you to answer to my question.

Just one more question: I asked another question in the same SIG about worst and best possible scenarios. I only had one answer that does not solve anything.
Was my question not well understood, or is the question without interest?
For me it sounds weird that so few people feel interested as it seems to me a fundamental question.

Best Regards.

There is a discussion about the unit problem with Tom Fiddaman on the Vensim forum : http://www.ventanasystems.co.uk/forum/v ... f=2&t=5187

Jean-Jacques Laublé.

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest