Unanet Dilution

The Unanet system can be configured to dilute both cost rate and hours information.  When enabled, both effective rates and effective hours are calculated and stored.  

The Unanet concept of Dilution may also be referred to in your organization by one of the following terms: Total Time Accounting, Adjusted Rates, Auto Adjust, or Uncompensated Overtime.

Topics covered on this help page include:

Rate Dilution Overview

When dilution is enabled, rates are adjusted based on the number of hours a person worked versus the number of hours available in a given period.  The simplest example of this is when you have an exempt (salaried) employee and they work 80 hours in a week.  Since their cost rate is probably based on a 40 hour week, their effective cost rate, or diluted rate ends up being half of their normal rate.  If it wasn't, their salary for that week would double!  

At the end of each period (after a user has entered all of their time and had it approved), the dilution calculations are triggered and a dilution factor is calculated and applied to their cost rate to arrive at their effective (or diluted) cost rate.

When dilution is enabled, Unanet reports will reflect the effective/diluted cost rates (for those timesheets having reached the COMPLETED status).  Further, both undiluted and diluted rate information will be available for export to downstream systems.

Hours Dilution Overview

Hours dilution is similar in concept to the rate dilution.  Once a timesheet has reached the COMPLETED status, the calculated dilution factor is also applied against the number of hours.  Currently, diluted hours values are only available in the Unanet ad-hoc reports rather than the Unanet built-in reports.  Both undiluted and diluted hours values, however, are available for export to downstream systems.

Note Unanet Dilution periods must align with Unanet Time Periods.

Enabling the Dilution Functionality

To enable dilution in Unanet, the unanet.properties file must be updated to include the Cost Dilution Method (unatime.cost.dilution.class) property (which enables both the cost rate and hours dilution functionality).  Note that when enabled, cost information in the system will reflect the diluted cost values (once a timesheet has reached the COMPLETED status), but diluted hours will not be reflected in any reports (the diluted hours are available for exporting to a downstream system --- again, once the timesheet has reached the COMPLETED status).

Note that when you initially activate the dilution properties, it will take effect with current timesheets as they are completed (ie. it will not automatically dilute all historical time).  

 **  IMPORTANT **   Dilution is only applied to users having the Exempt Classification.

You can enable dilution with or without having cost rates stored in the system (ie. if you were only interested in the hours dilution).

Style 0 Dilution  (This is the default.  No Dilution is calculated)

Style 0 dilution is the default method of dilution in the Unanet system.  It simply means that no cost rate dilution is performed.  The effective cost rate and hours are always the same as the regular cost rate and hours, and the dilution calculations are never performed.

If you would like to begin using some other form of dilution, see Style 1 or Style 2 Dilution below, which will provide you with a checklist of things you will need to do in preparation for activating the Dilution functionality.


Style 1 Dilution  (This is the basic cost dilution methodology -- dilute rates up and down)

The main purpose of this style of dilution is to calculate a  dilution factor  for each  exempt  person. This factor is then applied to both the  cost rate  and   hours  values.  

Since an exempt (salaried) employee normally gets a fixed salary regardless of how many hours he or she works, their rate must be adjusted based on the number of hours they actually worked versus the number of hours in a period.  Applying this dilution factor to the rate yields the true, or effective, cost rate per hour.  

Alternatively, some customers prefer to use the diluted hours value (along with the standard cost rate) to arrive at the exempt users normal salary.  By applying the dilution factor to cost rates and hours, both approaches can be accommodated with style 1 dilution.


The  dilution factor  will be calculated on a per person, per time period basis.  This calculation will be triggered each time a timesheet’s status changes to 'COMPLETED’, and each time a time export is invoked.  When a time export is run, the system will check for any person dilution records that have the 'calculation required' indicator set, and will recalculate dilution for all timesheets from BOT through the end date of the date range specified on the selection criteria screen.   Once calculated, the effective cost rate and effective hours will be stored in the database along with the timesheet detail information so that any further reporting or extracting can use the value without having to recalculate it.  

