forked from KhalilSayah/Streamlit_Solforg
-
Notifications
You must be signed in to change notification settings - Fork 0
/
criterias.py
115 lines (99 loc) · 4.75 KB
/
criterias.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
from models import CategoricalCriteria, CategoricalCriteriaPart, NumericCriteria, NumericCriteriaPart
def get_criteria_list():
return [
NumericCriteria(
criteria_type = 'primary',
label="Joining Time",
criteria_parts=[
NumericCriteriaPart(label="< 10", min_value=0, max_value=10, score=2),
NumericCriteriaPart(label="< 25", min_value=10, max_value=25, score=1.8),
NumericCriteriaPart(label="< 50", min_value=25, max_value=50, score=1.5),
NumericCriteriaPart(label="< 100", min_value=50, max_value=100, score=2.5),
NumericCriteriaPart(label="< 150", min_value=100, max_value=150, score=1),
]
),
CategoricalCriteria(
criteria_type = 'primary',
label="Seniority Level",
criteria_parts=[
CategoricalCriteriaPart(label="Entry Level", score=1),
CategoricalCriteriaPart(label="Junior", score=1.5),
CategoricalCriteriaPart(label="Mid-Level", score=2),
CategoricalCriteriaPart(label="Senior", score=2.5),
CategoricalCriteriaPart(label="Lead/Principal", score=3),
CategoricalCriteriaPart(label="Manager", score=2.5),
CategoricalCriteriaPart(label="Division", score=3),
]
),
CategoricalCriteria(
criteria_type = 'primary',
label="Role Importance",
criteria_parts=[
CategoricalCriteriaPart(label="Engineering", score=1),
CategoricalCriteriaPart(label="Business Dev", score=1.5),
CategoricalCriteriaPart(label="Legal", score=2),
CategoricalCriteriaPart(label="Marketing", score=2.5),
CategoricalCriteriaPart(label="Operations", score=3),
CategoricalCriteriaPart(label="Support", score=1),
]
),
CategoricalCriteria(
criteria_type = 'primary',
label="Salary Compensation",
criteria_parts=[
CategoricalCriteriaPart(label="< 100k", score=1.2),
CategoricalCriteriaPart(label="100-150k", score=1.1),
CategoricalCriteriaPart(label="150-200k", score=1),
CategoricalCriteriaPart(label="200k-250k", score=0.9),
CategoricalCriteriaPart(label="> 250k", score=0.8)
]
),
CategoricalCriteria(
criteria_type = 'bonus',
label="Bonus - Individual Performance",
criteria_parts=[
CategoricalCriteriaPart(label="Needs Improvement", score=2),
CategoricalCriteriaPart(label="Meets Excpectations", score=1.8),
CategoricalCriteriaPart(label="Exceeds Expectations", score=1.5),
CategoricalCriteriaPart(label="Outstanding", score=1.2),
CategoricalCriteriaPart(label="Exceptional", score=1)
]
),
CategoricalCriteria(
criteria_type = 'bonus',
label="Bonus - Project Impact",
criteria_parts=[
CategoricalCriteriaPart(label="Standard", score=2),
CategoricalCriteriaPart(label="High Impact", score=1.8),
CategoricalCriteriaPart(label="Critical Success", score=1.5),
]
),
CategoricalCriteria(
criteria_type = 'bonus',
label="Bonus - Innovation Contribution",
criteria_parts=[
CategoricalCriteriaPart(label="Standard", score=1),
CategoricalCriteriaPart(label="Notable Innovation", score=1.15),
CategoricalCriteriaPart(label="Significant Innovation", score=1.3),
]
),
CategoricalCriteria(
criteria_type = 'bonus',
label="Bonus - Tenure Adjustment",
criteria_parts=[
CategoricalCriteriaPart(label="0-2 Years", score=1),
CategoricalCriteriaPart(label="2-4 Years", score=1.1),
CategoricalCriteriaPart(label="4+ Years", score=1.2),
]
),
CategoricalCriteria(
criteria_type = 'bonus',
label="Bonus - Composition Factor",
criteria_parts=[
CategoricalCriteriaPart(label="100% Toekns", score=1),
CategoricalCriteriaPart(label="75% Tokens", score=0.85),
CategoricalCriteriaPart(label="50% Tokens", score=0.7),
CategoricalCriteriaPart(label="25% Tokens", score=0.55),
]
),
]