Class ActivityIndex
Old formula for activity index was not linear and difficult to turn into a query due to conditional multipliers. Thus a new formula was written.
T - Time played after someone is considered active on a particular week
t1, t2, t3 - Time played that week
Activity index takes into account last 3 weeks.
Activity for a single week is calculated using A(t) = (1 / (pi/2 * (t/T) + 1)).
A(t) is based on function f(x) = 1 / (x + 1), which has property f(0) = 1, decreasing from there, but not in a straight line.
You can see the function plotted here
To fine tune the curve pi/2 is used since it felt like a good curve.
Activity index A is calculated by using the formula:
A = 5 - 5 * [A(t1) + A(t2) + A(t3)] / 3
New Limits for A would thus be
< 1: Inactive
> 1: Irregular
> 2: Regular
> 3: Active
> 3.75: Very Active
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final doublestatic final doublestatic final doublestatic final double -
Constructor Summary
ConstructorsConstructorDescriptionActivityIndex(double value, long date) ActivityIndex(DataContainer container, long date, long playtimeMsThreshold) ActivityIndex(List<FinishedSession> sessions, long date, long playtimeMsThreshold) -
Method Summary
Modifier and TypeMethodDescriptiondoubledistance(ActivityIndex other) longgetDate()static String[]static String[]getFormattedValue(Formatter<Double> formatter) getGroup()static StringgetGroup(double value) static HtmlLanggetGroupLang(double value) static String[]static String[]doublegetValue()
-
Field Details
-
VERY_ACTIVE
public static final double VERY_ACTIVE- See Also:
-
ACTIVE
public static final double ACTIVE- See Also:
-
REGULAR
public static final double REGULAR- See Also:
-
IRREGULAR
public static final double IRREGULAR- See Also:
-
-
Constructor Details
-
ActivityIndex
-
ActivityIndex
-
ActivityIndex
public ActivityIndex(double value, long date)
-
-
Method Details
-
getDefaultGroups
-
getDefaultGroupLangKeys
-
getGroups
-
getGroupLocaleKeys
-
getValue
public double getValue() -
getDate
public long getDate() -
getFormattedValue
-
distance
-
getGroupLang
-
getGroup
-
getGroup
-
getGroupLang
-
getGroup
-
getGroupLocaleKey
-