(Representasi yang dihasilkan dari upaya untuk mengembangkan alasan untuk gaji yang ditetapkan di perusahaan)Alih-alih anotasi
Jika Anda pernah berpikir tentang perlunya membenarkan ukuran bagian gaji dari upah karyawan perusahaan, Anda membutuhkan kejelasan dan kesederhanaan dalam membuat keputusan seperti itu, maka Anda tidak sendirian dan materi yang ada di bawah potongan untuk Anda. Upaya sederhana untuk menerapkan sistem justifikasi gaji di perusahaan menggunakan mekanisme penilaian terintegrasi modern untuk memperoleh sistem poin-rating dan kurva Bezier sebagai dasar untuk mengkonversi poin ke gaji yang dihasilkan akan disajikan di sini.
Pujian kecil untuk habr (u):Dalam sebuah artikel ilmiah dalam semacam jurnal "layak", di mana, sampai batas tertentu, penulisan bagian-bagian ritual dari artikel itu diperlukan, saya harus memutarbalikkan relevansi artikel itu, membawa banyak bacaan di bawahnya, dan kadang-kadang terlibat dalam penerbitan graphomania yang tidak perlu. Habr telah menjadi jalan keluar bagi saya, memungkinkan saya untuk mengekspresikan pikiran saya tentang kasus ini dan tanpa "mengangguk" kepada komunitas ilmiah. Pada saat yang sama, saya menekankan bahwa tingkat pendidikan tim pada sumber daya tidak hanya tidak perlu diragukan, tetapi kadang-kadang Anda harus memikirkan kepatuhan Anda sendiri.
Pernyataan singkat tentang masalahnya
Struktur remunerasi total perusahaan modern beragam, dalam bentuk umum dapat mengandung berbagai komponen (Gbr. 1). Dalam publikasi ini, kami akan tertarik dengan gaji pokok. Dapat juga dicatat bahwa dalam proses kerja, sebagian besar, struktur dipertimbangkan ketika upah berbasis waktu berlaku.
Gambar 1. Struktur total remunerasi.Saya terutama ingin mencatat bahwa ketika mempertimbangkan masalah tersebut, pandangan penulis diarahkan, sebagian besar, kepada personel non-produksi, yang pekerjaannya sangat sulit untuk diukur dan digitasi.
Upah waktu bersih bukan merupakan faktor perangsang, tetapi jika prinsip keadilan dan transparansi dilanggar, ini dapat secara signifikan mempengaruhi penurunan motivasi. Pelanggaran terhadap prinsip keadilan diekspresikan sebagai berikut:
- Tindakan lokal normatif tentang pembayaran bersifat formal dan tidak menentukan pembentukan aktual dan perubahan gaji.
- Grid tarif dibangun sehingga spesialis tanpa kategori dapat menerima sebanyak kepala departemen (blur).
- Grup posting, disatukan dalam kategori pembayaran, dapat sangat berbeda dalam kompleksitas pekerjaan yang dilakukan.
- Gaji tergantung pada divisi di mana karyawan bekerja, dan bukan pada kompleksitas pekerjaannya.
Kami juga memperkenalkan beberapa ketentuan tambahan:
Penilaian adalah cara
menetapkan tingkat upah berdasarkan penilaian kegiatan masing-masing karyawan (atau tempat kerja) sesuai dengan kriteria seragam, didistribusikan sesuai dengan kepentingannya (nilai) bagi organisasi.
Dengan kata lain:
- ini adalah rincian semua posisi di perusahaan berdasarkan kategori dari tertinggi ke terendah, yang masing-masing diberikan gaji tertentu, atau “garpu” gaji, yang menentukan tarif tarif minimum dan maksimum untuk setiap posisi.
Undang-undang ketenagakerjaan kita tidak mewajibkan staf dan jadwal tarif untuk struktur komersial, dan keduanya dibutuhkan pertama-tama oleh pemberi kerja sendiri sebagai alat untuk mengelola sumber daya tenaga kerja.
Perkembangan dalam bidang ini, karya-karya ilmiah dari penulis terkenal, tidak dapat disangkal hadir. Apalagi, rentang pelamarnya sangat luas. Yang paling terkenal, mungkin, adalah pengembangan
Hay Group . Hebat, saya tidak akan mengkritik dan membawa kegelapan pada yang indah dan salah satu yang pertama, dari jenisnya, sistem. Saya hanya mencatat bahwa di perusahaan tempat sistem semacam itu diperkenalkan, personel yang tidak terlatih tidak tahu cara menggunakannya, dan karena itu, ketika mengubah orang di posisi di departemen tenaga kerja dan upah, tidak ada yang bisa sepenuhnya menyesuaikan sistem dengan kondisi yang berubah. Jadi mereka menyimpannya seperti artefak kuno yang hebat, yang tidak bisa dibaca siapa pun kecuali Orang-Orang Percaya Lama, dan mereka tidak lagi ditinggalkan.
Buat perubahan
(pengembangan model)Biasanya, untuk penerapan model multifaktor, yang pada akhirnya diperlukan untuk memperoleh hasil numerik tunggal, saya lebih suka metode penilaian kompleks berdasarkan pohon kriteria, matriks konvolusi, dan sistem untuk mengurangi kriteria menjadi skala tunggal.
Singkatnya, keuntungan dari konstruksi tersebut adalah kemungkinan:
- penerapan sejumlah faktor penilaian yang tidak terbatas;
- realisasi non-linearitas dan variabilitas derajat pengaruh faktor;
- dimasukkannya faktor dari berbagai jenis (dengan perubahan fisik, perkiraan ahli, tabel korespondensi, dll.);
- memprediksi hasil dan nilai ekspektasi dalam rentang tertentu.
Kemudahan penggunaan mekanisme semacam itu berhasil dikombinasikan dengan multivarian dari estimasi yang dihasilkan, karena bahkan dalam kisaran numerik terbatas 1-4, yang membutuhkan penilaian komprehensif, Anda bisa mendapatkan variasi yang cukup.
Gambar 2. Diagram blok penerimaan nilai dan transfernya ke gaji staf.Idenya adalah bahwa, menurut beberapa kriteria, penilaian dibuat dari "signifikansi" untuk bisnis unit struktural dan posisi spesifik untuk unit ini.
Secara umum, skema ini membutuhkan yang berikut:
- untuk setiap unit, perhitungannya sendiri dibentuk sesuai dengan model penilaian terintegrasi tunggal;
- dalam model penilaian terintegrasi, faktor-faktor yang dapat diukur secara kuantitatif dan yang ahli dapat digunakan;
- setelah mendapatkan semua nilai model untuk setiap departemen dan setiap posisi, perkalian matriks dilakukan, di mana hasil keseluruhan terbentuk;
- untuk membawa nilai ke ukuran upah, model diterapkan untuk membawa nilai ke gaji karyawan departemen.
Dalam membentuk penilaian signifikansi departemen, kriteria berikut digunakan:
- Menurut tingkat proses: utama, tambahan, layanan;
- Dengan tingkat universalitas tugas yang diselesaikan: universal, spesifik, situasional;
- Dengan tingkat interaksi: antar organisasi; antar unit organisasi; interaksi internal.
Dalam kriteria evaluasi yang disajikan, selalu ada 3 opsi untuk setiap kriteria. Opsi-opsi ini disusun "dalam urutan menurun" dari peringkat 4 ke peringkat 1. Opsi rata-rata sesuai dengan peringkat 2.5. Menerapkan pengurangan ini, semua perkiraan dapat diterjemahkan dalam skala penilaian kompleks standar 1-4 (di sini Anda hanya perlu menerima ... kami setuju).
Jenis dasar pohon untuk menilai signifikansi posisi dibentuk sebagai berikut:
- Tingkat posisi: manajer, spesialis, pemain;
- Jenis tugas: organisasi, kreatif, diatur;
- Konektivitas tugas: dengan lingkungan eksternal, antar unit, dalam unit.
Contoh dari ini adalah model penilaian terintegrasi, yang, omong-omong, kami berhasil "mengarahkan" ke Excel, yaitu tersedia, menunjukkan betapa mudahnya melakukan prosedur penilaian.
Gambar 3. Tampilan umum model penilaian terintegrasi "Nilai Unit".Setelah menyusun model, masing-masing kriteria untuk setiap unit (dan untuk posting, masing-masing, memiliki model sendiri) diberi peringkat sendiri, dan sistem hanya mempertimbangkannya. Masih menulis nilai-nilai ini.
Seperti apa "ringkasan" nilai pada akhirnya?
Gambar 4. Contoh penghitungan tingkat jenis “signifikansi departemen / signifikansi posisi”.Dalam hal ini, yang optimal tampaknya adalah penggandaan "signifikansi departemen" dan "signifikansi posisi". Hasilnya cukup berbeda dan dapat digunakan untuk menentukan skala tarif.
Komponen terakhir
Seperti yang Anda ingat, sesuai dengan Gambar 2, sekarang perlu untuk mengubah ball-rating menjadi gaji.
Awalnya seharusnya ini dapat dilakukan dengan menggunakan fungsi linear sederhana. Untuk tujuan ini, pembuat keputusan (pembuat keputusan) diundang untuk menunjukkan gaji minimum dan maksimum di perusahaan. Langkah yang cukup sederhana dan logis, seperti yang terlihat.
Upaya pertama dan jelas adalah memotret dengan rangkaian linier. Dengan parameter yang ditunjukkan, pembuat keputusan (kepala salah satu Universitas) memperoleh hasil sedemikian rupa sehingga kepala unit struktural, setelah menerima nilai 13, harus menerima gaji lebih dari 200 ribu (kepala departemen).
Gambar 5. Contoh peringkat “mengekspos” pada upah menggunakan skala linier cor.Kebutuhan untuk menerapkan sistem sederhana untuk pembentukan pengurangan gaji / tingkat non-linear menjadi jelas. Dalam hal ini, diperlukan untuk menyederhanakan proses "seleksi" pengurangan optimal sebanyak mungkin.
Kurva Bezier muncul dalam pikiran secara tidak sengaja. Karena titik ekstrim untuk kurva ditentukan secara otomatis (nilai minimum dan maksimum / gaji minimum dan maksimum), pembuat keputusan hanya perlu menggeser satu / dua poin untuk mendapatkan jenis kurva yang diinginkan.
Gambar 6. Kontrol grafis Bezier Curve diimplementasikan di ExcelAwalnya, upaya dilakukan untuk menyiasati versi kuadrat dari kurva, namun, setelah mencoba untuk membangun, menjadi jelas bahwa mereka tidak dapat berkeliling dan perlu untuk mengimplementasikan versi kubik fungsi.
Untuk menghasilkan kurva Bezier di Excel, diperlukan tindakan berikut:
- Tentukan titik-titik ekstrem pada grafik dengan koordinat X, Y: (1; 1) dan (4; 4) - dalam contoh ini. Koordinat ekstrem seperti itu diambil untuk membuat grafik terlihat jelas. Dia tidak diharuskan menunjukkan hubungan nyata, tetapi hanya untuk menunjukkan ketergantungan;
- Tentukan koordinat untuk titik-titik yang dipindahkan oleh LPR: satu titik untuk kurva kuadratik dan dua titik untuk kubik;
- Tetapkan langkah perhitungan untuk kurva (dalam contoh kita - 0,5) dan hitung pasangan poin untuk kurva.
Contoh:Misalkan titik ekstrim ditandai: (X1; Y1) - (1; 1), (X4; Y4) - (4; 4). Bayangkan bahwa ada 2 titik bergeser tambahan: (X2; Y2), (X3; Y3). Selain itu, setiap koordinat berada dalam kisaran 1-4 dan tidak termasuk di dalamnya.
Untuk membangun koordinat X untuk kurva kuadrat untuk langkah tertentu dari interval Ti, kita dapat menerapkan rumus:
= DEGREE (Ti; 2) * X1 + 2 * (Ti) * Ti * X2 + DEGREE (Ti; 2) * X4 ,
sedangkan X1, X2, X4 Anda perlu menentukan tautan ke sel dengan koordinat.
Demikian pula, Anda dapat menghitung untuk titik Y, mengganti koordinat X dengan koordinat Y.
Adapun koordinat untuk kurva kubik, di sini rumus memiliki bentuk:
= GELAR (1-Ti; 3) * X1 + 3 * GELAR (1-Ti; 2) * Ti * X2 + 3 * (1-Ti) * GELAR (Ti; 2) * X3 + GELAR (Ti; 3) * X4
Setelah membuat kurva, pembuat keputusan menerima alat kontrol visual. Namun, untuk menerapkan kurva, perlu untuk menerapkan proses memperoleh koordinat Y dari koordinat Y yang ditunjukkan.Ini adalah masalah besar itu sendiri. Namun, dimungkinkan untuk menerapkan kode VBA yang memungkinkan Anda untuk melakukan operasi tersebut.
Untuk fungsi kuadratik:Function __Y__X__( _ X As Double, _ X1 As Double, _ X2 As Double, _ X3 As Double, _ Y1 As Double, _ Y2 As Double, _ Y3 As Double) As Double Dim aX, bX, cX, aY, bY, cY, Temp, dis, X_1, X_2, X_f, Y_f As Double aX = X1 - 2 * X2 + X3 bX = -2 * X1 + 2 * X2 cX = X1 - X aY = Y1 - 2 * Y2 + Y3 bY = -2 * Y1 + 2 * Y2 cY = Y1 dis = bX * bX - 4 * aX * cX If aX <> 0 Then X_1 = (-bX + (dis ^ (1 / 2))) / (2 * aX) X_2 = (-bX - (dis ^ (1 / 2))) / (2 * aX) Else X_1 = -cX / bX End If If Not IsEmpty(X_1) Then If ((CDbl(CStr(X_1)) >= 0) And (CDbl(CStr(X_1)) <= 1)) Then X_f = X_1 If Not IsEmpty(X_2) Then If ((CDbl(CStr(X_2)) >= 0) And (CDbl(CStr(X_2)) <= 1)) Then X_f = X_2 Y_f = ((1 - X_f) ^ 2) * Y1 + 2 * (1 - X_f) * X_f * Y2 + (X_f ^ 2) * Y3 '=(1-R[-1]C[-1];2)*R58C2+2*(1-R[-1]C[-1])*R[-1]C[-1]*R58C3+(R[-1]C[-1];2)*R58C5 a = a __Y__X__ = Y_f End Function
Untuk fungsi kubik: Function __Y__X__( _ X As Double, _ X1 As Double, _ X2 As Double, _ X3 As Double, _ X4 As Double, _ Y1 As Double, _ Y2 As Double, _ Y3 As Double, _ Y4 As Double) As Double Dim myPi, aX, bX, cX, dX, aY, bY, cY, dY, Q, P, S, Temp, fi, dis, X_1, X_2, X_3, X_f, Y_f As Double 'Exit Function 'If X1 = 1.5 Or X = 0 Or X1 = 0 Or X2 = 0 Or X3 = 0 Or X4 = 0 Then Exit Function 'Application.Volatile True myPi = WorksheetFunction.Acos(-1) aX = -X1 + (3 * X2) - (3 * X3) + X4 bX = 3 * X1 - 6 * X2 + 3 * X3 cX = -3 * X1 + 3 * X2 dX = X1 - X aY = -Y1 + 3 * Y2 - 3 * Y3 + Y4 bY = 3 * Y1 - 6 * Y2 + 3 * Y3 cY = -3 * Y1 + 3 * Y2 dY = Y1 If aX < 0.000001 And aX > -0.000001 Then _ aX = 0 If CDbl(CStr(aX)) <> 0 Then Temp = aX aX = aX / Temp bX = bX / Temp cX = cX / Temp dX = dX / Temp Q = (bX ^ 2 - 3 * cX) / 9 P = (2 * (bX ^ 3) - 9 * bX * cX + 27 * dX) / 54 S = Q ^ 3 - P ^ 2 'X1 = -1 'X2 = -1 'X3 = -1 T = T If S < 0.00000001 And S > -0.00000001 Then _ S = 0 If P < 0.00000001 And P > -0.00000001 Then _ P = 0 If Q < 0.00000001 And Q > -0.000000001 Then _ Q = 0 If S > 0 Then fi = (1 / 3) * WorksheetFunction.Acos(P / ((Q ^ 3) ^ (1 / 2))) X_1 = -2 * (Q ^ (1 / 2)) * Cos(fi) - bX / 3 X_2 = -2 * (Q ^ (1 / 2)) * Cos(fi + 2 * myPi / 3) - bX / 3 X_3 = -2 * (Q ^ (1 / 2)) * Cos(fi - 2 * myPi / 3) - bX / 3 ElseIf S = 0 Then fi = 0 X_1 = -2 * (P ^ (1 / 3)) - bX / 3 X_2 = (P ^ (1 / 3)) - bX / 3 Else If Q > 0 Then fi = (1 / 3) * WorksheetFunction.Acosh(Abs(P) / ((Q ^ 3) ^ (1 / 2))) X_1 = -2 * Sgn(P) * (Q ^ (1 / 2)) * WorksheetFunction.Cosh(fi) - bX / 3 ElseIf Q = 0 Then fi = 0 T = (dX - (bX ^ 3) / 27) X_1 = -((Abs(T) ^ (1 / 3)) * (2 * (T < 0) + 1)) - bX / 3 'T = (dX - (bX ^ 3) / 27) 'T = (Abs(T) ^ (1 / 3)) * ((T < 0) + 1) 'X_1 = -T - bX / 3 Else fi = (1 / 3) * WorksheetFunction.Asinh(Abs(P) / ((Abs(Q) ^ 3) ^ (1 / 2))) X_1 = -2 * Sgn(P) * (Abs(Q) ^ (1 / 2)) * WorksheetFunction.Sinh(fi) - bX / 3 End If End If If Not IsEmpty(X_1) Then If ((CDbl(CStr(X_1)) >= 0) And (CDbl(CStr(X_1)) <= 1)) Then X_f = X_1 If Not IsEmpty(X_2) Then If ((CDbl(CStr(X_2)) >= 0) And (CDbl(CStr(X_2)) <= 1)) Then X_f = X_2 If Not IsEmpty(X_3) Then If ((CDbl(CStr(X_3)) >= 0) And (CDbl(CStr(X_3)) <= 1)) Then X_f = X_3 a = a Else dis = cX * cX - 4 * bX * dX If bX < 0.000001 And bX > -0.000001 Then _ bX = 0 If bX <> 0 Then X_1 = (-cX + (dis ^ (1 / 2))) / (2 * bX) X_2 = (-cX - (dis ^ (1 / 2))) / (2 * bX) Else X_1 = -dX / cX End If If Not IsEmpty(X_1) Then If ((CDbl(CStr(X_1)) >= 0) And (CDbl(CStr(X_1)) <= 1)) Then X_f = X_1 If Not IsEmpty(X_2) Then If ((CDbl(CStr(X_2)) >= 0) And (CDbl(CStr(X_2)) <= 1)) Then X_f = X_2 End If a = a Y_f = ((1 - X_f) ^ 3) * Y1 + 3 * ((1 - X_f) ^ 2) * X_f * Y2 + 3 * (1 - X_f) * (X_f ^ 2) * Y3 + (X_f ^ 3) * Y4 'Debug.Print (Y_f) __Y__X__ = Y_f End Function
Dalam prosesnya, upaya dilakukan untuk menemukan opsi yang sudah jadi pada jaringan dan mendaur ulang, tetapi itu tidak terjadi. Juga secara tidak sengaja ditemukan bahwa VBA tidak dapat mengekstrak dengan benar akar derajat ganjil dari angka negatif. Hanya kombinasi tertentu yang diizinkan untuk memperbaiki situasi:
T = (dX - (bX ^ 3) / 27) X_1 = -((Abs(T) ^ (1 / 3)) * (2 * (T < 0) + 1)) - bX / 3
* -mungkin dalam kode masih ada waktu lain yang terkait dengan perhitungan seperti itu. Bug ditemukan saat penulisan artikel)
Konstruksi yang dihasilkan
Jadi, bandingkan hasilnya (dibuat sesuai dengan jenis kurva pada Gambar 6 (grafik kanan)):
Gambar 7. Perbandingan cast of grade dengan gaji nyata (refleksi dari fleksibilitas sistem)Dapat dilihat dari angka bahwa fungsi kubik memungkinkan Anda untuk “membengkokkan” ketergantungan skor bola-rating dan gaji riil bahkan lebih (manajer, sayangnya, puas dengan opsi ini).
Bagaimanapun, karya ini, meskipun murni eksperimental, belum benar-benar diluncurkan di mana pun, tetapi, seperti yang terlihat oleh penulis, ini dapat berguna dalam perkembangan dunia nyata.
Saya berharap dia tidak "berbaring di rak", tetapi seseorang akan dibutuhkan.