← All projects

Product study · Data & forecasting

Chain Fee Forecast

Estimate end-of-day chain fees from sampled activity, historical patterns and Base data.

01 / The task

What needed to work

Hourly chain activity is noisy and sampling every block is expensive. This engine combines current observations with historical time-of-day patterns to estimate daily fees.

My role

I built the Python CLI, SQLite data store, chain fetchers, hourly estimates and forecasting pipeline.

02 / Decisions

Where judgment mattered

Use Base history to steady sparse chain data

Use Base’s deeper activity history to steady the Robinhood Chain profile while its own history grows.

Normalize each day before measuring its hourly pattern

Normalize each full day so the profile captures timing separately from fee volume.

Sample blocks in hourly batches

Interpolate block timestamps and sample RPC data in bounded batches to estimate each hour.

Adjust the forecast as the day progresses

Shift the forecast toward observed daily pace as the day progresses and use Base activity to moderate the remaining estimate.

Favor recent training days

Weight recent training days more heavily and constrain Ridge coefficients to positive values.

Store source and estimate metadata

Store whether each record came from a public fee chart or sampled hourly activity.

03 / Agent contribution

How the work was directed

I use AI coding assistants to build independent projects, while owning product decisions, review and testing.

Owner account · General working method

These product decisions are grounded in the implementation and capture notes. The broader workflow is my account of how I work across these projects.

04 / Verification & result

What the evidence supports

Implemented functionality

  • Daily fee history. Import DefiLlama fee history for Robinhood Chain and Base into SQLite, aligned by UTC date.
  • Hourly activity estimates. Sample hourly block windows and estimate gas, fees, transactions and USD value for both chains.
  • Forecast history. Store daily totals, hourly samples, time-of-day profiles and predictions with source and timestamp.

Implementation inspected

The screenshots show demo data, public observations or labelled report presentations, as described in each caption.

Supporting detail

Technology

  • Python
  • SQLite
  • NumPy
  • scikit-learn
  • joblib
  • requests
  • tabulate
  • JSON-RPC