Player movement prediction to attempt at minimizing Client-Server Latency

ive had this idea for some time but ive reworked it,
its very simple but if i want it to be accurate i need some advise,
this would mainly be for custom rigs

im calling this opdogs cause why not

i have came up with another idea which is just a custom movement system but this is for the default roblox movement system

heres the main (server) code

RunService.Heartbeat:Connect(function(DeltaTime)
	local Ping = Player:GetAttribute("Ping");
	if not Ping then return end;

	local RootPart = Character:FindFirstChild("HumanoidRootPart");
	if not RootPart then return end;

	local Prediction = RootPart.Position+(RootPart.Velocity*Ping/256);

	PreviewPart.Position = PreviewPart.Position:Lerp(Prediction, DeltaTime*10);
	PreviewPart.Orientation = RootPart.Orientation;

	ServerPart.CFrame = RootPart.CFrame;
end);