The Calculation for Style 1 Dilution is as follows:

  1. Calculate standard number of pay period hours (std pay period hrs).  

    Each time a user creates or saves a timesheet, a Person Dilution entry is created.  Among other things, it contains the
    available hours for each time period (which is copied from the Time Period screen for each user's corresponding time period type).  Alternatively, you can configure the following property to have the hours instead determined by each users business week definition:  Use Business Week Hours for Dilution (unatime.dilution_hours_from_business_week).

IMPORTANT WARNING:  The Use Business Week Hours for Dilution (unatime.dilution_hours_from_business_week) property should only be used if you are using Weekly, Weekly-Overlap or Bi-Weekly time periods -- and should NOT be used if your installation utilizes the Semi-Monthly or Monthly time period types.  

The reason for this limitation is related to the fact that Semi-Monthly and Monthly time periods may have a varying number of business days occurring on any given calendar month and thus the actual number of hours in period will fluctuate.  This would result in a need to have a different effective hourly cost rate from period to period, which the current process does not yet support. 

Regardless of the source of the std pay period hrs, if you want, you may use the Person Profile >> Dilution screen to override this value on a person by person , time period by time period basis, but normally, you will never have to access that screen.

  1. Get hourly cost rate (hourly cost rate).  

    This is read directly from the Person Profile Rate information that is in effect for this time period.

  2. Accumulate regular hours reported (reg hours reported).  

    Regular hours consist of all hours reported to pay codes having an Exempt Usage value of "Standard Pay".  Pay codes are maintained by the administrator on the Admin >> Setup >> Pay Codes screen.

  3. Calculate dilution factor (dilution factor).  

    This is simply the std pay period hrs / reg hours reported.

  4. Once the dilution factor is calculated, the last step is to use it to calculate the eff_cost_rate and eff_quantity in the database.  (for each timesheet cell).  Again, this calculation is done only for exempt employees.

    The formula is as follows: eff cost rate = hourly cost rate * dilution  factor.


When is dilution calculated?

Note that the dilution calculations do not occur immediately (i.e. it wouldn't make sense to attempt to calculate a user's diluted cost rate after entering 8 hours on Monday).  Thus, when the timesheet has reached the COMPLETED status, the dilution calculations are triggered (at this point you will see the diluted rates appear on report output).

Dilution calculations are also re-triggered at the point of timesheet extract.  The system will check for any person dilution records that have the 'calculation required' indicator set, and will recalculate dilution for all timesheets from BOT through the end date of the date range specified on the selection criteria screen.  This will help catch any possible changes (such as a person rate change) that occurred after the final approval but before the data was sent to any downstream systems.

In the case of a timesheet adjustment, the dilution calculations would not be re-triggered until the adjustment records are Extracted.  Again, if you must see the recalculated values sooner, they can be manually triggered via the People Profile >> Dilution screen.

Note that the time data entered via the Time Import will also be triggered if the resulting status is set to COMPLETED  or LOCKED status, as well as if time adjustments are imported.

Note that historical time is not diluted when the dilution properties are activated.  That is, only those timesheets moving through the approval process will be diluted going forward.

Person Dilution Screen

The People Profile >> Dilution screen is available to the Admin on the People Profile screen to allow for the viewing of person dilution information (recalculate status, factors, etc.).  This screen also offers the administrator the ability to manually trigger the recalculation of a person’s dilution information at any time.  This may be useful, for example, if you want to adjust an individual person's available hours in a particular period -- then immediately see the diluted results.


Other Considerations

When cost dilution is enabled, project level cost rate overrides are ignored for exempt users.  Cost rates must remain constant for each person throughout a given time period or the dilution calculations will not be accurate.  If you have an exempt employee whose salary changes in the middle of a time period, see handling pay changes off dilution boundaries for an example of one method used to handle this situation.

When cost dilution is enabled, those reports that provide results based on planned work entries, will also ignore any project or task level cost rate overrides (unless you have the Use Plan Cost Rates for Dilution (unatime.cost.dilution.use_plan_rates) property enabled, in which case.

When cost dilution is enabled, the cost rate field cannot be used on the Administrative Timesheet  Adjustment screen (for Exempt users).  Again, cost rates must remain constant for each person throughout a given time period or the calculation will not be accurate.  You can, however, retroactively adjust a person's cost rate for an entire time period via the Person Profile Rates tab screen.

The Rate change process generates all necessary adjustment records in the event Dilution is enabled. This means that even if you only added 1 hour to a person's timesheet, every single entry will have to be adjusted.  The reason for this is because any change that effects the dilution calculation will have an effect on each and every time entry's effective cost rate.

To minimize the potential for creating adjustments to passed periods, it is always a good idea to lock or extract your timesheets for closed time periods.  See Admin >> Time >> Export for more information.

Setting Your System up for Style 1 Dilution

Before you use Style 1 Dilution, there are several items which must first be addressed.  It is important that you handle all of these items before allowing users to enter time for a certain time period  with Dilution enabled.  If you have just started setting up your Unanet system and are going to use Dilution, you should follow the guidelines below.  If you are already using Unanet, then you should pick a time when no user activity will occur and follow the steps below.

Ref #




Properties file update

In order for the system to use Style1 Cost Dilution, you need to enable it in the unanet.properties file.  You will need to add:

Cost Dilution Method (unatime.cost.dilution.class)=Style1CostDilution

This instructs the system to use a particular flavor of dilution.  


Cost Rates

Since Dilution is designed to work with true salary cost values, you need to calculate the correct cost rate for each exempt employee.  This cost rate should represent only the person's salary per hour, based on their annual salary (or perhaps monthly salary).  Typically, this does not include any additional overhead such as benefits, expense allotments, bonuses, etc.  Cost rates are defined on the Person Profile Rate tab.  If necessary, add a new rate for each person who does not already have the correct cost rate.  Note that cost rates will need to align with  time period date boundaries when using dilution.


Hours In Period

You need to make sure that each Time Period defined in the Unanet system has the correct hours in period value.  This is what the system uses when performing the Dilution calculation (worked hours/available hours).  If your Unanet system was upgraded from a prior version, these values were defaulted based on the period type (monthly - 173.3, twice a month - 86.6, every two weeks - 80 or weekly - 40).  If these values are not correct for your location, you should update them now.


Pay Code - Exempt Usage

Each pay code defined in your system has a Exempt Usage indicator associated with it.  This indicator includes three options:

  • Standard Pay (Diluted) - This is the default value for a pay code and indicates that time charged to these pay codes will have its effective cost rate and effective hours values multiplied by the dilution factor.   

    The Pay Code factor IS NOT applied when determining the effective cost rate (for exempt employees) when charging to these pay codes.

  • Additional Pay (Undiluted) - Time charged to these pay codes is not included in the dilution calculations at all.  These hours can be considered additional (bonus) pay hours if your intention is to pay an exempt employee a bonus.  

    The Pay Code factor IS applied when determining the effective cost rate (for exempt employees) when charging to these pay codes.

  • Standard Pay (Undiluted) - Time charged to these pay code will reduce the number of Available Hours in the dilution calculations (e.g. these could be considered exception time and thus 8 hours charged to a leave project could be excluded making the dilution calculations based on a 32 hour week).  The time charged to these pay code will then be considered for straight time pay.

    The Pay Code factor IS NOT applied when determining the effective cost rate (for exempt employees) when charging to these pay codes.


See the Admin >> Setup >> Pay Code screen for additional information.



One of the most important things to consider when activating Style 1 cost dilution is "when?"  Since dilution changes cost rates for all exempt employees, the best time to activate it is after all timesheets for a time period have been COMPLETED, SUBMITTED, APPROVED, and, if you extract data from Unanet, EXTRACTED.  Next, make sure that steps 1-4 on this checklist are complete.   


 Handling New Hires/Terminations Off Dilution Boundaries

When new employees are hired, they may not begin on a date that corresponds to the begin date of your company's time period. Similarly, when employees are terminated, they may not work until the end date of the time period. The Unanet system can handle these individual situations that may be unique to an employee. The following steps outline the manual procedure to use if you are hiring a new employee and that employee does not start on the boundary of the time period:

  1. Add the employee to your Unanet system, making their effective date equal to the begin date of the nearest time period begin date.

  2. Either create the first timesheet for that employee if your Unanet system is set up to allow it -- or have the employee create their first timesheet themselves.

  3. Edit that person in your Unanet system and navigate to the Dilution screen on the Person Profile. Edit the dilution entry for the timesheet just created, modifying the "hours in period" to be the true available hours for that employee for that week. For example, if the periods are weekly (Mon - Sun) and the employee started on Thursday, you would probably enter 16 hours as the "hours in period" for that time period because you would expect them to work only on Thursday and Friday.


Now the system will calculate the dilution for this timesheet based on an available hours amount of 16. This means that if the employee were to report 32 hours for those two days, their effective cost rate would be reduced by a factor of .5 resulting in the correct dilution for this exempt employee's timesheet.

Using this method, you can also handle employees that are terminated in the middle of a time period. Simply edit their last timesheet's dilution information and set their "hours in period" to the correct value that you expect them to work.

See the Unanet Knowledge Center for additional information on this topic.

Handling Pay Changes Off Dilution Boundaries

As stated above, cost rates must remain constant for each exempt person throughout a given time period or the calculation will not be accurate.  So what happens if someone's salary changes in the middle of a time period?  

Let's take this situation as an example:  Jane, an exempt employee who works for you, is supposed to have a pay raise on November 8.  Her time period is monthly beginning on the first of each month.  You can handle this in the Unanet system by using the following manual procedure:

  1. Add a new rate for Jane beginning on November 1 -- change her classification to 'NON-EXEMPT' and make sure her cost rate for this new rate is correct.  You may have to manually calculate this rate if any dilution is necessary for the first 8 days of November.

  2. Add another new rate beginning on November 8 -- still keeping her classification as 'NON-EXEMPT', but now increase her cost rate to match her new salary.  Again, you may have to manually calculate the appropriate diluted rate depending on the hours Jane works from November 8 to November 30.

  3. Finally, add another rate beginning on December 1 -- you will be able to change her classification back to 'EXEMPT' since this date is on a dilution boundary.  Make the cost rate her real cost rate for her new salary.  From this point on, dilution will be calculated automatically by the system.

Tip!  While an approach such as this could be used to handle a pay changes off time period boundaries, many customers recognize the effort involved and attempt to enforce a policy of aligning pay changes with time period boundaries to avoid this type of effort all together.


See the Unanet Knowledge Center for additional information on this topic.

Style 2 Dilution  (Variant of Style 1 -- only dilute rates if hours worked is > hours in period)

Style 2 dilution is identical to style 1, with the exception that the dilution calculations will not occur if the total number of dilutable hours is less than the number of available hours in the period (e.g. we won't 'dilute up').

Note that this style of dilution may not be compatible when using a Semi-Monthly Time period due to the fixed hours in period not matching the actual / variable hours in period.


                Related Topics