← Back to all sparks
L

lares

INFRA · APIS
Velocity0.0

Lean Analytics and Robust Exploration Sidekick

One analyst's toolbox, still shipping: Meta MMM tooling beside Wordle solvers

marketing-mix-modelingrobynutility-toolboxapi-compatibilityautoml
Current state
lares is Bernardo Lares' personal R sidekick and has never pretended otherwise — the same release adds a marketing-mix diagnostic and a function to keep your screen awake. The serious core is the Robyn/Meta arm: model selection, per-channel performance decomposition, cross-channel budget allocation. Around it sit h2o AutoML wrappers, credential and cache helpers, MP3 tagging, and a family of games.
Where it's heading
Over two years the Robyn tooling matured first — robyn_performance() and robyn_modelselector() were rebuilt release after release through 2024 — and recent work has drifted outward into media and API plumbing: encrypted file helpers in 5.3.2, then an iTunes-first metadata path, MP3 tag writing, and a move of holidays() onto the Nager.Date API in 5.4.0. Cadence is roughly quarterly and the package has been quiet for three months.
Prediction
The pattern in nearly every release is that a third-party API moves and lares follows it — Meta's version bumps, Robyn 3.12.0, now Nager.Date. Expect the next release to be another compatibility pass plus whatever utility the author needed that week; nothing in these entries points at a structural change.

Recent moves

  1. 3mo ago

    Nager.Date holidays, MP3 tag writing, named h2o models

    The broadest release in the window and still recognisably a grab bag: holidays() moves to the Nager.Date API with ISO country codes, mp3_get() prefers iTunes over Spotify for metadata, mp3_update_tags() writes tags back, and h2o_automl() gains model_name so exported artefacts stop colliding. Splitting other_functions.R into three files is the first real housekeeping the package has done.

    View source ↗
  2. 11mo ago

    Encrypted file helpers join the credential tooling

    encrypt_file(), read_encrypted() and write_encrypted() extend the existing credential and cache machinery to data at rest, which matters for a package whose day job includes holding API keys for Meta and OpenAI. The remainder is connection handling and message ordering.

    View source ↗
  3. 1y ago

    ggplot2 4.0 readiness and Meta API v21

    Compatibility work dominates: preparing for ggplot2 4.0.0, moving the Meta API from v20 to v21, and switching get_mp3() to yt-dlp. Reweighted confidence criteria in robyn_modelselector() are the one substantive change to the marketing arm.

    View source ↗
  4. 1y ago

    Marginal CPA inverted and multi-model performance fixed

    A correctness release for the Robyn arm — the mCPA calculation was inverted, and robyn_performance() mishandled OutputCollect objects carrying more than one model. Either would have quietly produced wrong channel economics.

    View source ↗
  5. 1y ago

    Certainty and cluster-spread metrics for model selection

    robyn_modelselector() gains certainty and cluster_sd scores, continuing the slow build-out of automated candidate ranking that is this package's most developed idea. normalize() gains a custom scale range and robyn_performance() can include non-promotional contributions.

    View source ↗
  6. 1y ago

    Cross-channel budget allocation across several models

    robyn_xchannels() extends budget allocation past a single model, which is the direction the Robyn tooling has been heading — from scoring one model to reasoning over a set of them. The rest is number formatting and small predicates.

    View source ↗