# API for FB Prophet model

**URL:** <https://discourse.julialang.org/t/api-for-fb-prophet-model/74138>\
**Category:** Probabilistic Programming\
**Created:** [January 6, 2022, 12:12pm UTC](https://discourse.julialang.org/t/api-for-fb-prophet-model/74138 "2022-01-06T12:12:54Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![mobar](https://avatars.discourse-cdn.com/v4/letter/m/9dc877/32.png) [@mobar](https://discourse.julialang.org/u/mobar)\
**Post date:** [January 6, 2022, 12:12pm UTC](https://discourse.julialang.org/t/api-for-fb-prophet-model/74138/1 "2022-01-06T12:12:54Z")

</div>

Has anyone yet created an eay-to-use API in Julia for Facebook’s prophet model with a basic “fit” and “predict” functionality?  
([Quick Start | Prophet](https://facebook.github.io/prophet/docs/quick_start.html))

I’m simply asking because there’s a good chance someone also has already done (which would save time), but I can’t seem to locate such work.

Thanks

---

<div class="post-metadata">

**Author:** ![torfjelde](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/torfjelde/32/206542_2.png) [@torfjelde](https://discourse.julialang.org/u/torfjelde)\
**Post date:** [January 6, 2022, 12:31pm UTC](https://discourse.julialang.org/t/api-for-fb-prophet-model/74138/2 "2022-01-06T12:31:25Z")

</div>

Funny that you ask because I did something like this just a couple of weeks ago. It’s not yet public, but I’ll make it so later today (not on my computer right now).

---

<div class="post-metadata">

**Author:** ![mobar](https://avatars.discourse-cdn.com/v4/letter/m/9dc877/32.png) [@mobar](https://discourse.julialang.org/u/mobar)\
**Post date:** [January 6, 2022, 2:35pm UTC](https://discourse.julialang.org/t/api-for-fb-prophet-model/74138/3 "2022-01-06T14:35:38Z")

</div>

Excellent!

---

<div class="post-metadata">

**Author:** ![torfjelde](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/torfjelde/32/206542_2.png) [@torfjelde](https://discourse.julialang.org/u/torfjelde)\
**Post date:** [January 7, 2022, 1:10am UTC](https://discourse.julialang.org/t/api-for-fb-prophet-model/74138/4 "2022-01-07T01:10:07Z")

</div>

Aight, so here it is: [https://github.com/torfjelde/Prophet.jl](https://github.com/torfjelde/Prophet.jl)

It’s in a _very_ raw form atm, but at least it’s something we can work with. We might want to make it more similar to Python’s prophet, but atm it’s just the bare bones to get up and running with inference.

It’s also missing certain functionalities, e.g. using logit-likelihood, etc., which I just haven’t gotten around to yet, but will be trivial to add.

---

<div class="post-metadata">

**Author:** ![Albert\_Zevelev](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/albert_zevelev/32/11844_2.png) [@Albert\_Zevelev](https://discourse.julialang.org/u/Albert_Zevelev)\
**Post date:** [January 7, 2022, 2:05am UTC](https://discourse.julialang.org/t/api-for-fb-prophet-model/74138/5 "2022-01-07T02:05:11Z")

</div>

Thanks this looks awesome!  
I wanted something like this as well.

Is there a chance this can be included in MLJ @ablaom @tlienart

---

<div class="post-metadata">

**Author:** ![tlienart](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tlienart/32/7640_2.png) [@tlienart](https://discourse.julialang.org/u/tlienart)\
**Post date:** [January 7, 2022, 8:54am UTC](https://discourse.julialang.org/t/api-for-fb-prophet-model/74138/6 "2022-01-07T08:54:12Z")

</div>

I’m not up to date on the latest in terms of MLJ supporting forecasting models (there’s timeseriesclassification.jl ~ MLJTime but it’s for classification not for forecasting afaiu); last I checked this isn’t developed yet (similar to sklearn only providing a modicum of support to TS).

Side note for other new ML packages: it’s not up to MLJ to integrate models, rather it’s up to model providers to implement (and maintain) the relevant MLJ interface e.g. like EvoTrees.jl did here: [https://github.com/Evovest/EvoTrees.jl/blob/main/src/MLJ.jl](https://github.com/Evovest/EvoTrees.jl/blob/main/src/MLJ.jl)

---

<div class="post-metadata">

**Author:** ![cscherrer](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/cscherrer/32/7631_2.png) [@cscherrer](https://discourse.julialang.org/u/cscherrer)\
**Post date:** [January 7, 2022, 12:45pm UTC](https://discourse.julialang.org/t/api-for-fb-prophet-model/74138/7 "2022-01-07T12:45:46Z")

</div>

I’m not aware of MLJ integration with Turing, @torfjelde is this set up?

In Soss we have [SossMLJ.jl](https://github.com/cscherrer/SossMLJ.jl) but it’s in need of an update.

---

<div class="post-metadata">

**Author:** ![mobar](https://avatars.discourse-cdn.com/v4/letter/m/9dc877/32.png) [@mobar](https://discourse.julialang.org/u/mobar)\
**Post date:** [January 7, 2022, 3:17pm UTC](https://discourse.julialang.org/t/api-for-fb-prophet-model/74138/8 "2022-01-07T15:17:15Z")

</div>

Agree, this is a very good start.

However, I can’t run the code at the moment due to issues with pulling the Python prophet package - so removing Python dependencies altogether would be nice as a next step.

---

<div class="post-metadata">

**Author:** ![torfjelde](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/torfjelde/32/206542_2.png) [@torfjelde](https://discourse.julialang.org/u/torfjelde)\
**Post date:** [January 7, 2022, 3:25pm UTC](https://discourse.julialang.org/t/api-for-fb-prophet-model/74138/9 "2022-01-07T15:25:46Z")

</div>

Try setting `ENV["PYTHON"] = ""` and rebuild to make it use the julia-specific Conda installation.

But yeah, long-term we want to move away from using any Python.

---

<div class="post-metadata">

**Author:** ![stefanjwojcik](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stefanjwojcik/32/14626_2.png) [@stefanjwojcik](https://discourse.julialang.org/u/stefanjwojcik)\
**Post date:** [October 30, 2023, 3:06pm UTC](https://discourse.julialang.org/t/api-for-fb-prophet-model/74138/10 "2023-10-30T15:06:35Z")

</div>

This would be supremely useful for me as well. Perhaps we can chat about collaborating to add functionality to this package…

---

<div class="post-metadata">

**Author:** ![Palli](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/palli/32/3380_2.png) [@Palli](https://discourse.julialang.org/u/Palli)\
**Post date:** [October 30, 2023, 5:23pm UTC](https://discourse.julialang.org/t/api-for-fb-prophet-model/74138/11 "2023-10-30T17:23:44Z")

</div>

> [@torfjelde](#):
>
> It’s in a _very_ raw form atm, but at least it’s something we can work with. We might want to make it more similar to Python’s prophet

> [@torfjelde](#):
>
> Try setting `ENV["PYTHON"] = ""` and rebuild to make it use the julia-specific Conda installation.

One possibility as with calling any Python project would be to migrate to PythonCall.jl for transparent installation. It’s good for dependencies.

You want to get rid of Python however, I guess then the Python project is wrapping something you could wrap directly, though calling Python do do that is likely not a problem.

More importantly, while I thought FB’s Prophet interesting, maybe state-of-the-art for some time series-prediction at the time, I doubt is is any more. Unless something changed. Has it been updated, is it still good enough, and I think it was also chosen for usability reasons by many users. I would really want to know what is (currently considered) best and easiest for good (neural network-based) time-series prediction.

---

<div class="post-metadata">

**Author:** ![bparbhu](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/bparbhu/32/4545_2.png) [@bparbhu](https://discourse.julialang.org/u/bparbhu)\
**Post date:** [May 6, 2026, 2:11am UTC](https://discourse.julialang.org/t/api-for-fb-prophet-model/74138/13 "2026-05-06T02:11:52Z")

</div>

I think I might be close I have this up [GitHub - bparbhu/Prophet.jl: Julia version of the Facebook prophet tool · GitHub](https://github.com/bparbhu/Prophet.jl). Working on reproducing the examples in the python version of prophet. This will also have a backend for Turing and a Bayesian Neural Network backend utilizing turing and flux. I used Stan.jl to primarily put this together. Still working on it but I’ll give an update soon.
