diff --git a/slo-checker/generic/app/main.py b/slo-checker/generic/app/main.py
index e483c26b4f421d00e093ad70ff8d12d0a9bb9e62..6dd78ac131c3c5f7a6e163ae729ab3d3e396dbde 100644
--- a/slo-checker/generic/app/main.py
+++ b/slo-checker/generic/app/main.py
@@ -37,7 +37,7 @@ def aggr_query(values: dict, warmup: int, aggr_func):
     df = pd.DataFrame.from_dict(values)
     df.columns = ['timestamp', 'value']
     filtered = df[df['timestamp'] >= (df['timestamp'][0] + warmup)]
-    filtered['value'] = filtered['value'].astype(float).astype(int)
+    filtered['value'] = filtered['value'].astype(float)
     return filtered['value'].aggregate(aggr_func)
 
 def check_result(result, operator: str, threshold):
@@ -63,7 +63,7 @@ async def check_slo(request: Request):
     query_aggregation = get_aggr_func(data['metadata']['queryAggregation'])
     rep_aggregation = get_aggr_func(data['metadata']['repetitionAggregation'])
     operator = data['metadata']['operator']
-    threshold = int(data['metadata']['threshold'])
+    threshold = float(data['metadata']['threshold'])
 
     query_results = [aggr_query(r[0]["values"], warmup, query_aggregation) for r in data["results"]]
     result = pd.DataFrame(query_results).aggregate(rep_aggregation).at[0]
diff --git a/slo-checker/record-lag/app/main.py b/slo-checker/record-lag/app/main.py
index bb68580a638a40bc7ae975594b859d10784adc67..1141ac88d800d2e0204a32b9f07f1aed78f5e200 100644
--- a/slo-checker/record-lag/app/main.py
+++ b/slo-checker/record-lag/app/main.py
@@ -27,7 +27,7 @@ def calculate_slope_trend(results, warmup):
         group = result['metric'].get('consumergroup', "default")
         for value in result['values']:
             d.append({'group': group, 'timestamp': int(
-                value[0]), 'value': int(value[1]) if value[1] != 'NaN' else 0})
+                value[0]), 'value': float(value[1]) if value[1] != 'NaN' else 0})
 
     df = pd.DataFrame(d)