Freight Close

Slide deck

The standalone summary of Freight Close — the same deck that bookends the walkthrough. Watch the full walkthrough, flip through the slides here, or download the PowerPoint.

Freight Close

Calibrated freight-accrual engine + month-end close · Ridgeline Foods

Numeric Finance Engineer Cup — Round 1

Chris Dougherty · freightclose.dogsled.dev

1

The problem with the old accrual

Ridgeline accrues freight at month-end, before the carrier invoices arrive.

1
Black box
Denise's trailing-average estimate is never tied to what actually shipped this month.
2
Blind to change
A trailing average can't see a rate change coming — it only reacts after the fact.
3
No controls
No validation, no exception flags, no audit trail. Automating it just automates the errors.
2

Price what actually shipped — calibrated from invoices

Instead of trusting stale printed rate cards, recover the real effective rates from the carriers' own history.

1
Shipments in
upload or sample
2
Normalize
dedup · impute · flag
3
Calibrate
from 6 mo of invoices
4
Price each shipment
base · fuel · accessorials
5
Accrual + JE
ties to every shipment

Then reconcile: when the invoices land, the estimate is trued-up and the variance feeds next month's calibration.

3

April 2026 — the close

A point estimate with a band, not a single guess. Every figure ties to shipment-level backup.

$93,530
recommended accrual
$86K–$101K
confidence band (±1σ)
−0.23%
6-mo back-test bias
±$0.32
recon error · 811 invoices

160 shipments priced · 811 invoice lines calibrated · all 8 tie-outs pass · reproduces six months of invoices to the cent.

4

Messy data, handled — and flagged

DATA is graded. Nothing is dropped or defaulted silently; every assumption raises a flag.

Deduplicated
161 rows → 160 unique (SHP-10033 caught & flagged)
Carrier names
9 variants normalized (PEAK LOG, HEARTLAND, …)
Missing weight
5 blanks imputed and flagged — never zeroed
Mileage handling
Off-table lanes recovered from invoices; SLC origin flagged as a Denver-mileage assumption
ZIP-based zones
ZIP-prefix zones / ZIP-range regions, not state
Date serialization
normalized on ingest — Finding 0: no silent collapse

23 flags this month · 0 blocking · the register reads “ready to close.”

5

Every dollar ties to a shipment

Denise's number is a black box. Here, any booked dollar drills to the shipment that produced it.

Shipment calc trace — every variable shown
Base  rate × weight tier × calibrated index
+ Fuel surcharge (calibrated %)
+ Accessorials (residential, liftgate, …)
+ Minimum / floor where it applies
= Shipment total
160
shipments, each with its full calc trace
Audit-ready: follow any journal-entry dollar down to a single shipment.
6

Controls, not just an estimate

Automating an estimate without controls just automates the errors faster.

1
Exception register
risk levels per flag + reviewer disposition notes
2
Materiality bands
green ≤5% · amber ≤10% · red >10% escalate
3
Tie-outs
JE balances · per-carrier sums to total · no negatives
4
Rate-divergence flag
raised when the estimate strays from the trailing anchor
5
Reproducible
recompute from stored inputs — bit-for-bit
6
Audit trail
inputs, rate-card versions, and timestamped approvals
7

Honest about accuracy

A finance judge would test this — so we say it plainly.

We do not beat Denise's headline error — a trailing-3-month average smooths rate noise a per-shipment engine can't foresee.

Freight Close engine
≈15% MAPE   −0.23% bias
near-unbiased
Denise · trailing avg
≈8% MAPE   −3.18% bias
wins on MAPE · chronic under-accrual

Where we win: ties to a shipment · adapts to rate changes · carries controls · repeatable · near-unbiased · reconstructs 6 months of invoices to the cent ($0.32).

8

Book it, lock it, archive it

A controlled close-out — and a routine accrued liability, not a contingency.

NetSuite-ready JE
Dr Freight Expense by carrier · Cr Accrued Freight Liability — import layout, reverses on invoice receipt.
Control gates
Every automated gate must pass and the approver attests the manual reviews before sign-off.
Lock + full archive
On approval the period locks and saves the JE, shipment backup, portable HTML, and approval record.
Reopen is audited
Re-opening is timestamped and the prior approval stays in the log — nothing is lost.
9

Adaptability — the May fuel spike

Same 160 shipments, two rate worlds — Peak fuel surcharge 14% → 19%.

Engine adapts
+$2,464
recalibrates to the new rate and flags the divergence
A blind average misses
−$5,561
you'd under-accrue until the invoice lands

A trailing average physically can't do this — same shipments, a known and explained change in the number.

10

The honest head-to-head

Engine, Denise, and actuals side by side — including where she still wins.

Out-of-sample MAPEAccrual biasVerdict
Freight Close≈15%−0.23% (near-unbiased)transparency · control · adaptability
Denise (trailing avg)≈8% (wins)−3.18% (chronic under)lower error, but a black box

Quarantined to one tab — we automate Denise's judgment with controls and adaptability, not a louder accuracy claim.

11

What I'd add with more time

The core is real and shipping today; these are the next steps.

1
Live data connections
Ramp · Stripe · 3PL · NetSuite feeds instead of CSV upload
2
Supabase persistence
shared, durable rate cards, approvals & audit log across the team
3
Anomaly detection
auto-surface shipments and lanes that don't look right
4
Richer mileage tables
fuller per-origin lane data to retire the mileage assumptions
12
Freight Close

Prices what shipped · calibrates from invoices · ties every dollar out · carries the controls · adapts when rates move.

freightclose.dogsled.dev

Thank you.

13